Re: [PATCH] Make 'rerere forget' work from a subdirectory.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Johannes Sixt <j.sixt@xxxxxxxxxxxxx> writes:

> From: Johannes Sixt <j6t@xxxxxxxx>
>
> It forgot to apply the prefix to the paths given on the command line.
>
> Signed-off-by: Johannes Sixt <j6t@xxxxxxxx>

Thanks; will squash this in (which fails without and passes with your patch). 

 t/t2030-unresolve-info.sh |   71 +++++++++++++++++++++++++++++++--------------
 1 files changed, 49 insertions(+), 22 deletions(-)

diff --git a/t/t2030-unresolve-info.sh b/t/t2030-unresolve-info.sh
index a38bd6d..cb7effe 100755
--- a/t/t2030-unresolve-info.sh
+++ b/t/t2030-unresolve-info.sh
@@ -36,21 +36,22 @@ prime_resolve_undo () {
 	test_must_fail git merge third^0 &&
 	echo merge does not leave anything &&
 	check_resolve_undo empty &&
-	echo different >file &&
-	git add file &&
+	echo different >fi/le &&
+	git add fi/le &&
 	echo resolving records &&
-	check_resolve_undo recorded file initial:file second:file third:file
+	check_resolve_undo recorded fi/le initial:fi/le second:fi/le third:fi/le
 }
 
 test_expect_success setup '
-	test_commit initial file first &&
+	mkdir fi &&
+	test_commit initial fi/le first &&
 	git branch side &&
 	git branch another &&
-	test_commit second file second &&
+	test_commit second fi/le second &&
 	git checkout side &&
-	test_commit third file third &&
+	test_commit third fi/le third &&
 	git checkout another &&
-	test_commit fourth file fourth &&
+	test_commit fourth fi/le fourth &&
 	git checkout master
 '
 
@@ -59,7 +60,7 @@ test_expect_success 'add records switch clears' '
 	test_tick &&
 	git commit -m merged &&
 	echo committing keeps &&
-	check_resolve_undo kept file initial:file second:file third:file &&
+	check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le &&
 	git checkout second^0 &&
 	echo switching clears &&
 	check_resolve_undo cleared
@@ -70,15 +71,15 @@ test_expect_success 'rm records reset clears' '
 	test_tick &&
 	git commit -m merged &&
 	echo committing keeps &&
-	check_resolve_undo kept file initial:file second:file third:file &&
+	check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le &&
 
 	echo merge clears upfront &&
 	test_must_fail git merge fourth^0 &&
 	check_resolve_undo nuked &&
 
-	git rm -f file &&
+	git rm -f fi/le &&
 	echo resolving records &&
-	check_resolve_undo recorded file initial:file HEAD:file fourth:file &&
+	check_resolve_undo recorded fi/le initial:fi/le HEAD:fi/le fourth:fi/le &&
 
 	git reset --hard &&
 	echo resetting discards &&
@@ -90,7 +91,7 @@ test_expect_success 'plumbing clears' '
 	test_tick &&
 	git commit -m merged &&
 	echo committing keeps &&
-	check_resolve_undo kept file initial:file second:file third:file &&
+	check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le &&
 
 	echo plumbing clear &&
 	git update-index --clear-resolve-undo &&
@@ -100,7 +101,7 @@ test_expect_success 'plumbing clears' '
 test_expect_success 'add records checkout -m undoes' '
 	prime_resolve_undo &&
 	git diff HEAD &&
-	git checkout --conflict=merge file &&
+	git checkout --conflict=merge fi/le &&
 	echo checkout used the record and removed it &&
 	check_resolve_undo removed &&
 	echo the index and the work tree is unmerged again &&
@@ -110,12 +111,12 @@ test_expect_success 'add records checkout -m undoes' '
 
 test_expect_success 'unmerge with plumbing' '
 	prime_resolve_undo &&
-	git update-index --unresolve file &&
+	git update-index --unresolve fi/le &&
 	git ls-files -u >actual &&
 	test $(wc -l <actual) = 3
 '
 
-test_expect_success 'rerere and rerere --forget' '
+test_expect_success 'rerere and rerere forget' '
 	mkdir .git/rr-cache &&
 	prime_resolve_undo &&
 	echo record the resolution &&
@@ -123,20 +124,46 @@ test_expect_success 'rerere and rerere --forget' '
 	rerere_id=$(cd .git/rr-cache && echo */postimage) &&
 	rerere_id=${rerere_id%/postimage} &&
 	test -f .git/rr-cache/$rerere_id/postimage &&
-	git checkout -m file &&
+	git checkout -m fi/le &&
 	echo resurrect the conflict &&
-	grep "^=======" file &&
+	grep "^=======" fi/le &&
 	echo reresolve the conflict &&
 	git rerere &&
-	test "z$(cat file)" = zdifferent &&
+	test "z$(cat fi/le)" = zdifferent &&
 	echo register the resolution again &&
-	git add file &&
-	check_resolve_undo kept file initial:file second:file third:file &&
+	git add fi/le &&
+	check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le &&
 	test -z "$(git ls-files -u)" &&
-	git rerere forget file &&
+	git rerere forget fi/le &&
 	! test -f .git/rr-cache/$rerere_id/postimage &&
 	tr "\0" "\n" <.git/MERGE_RR >actual &&
-	echo "$rerere_id	file" >expect &&
+	echo "$rerere_id	fi/le" >expect &&
+	test_cmp expect actual
+'
+
+test_expect_success 'rerere and rerere forget (subdirectory)' '
+	rm -fr .git/rr-cache &&
+	mkdir .git/rr-cache &&
+	prime_resolve_undo &&
+	echo record the resolution &&
+	(cd fi && git rerere) &&
+	rerere_id=$(cd .git/rr-cache && echo */postimage) &&
+	rerere_id=${rerere_id%/postimage} &&
+	test -f .git/rr-cache/$rerere_id/postimage &&
+	(cd fi && git checkout -m le) &&
+	echo resurrect the conflict &&
+	grep "^=======" fi/le &&
+	echo reresolve the conflict &&
+	(cd fi && git rerere) &&
+	test "z$(cat fi/le)" = zdifferent &&
+	echo register the resolution again &&
+	(cd fi && git add le) &&
+	check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le &&
+	test -z "$(git ls-files -u)" &&
+	(cd fi && git rerere forget le) &&
+	! test -f .git/rr-cache/$rerere_id/postimage &&
+	tr "\0" "\n" <.git/MERGE_RR >actual &&
+	echo "$rerere_id	fi/le" >expect &&
 	test_cmp expect actual
 '
 
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]