if (no_edit) {
struct rev_info rev;
unsigned char sha1[40];
+ const char *parent = "HEAD";
fclose(fp);
if (get_sha1("HEAD", sha1) != 0)
return !!active_nr;
+ if (amend)
+ parent = "HEAD^1";
+
init_revisions(&rev, "");
rev.abbrev = 0;
- setup_revisions(0, NULL, &rev, "HEAD");
+ setup_revisions(0, NULL, &rev, parent);
DIFF_OPT_SET(&rev.diffopt, QUIET);
DIFF_OPT_SET(&rev.diffopt, EXIT_WITH_STATUS);
run_diff_index(&rev, 1 /* cached */);
rev.show_root_diff = 1;
rev.commit_format = get_commit_format("format:%h: %s");
rev.always_show_header = 0;
+ rev.diffopt.detect_rename = 1;
+ rev.diffopt.rename_limit = 100;
+ rev.diffopt.break_opt = 0;
+ diff_setup_done(&rev.diffopt);
printf("Created %scommit ", initial_commit ? "initial " : "");