am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
The post-rewrite hook is supposed to be invoked for each rewritten commit. The fact that a commit was selected and processed by the rebase operation (even though when we hit an error a user said it had no more useful changes), suggests we should write an entry for it. In particular, let's treat it as an empty commit trivially squashed into its parent. This brings the rebase--am and rebase--merge backends in sync with the behavior of the interactive rebase backend. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
5400677903
commit
45339f74ef
@ -2000,6 +2000,15 @@ static void am_skip(struct am_state *state)
|
||||
if (clean_index(&head, &head))
|
||||
die(_("failed to clean index"));
|
||||
|
||||
if (state->rebasing) {
|
||||
FILE *fp = xfopen(am_path(state, "rewritten"), "a");
|
||||
|
||||
assert(!is_null_oid(&state->orig_commit));
|
||||
fprintf(fp, "%s ", oid_to_hex(&state->orig_commit));
|
||||
fprintf(fp, "%s\n", oid_to_hex(&head));
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
am_next(state);
|
||||
am_load(state);
|
||||
am_run(state, 0);
|
||||
|
Reference in New Issue
Block a user