We weren't flushing the context each time we processed a hunk in the
patch-id generation code in diff.c, but we were doing that when we
generated "stable" patch-ids with the 'patch-id' tool. Let's port that
similar logic over from patch-id.c into diff.c so we can get the same
hash when we're generating patch-ids for 'format-patch --base=' types of
command invocations.
Cc: Xiaolong Ye <xiaolong.ye@intel.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
@ -583,7 +583,7 @@ of 'base commit' in topological order before the patches can be applied.
@@ -583,7 +583,7 @@ of 'base commit' in topological order before the patches can be applied.
The 'base commit' is shown as "base-commit: " followed by the 40-hex of
the commit object name. A 'prerequisite patch' is shown as
"prerequisite-patch-id: " followed by the 40-hex 'patch id', which can
be obtained by passing the patch through the `git patch-id --unstable`
be obtained by passing the patch through the `git patch-id --stable`
command.
Imagine that on top of the public commit P, you applied well-known
@ -54,22 +55,6 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after)
@@ -54,22 +55,6 @@ static int scan_hunk_header(const char *p, int *p_before, int *p_after)