Browse Source

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>
maint
Junio C Hamano 17 years ago
parent
commit
d616a23964
  1. 8
      builtin-commit.c

8
builtin-commit.c

@ -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);

Loading…
Cancel
Save