mirror of
https://github.com/git/git
synced 2024-11-05 01:58:18 +00:00
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@pobox.com>
This commit is contained in:
parent
786a3e4b8d
commit
c22d41d641
3 changed files with 12 additions and 1 deletions
|
@ -346,6 +346,11 @@ material (this may change in the future).
|
||||||
between the previous and current series of patches by adjusting the
|
between the previous and current series of patches by adjusting the
|
||||||
creation/deletion cost fudge factor. See linkgit:git-range-diff[1])
|
creation/deletion cost fudge factor. See linkgit:git-range-diff[1])
|
||||||
for details.
|
for details.
|
||||||
|
+
|
||||||
|
Defaults to 999 (the linkgit:git-range-diff[1] uses 60), as the use
|
||||||
|
case is to show comparison with an older iteration of the same
|
||||||
|
topic and the tool should find more correspondence between the two
|
||||||
|
sets of patches.
|
||||||
|
|
||||||
--notes[=<ref>]::
|
--notes[=<ref>]::
|
||||||
--no-notes::
|
--no-notes::
|
||||||
|
|
|
@ -2274,7 +2274,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (creation_factor < 0)
|
if (creation_factor < 0)
|
||||||
creation_factor = RANGE_DIFF_CREATION_FACTOR_DEFAULT;
|
creation_factor = CREATION_FACTOR_FOR_THE_SAME_SERIES;
|
||||||
else if (!rdiff_prev)
|
else if (!rdiff_prev)
|
||||||
die(_("the option '%s' requires '%s'"), "--creation-factor", "--range-diff");
|
die(_("the option '%s' requires '%s'"), "--creation-factor", "--range-diff");
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,12 @@
|
||||||
|
|
||||||
#define RANGE_DIFF_CREATION_FACTOR_DEFAULT 60
|
#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 {
|
struct range_diff_options {
|
||||||
int creation_factor;
|
int creation_factor;
|
||||||
unsigned dual_color:1;
|
unsigned dual_color:1;
|
||||||
|
|
Loading…
Reference in a new issue