aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-12-22 19:22:29 -0800
committerJunio C Hamano <gitster@pobox.com>2007-12-22 19:45:06 -0800
commitd616a2396456fdb6679efa0c0bee301aeb606ca8 (patch)
tree4ea5013508c66ac5307e6fe8b791dbbca758b5ad
parent7263881253acc4c3af8b3131c60da1554b72f8b2 (diff)
downloadgit-d616a2396456fdb6679efa0c0bee301aeb606ca8.tar.gz
git-d616a2396456fdb6679efa0c0bee301aeb606ca8.tar.xz
builtin-commit: fix amending of the initial commit
When amending initial commit without editor, the command incorrectly barfed because the check to see if there is anything to commit referenced the non-existent HEAD^1. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-commit.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/builtin-commit.c b/builtin-commit.c
index 96410de55..eebd4cf06 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -374,7 +374,7 @@ static int prepare_log_message(const char *index_file, const char *prefix)
if (no_edit) {
struct rev_info rev;
- unsigned char sha1[40];
+ unsigned char sha1[20];
const char *parent = "HEAD";
fclose(fp);
@@ -382,12 +382,12 @@ static int prepare_log_message(const char *index_file, const char *prefix)
if (!active_nr && read_cache() < 0)
die("Cannot read index");
- if (get_sha1("HEAD", sha1) != 0)
- return !!active_nr;
-
if (amend)
parent = "HEAD^1";
+ if (get_sha1(parent, sha1))
+ return !!active_nr;
+
init_revisions(&rev, "");
rev.abbrev = 0;
setup_revisions(0, NULL, &rev, parent);