Message ID | 00a2072baea435060b525b3907121bdf980461e9.1626309924.git.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 9dd29dbef01e39fe9df81ad9e5e193128d8c5ad5 |
Headers | show |
Series | Rename/copy limits -- docs, warnings, and new defaults | expand |
"Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> writes: > diff --git a/diffcore-rename.c b/diffcore-rename.c > index 3375e24659e..513ba7b05f1 100644 > --- a/diffcore-rename.c > +++ b/diffcore-rename.c > @@ -1021,7 +1021,7 @@ static int too_many_rename_candidates(int num_destinations, int num_sources, > * memory for the matrix anyway. > */ > if (rename_limit <= 0) > - rename_limit = 32767; > + return 0; /* treat as unlimited */ OK. As this short-cuts, the impact a non-positive value may have on all the remainder of the function (like limit squared must be larger than the matrix) would not have to be compensated for. Very simple and clean. > if (st_mult(num_destinations, num_sources) > <= st_mult(rename_limit, rename_limit)) > return 0;
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 58acfff9289..0aebe832057 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -598,6 +598,7 @@ of a delete/create pair. prevents the exhaustive portion of rename/copy detection from running if the number of source/destination files involved exceeds the specified number. Defaults to diff.renameLimit. + Note that a value of 0 is treated as unlimited. ifndef::git-format-patch[] --diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]:: diff --git a/diffcore-rename.c b/diffcore-rename.c index 3375e24659e..513ba7b05f1 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -1021,7 +1021,7 @@ static int too_many_rename_candidates(int num_destinations, int num_sources, * memory for the matrix anyway. */ if (rename_limit <= 0) - rename_limit = 32767; + return 0; /* treat as unlimited */ if (st_mult(num_destinations, num_sources) <= st_mult(rename_limit, rename_limit)) return 0;