summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sequencer.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sequencer.c b/sequencer.c
index 4e3af82442..72cb4ff82c 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -261,9 +261,17 @@ static int is_index_unchanged(void)
return error(_("Could not resolve HEAD commit\n"));
head_commit = lookup_commit(head_sha1);
- if (!head_commit || parse_commit(head_commit))
- return error(_("could not parse commit %s\n"),
- sha1_to_hex(head_commit->object.sha1));
+
+ /*
+ * If head_commit is NULL, check_commit, called from
+ * lookup_commit, would have indicated that head_commit is not
+ * a commit object already. parse_commit() will return failure
+ * without further complaints in such a case. Otherwise, if
+ * the commit is invalid, parse_commit() will complain. So
+ * there is nothing for us to say here. Just return failure.
+ */
+ if (parse_commit(head_commit))
+ return -1;
if (!active_cache_tree)
active_cache_tree = cache_tree();