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>
This commit is contained in:
@ -374,7 +374,7 @@ static int prepare_log_message(const char *index_file, const char *prefix)
|
|||||||
|
|
||||||
if (no_edit) {
|
if (no_edit) {
|
||||||
struct rev_info rev;
|
struct rev_info rev;
|
||||||
unsigned char sha1[40];
|
unsigned char sha1[20];
|
||||||
const char *parent = "HEAD";
|
const char *parent = "HEAD";
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
@ -382,12 +382,12 @@ static int prepare_log_message(const char *index_file, const char *prefix)
|
|||||||
if (!active_nr && read_cache() < 0)
|
if (!active_nr && read_cache() < 0)
|
||||||
die("Cannot read index");
|
die("Cannot read index");
|
||||||
|
|
||||||
if (get_sha1("HEAD", sha1) != 0)
|
|
||||||
return !!active_nr;
|
|
||||||
|
|
||||||
if (amend)
|
if (amend)
|
||||||
parent = "HEAD^1";
|
parent = "HEAD^1";
|
||||||
|
|
||||||
|
if (get_sha1(parent, sha1))
|
||||||
|
return !!active_nr;
|
||||||
|
|
||||||
init_revisions(&rev, "");
|
init_revisions(&rev, "");
|
||||||
rev.abbrev = 0;
|
rev.abbrev = 0;
|
||||||
setup_revisions(0, NULL, &rev, parent);
|
setup_revisions(0, NULL, &rev, parent);
|
||||||
|
Reference in New Issue
Block a user