path: root/Documentation/technical/directory-rename-detection.txt
AgeCommit message (Collapse)Author
2020-10-16t6423: more involved rules for renaming directories into each otherElijah Newren
Testcases 12b and 12c were both slightly weird; they were marked as having a weird resolution, but with the note that even straightforward simple rules can give weird results when the input is bizarre. However, during optimization work for merge-ort, I discovered a significant speedup that is possible if we add one more fairly straightforward rule: we don't bother doing directory rename detection if there are no new files added to the directory on the other side of the history to be affected by the directory rename. This seems like an obvious and straightforward rule, but there was one funny corner case where directory rename detection could affect only existing files: the funny corner case where two directories are renamed into each other on opposite sides of history. In other words, it only results in a different output for testcases 12b and 12c. Since we already thought testcases 12b and 12c were weird anyway, and because the optimization often has a significant effect on common cases (but is entirely prevented if we can't change how 12b and 12c function), let's add the additional rule and tweak how 12b and 12c work. Split both testcases into two (one where we add no new files, and one where the side that doesn't rename a given directory will add files to it), and mark them with the new expectation. Signed-off-by: Elijah Newren <> Signed-off-by: Junio C Hamano <>
2020-10-16t6423: update directory rename detection tests with new ruleElijah Newren
While investigating the issues highlighted by the testcase in the previous patch, I also found a shortcoming in the directory rename detection rules. Split testcase 6b into two to explain this issue and update directory-rename-detection.txt to remove one of the previous rules that I know believe to be detrimental. Also, update the wording around testcase 8e; while we are not modifying the results of that testcase, we were previously unsure of the appropriate resolution of that test and the new rule makes the previously chosen resolution for that testcase a bit more solid. Signed-off-by: Elijah Newren <> Signed-off-by: Junio C Hamano <>
2020-10-16directory-rename-detection.txt: update references to regression testsElijah Newren
The regression tests for directory rename detection were renamed from t6043 to t6423 in commit 919df31955 ("Collect merge-related tests to t64xx", 2020-08-10); update this file to match. Also, add a small clarification to nearby text while we're at it. Signed-off-by: Elijah Newren <> Signed-off-by: Junio C Hamano <>
2019-04-09Merge branch 'ja/dir-rename-doc-markup-fix'Junio C Hamano
Doc update. * ja/dir-rename-doc-markup-fix: Doc: fix misleading asciidoc formating
2019-03-05Doc: fix misleading asciidoc formatingJean-Noël Avila
The end of sentence in "x." at the begining of a line misleads ascidoctor into interpreting it as the start of numbered sub-list. Signed-off-by: Jean-Noël Avila <> Signed-off-by: Junio C Hamano <>
2018-06-27directory-rename-detection.txt: technical docs on abilities and limitationsElijah Newren
Signed-off-by: Elijah Newren <> Signed-off-by: Junio C Hamano <>
2018-06-27git-rebase.txt: document behavioral differences between modesElijah Newren
There are a variety of aspects that are common to all rebases regardless of which backend is in use; however, the behavior for these different aspects varies in ways that could surprise users. (In fact, it's not clear -- to me at least -- that these differences were even desirable or intentional.) Document these differences. Signed-off-by: Elijah Newren <> Signed-off-by: Junio C Hamano <>