Dragan Simic <dsimic@xxxxxxxxxxx> writes: > Hello James, > ... >> Range-diff against v3: >> 1: 55d5559586 < -: ---------- advice: add --no-advice global option >> -: ---------- > 1: ae3f45dadc doc: clean up usage documentation for >> --no-* opts >> -: ---------- > 2: 1b0019026a doc: add spacing around paginate >> options >> -: ---------- > 3: 31e73e6c0e advice: add --no-advice global option > > Just a small suggestion... Perhaps the creation factor needs adjusting > for the range diff to actually be produced. To be clear, I don't mind > that it's missing here. I see this happen to too many series I see on the list. There are cases when the user knows that they are comparing an old and a new iterations of the same series, e.g. running it from format-patch. We probably should use a much higher creation factor than default to run range-diff in such a context. IOW, this shouldn't have to be done by individual users, but by the tool. When I do a post-am check myself, I often use --creation-factor=999 to force matching. Perhaps something along this line may not be a bad idea. ----- >8 --------- >8 --------- >8 --------- >8 ----- Subject: [PATCH] format-patch: run range-diff with larger creation-factor We see too often that a range-diff added to format-patch output shows too many "unmatched" patches. This is because the default value for creation-factor is set to a relatively low value. It may be justified for other uses (like you have a yet-to-be-sent new iteration of your series, and compare it against the 'seen' branch that has an older iteration, probably with the '--left-only' option, to pick out only your patches while ignoring the others) of "range-diff" command, but when the command is run as part of the format-patch, the user _knows_ and expects that the patches in the old and the new iterations roughly correspond to each other, so we can and should use a much higher default. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- builtin/log.c | 2 +- range-diff.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git c/builtin/log.c w/builtin/log.c index 4da7399905..7a019476c3 100644 --- c/builtin/log.c +++ w/builtin/log.c @@ -2294,7 +2294,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) } if (creation_factor < 0) - creation_factor = RANGE_DIFF_CREATION_FACTOR_DEFAULT; + creation_factor = CREATION_FACTOR_FOR_THE_SAME_SERIES; else if (!rdiff_prev) die(_("the option '%s' requires '%s'"), "--creation-factor", "--range-diff"); diff --git c/range-diff.h w/range-diff.h index 04ffe217be..2f69f6a434 100644 --- c/range-diff.h +++ w/range-diff.h @@ -6,6 +6,12 @@ #define RANGE_DIFF_CREATION_FACTOR_DEFAULT 60 +/* + * A much higher value than the default, when we KNOW we are comparing + * the same series (e.g., used when format-patch calls range-diff). + */ +#define CREATION_FACTOR_FOR_THE_SAME_SERIES 999 + struct range_diff_options { int creation_factor; unsigned dual_color:1;