Re: [PATCH v5 00/34] Add directory rename detection to git
From: Johannes Sixt <hidden>
Date: 2018-01-03 10:57:25
Subsystem:
the rest · Maintainer:
Linus Torvalds
Am 03.01.2018 um 01:02 schrieb Elijah Newren:
On Wed, Dec 27, 2017 at 8:13 PM, Elijah Newren [off-list ref] wrote:quoted
This patchset introduces directory rename detection to merge-recursive. See https://public-inbox.org/git/20171110190550.27059-1-newren@gmail.com/ for the first series (including design considerations, etc.), and follow-up series can be found at https://public-inbox.org/git/20171120220209.15111-1-newren@gmail.com/ https://public-inbox.org/git/20171121080059.32304-1-newren@gmail.com/ https://public-inbox.org/git/20171129014237.32570-1-newren@gmail.com/ Changes since v4: * Squashed Junio's GETTEXT_POISON fixes into the appropriate commitsAs per Jonathan's request[1], shamelessly re-sending Stefan's request for further review. :-) Quoting Stefan: "I have reviewed the first three patches (which could form an independent series) that it would warrant a Reviewed-By: Stefan Beller [off-list ref] While I reviewed the earlier versions of the later patches, I would prefer if there is another reviewer for these as it seems like a bigger contribution at a core functionality. I cc'd some people who were active in some form of rename detection work earlier; could you review this series, please?" My note: Stefan also looked through the testcases pretty closely and even suggested additional tests, which would account for another 11 patches or so, but extra eyes on any part of the series always welcome.
I tested the series on Windows recently. It requires the patch below. I don't know whether this is indicating some portability issues of grep (^ being used in the middle of a RE instead of at the very beginning) or just a quirk in my setup. But it still does not pass the test suite because the system does not like file names such as y/c~HEAD: ++ grep 'Refusing to lose dirty file at z/c' out Refusing to lose dirty file at z/c ++ grep -q stuff x/b y/a y/c y/c~HEAD z/c grep: y/c: Invalid request code error: last command exited with $?=2 not ok 94 - 11d-check: Avoid losing not-uptodate with rename + D/F conflict I haven't debugged this any further, yet. ---- 8< ---- From: Johannes Sixt <redacted> Date: Fri, 22 Dec 2017 09:33:13 +0100 Subject: [PATCH] fixup directory rename tests Signed-off-by: Johannes Sixt <redacted> --- t/t6043-merge-rename-directories.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/t/t6043-merge-rename-directories.sh b/t/t6043-merge-rename-directories.sh
index f0af66b8a9..b8cd428341 100755
--- a/t/t6043-merge-rename-directories.sh
+++ b/t/t6043-merge-rename-directories.sh@@ -2940,8 +2940,8 @@ test_expect_success '10b-check: Overwrite untracked with dir rename + delete' ' echo contents >y/e && test_must_fail git merge -s recursive B^0 >out 2>err && - test_i18ngrep "CONFLICT (rename/delete).*Version B^0 of y/d left in tree at y/d~B^0" out && - test_i18ngrep "Error: Refusing to lose untracked file at y/e; writing to y/e~B^0 instead" out && + test_i18ngrep "CONFLICT (rename/delete).*Version B\^0 of y/d left in tree at y/d~B\^0" out && + test_i18ngrep "Error: Refusing to lose untracked file at y/e; writing to y/e~B\^0 instead" out && test 3 -eq $(git ls-files -s | wc -l) && test 2 -eq $(git ls-files -u | wc -l) &&
@@ -3010,7 +3010,7 @@ test_expect_success '10c-check: Overwrite untracked with dir rename/rename(1to2) test_must_fail git merge -s recursive B^0 >out 2>err && test_i18ngrep "CONFLICT (rename/rename)" out && - test_i18ngrep "Refusing to lose untracked file at y/c; adding as y/c~B^0 instead" out && + test_i18ngrep "Refusing to lose untracked file at y/c; adding as y/c~B\^0 instead" out && test 6 -eq $(git ls-files -s | wc -l) && test 3 -eq $(git ls-files -u | wc -l) &&
--
2.14.2.808.g3bc32f2729