Turn off directory rename detection in am -3
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest3 patches 7 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | t3401: add another directory rename testcase for rebase and amt/ | +109 | 4 replies | |
| 2/3 | merge-recursive: add ability to turn off directory rename detectionmerge-recursive.c merge-recursive.h | +14 | 2 replies | |
| 3/3 | am: avoid directory rename detection when calling recursive merge machinerybuiltin/ t/ | +3 | 1 reply |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/3] Turn off directory rename detection in am -3
Quoted 9 lines · Junio C Hamano
Quoted 2 lines · Elijah Newren
- Add a flag to turn off directory rename detection, and set the
flag for every call fromam.cin order to avoid problems like this.I'd say this is the only practical solution, before you deprecate the "pipe format-patch output to am -3" style of "git rebase" (and optionally replace with something else).
Quoted 8 lines
The whole point of "am -3" is to do _better_ than just "patch" with minimum amount of information available on the pre- and post- image blobs, without knowing the remainder of the tree that the patch did not touch. It is not surprising that the heuristics that look at the unchanging part of the tree to infer renames that may or may not exist guesses incorrectly, either with false positive or negative. In the context of "rebase", we always have all the trees that are involved. We should be able to do better than "am -3".
Here are patches to do so; they are built on the top of en/rebase-consistency, since I wanted to re-use some test code and the testfile introduced in that series, and to keep similar tests together.
Elijah Newren (3):
t3401: add another directory rename testcase for rebase and am
merge-recursive: add ability to turn off directory rename detection
am: avoid directory rename detection when calling recursive merge
machinery
builtin/am.c | 1 + merge-recursive.c | 18 ++++-- merge-recursive.h | 1 + t/t3401-rebase-and-am-rename.sh | 110 +++++++++++++++++++++++++++++++- 4 files changed, 124 insertions(+), 6 deletions(-)
Signature · 1 line
2.18.0.12.g97a29da30a