summaryrefslogtreecommitdiffstats
path: root/gitdiffcore.html
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-03-02 23:07:49 -0800
committerJunio C Hamano <gitster@pobox.com>2021-03-02 23:07:49 -0800
commitb66f8a5b45f896b6a49ddc1a1b10518671dbfa60 (patch)
tree9889c649f0e3f51c138862042531cf77a23d8284 /gitdiffcore.html
parenta372d5bb569776befd395d9c66067ecc09f13b96 (diff)
downloadgit-htmldocs-b66f8a5b45f896b6a49ddc1a1b10518671dbfa60.tar.gz
Autogenerated HTML docs for v2.31.0-rc1
Diffstat (limited to 'gitdiffcore.html')
-rw-r--r--gitdiffcore.html21
1 files changed, 20 insertions, 1 deletions
diff --git a/gitdiffcore.html b/gitdiffcore.html
index 7fe36ab8a..bfb02082e 100644
--- a/gitdiffcore.html
+++ b/gitdiffcore.html
@@ -936,6 +936,25 @@ files are "similar enough", and can be customized to use
a similarity score different from the default of 50% by giving a
number after the "-M" or "-C" option (e.g. "-M8" to tell it to use
8/10 = 80%).</p></div>
+<div class="paragraph"><p>Note that when rename detection is on but both copy and break
+detection are off, rename detection adds a preliminary step that first
+checks if files are moved across directories while keeping their
+filename the same. If there is a file added to a directory whose
+contents is sufficiently similar to a file with the same name that got
+deleted from a different directory, it will mark them as renames and
+exclude them from the later quadratic step (the one that pairwise
+compares all unmatched files to find the "best" matches, determined by
+the highest content similarity). So, for example, if a deleted
+docs/ext.txt and an added docs/config/ext.txt are similar enough, they
+will be marked as a rename and prevent an added docs/ext.md that may
+be even more similar to the deleted docs/ext.txt from being considered
+as the rename destination in the later step. For this reason, the
+preliminary "match same filename" step uses a bit higher threshold to
+mark a file pair as a rename and stop considering other candidates for
+better matches. At most, one comparison is done per file in this
+preliminary pass; so if there are several remaining ext.txt files
+throughout the directory hierarchy after exact rename detection, this
+preliminary step will be skipped for those files.</p></div>
<div class="paragraph"><p>Note. When the "-C" option is used with <code>--find-copies-harder</code>
option, <em>git diff-&#42;</em> commands feed unmodified filepairs to
diffcore mechanism as well as modified ones. This lets the copy
@@ -1089,7 +1108,7 @@ not sorted when diffcore-order is in effect.</p></div>
<div id="footer">
<div id="footer-text">
Last updated
- 2021-02-25 17:29:29 PST
+ 2021-03-02 23:05:01 PST
</div>
</div>
</body>