builtin-commit: fix amending of the initial commit
[gitweb.git] / builtin-commit.c
index 96410de55ddbc52eb116049b4f6a2792a5386cb4..eebd4cf066852e5113d2dc339f7853a3f3752f30 100644 (file)
@@ -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);