Re: [PATCH] Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"

Subsystems: the rest

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:58

Olivier Marin [off-list ref] writes:
Subject: [PATCH] git am --abort

To squash.

Signed-off-by: Olivier Marin <redacted>
Thanks.
quoted hunk
@@ -203,9 +204,10 @@ then
 
 	case "$abort" in
 	t)
-		rm -fr "$dotest" &&
+		git rerere clear &&
 		git read-tree -m -u ORIG_HEAD &&
-		git reset ORIG_HEAD && :
+		git reset ORIG_HEAD &&
+		rm -fr "$dotest"
 		exit ;;
 	esac
 else
Clearing the rerere information needs to be done, but I think we should
drop the last && to make sure we remove "$dotest" and exit with its exit
status.

I'm happy with the documentation and help-text parts of your patch, but
probably this, on top of 1a6f6bb (git am --abort, 2008-07-16), is more
appropriate?

--- 
 git-am.sh           |    6 +++---
 t/t4151-am-abort.sh |   46 +++++++++++++++++++++++++++-------------------
 2 files changed, 30 insertions(+), 22 deletions(-)
diff --git a/git-am.sh b/git-am.sh
index a44bd7a..5cbf8f4 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -203,9 +203,9 @@ then
 
 	case "$abort" in
 	t)
-		rm -fr "$dotest" &&
-		git read-tree -m -u ORIG_HEAD &&
-		git reset ORIG_HEAD && :
+		git rerere clear
+		git read-tree --reset -u HEAD ORIG_HEAD
+		rm -fr "$dotest"
 		exit ;;
 	esac
 else
diff --git a/t/t4151-am-abort.sh b/t/t4151-am-abort.sh
index 96b2cd5..dda7e2c 100755
--- a/t/t4151-am-abort.sh
+++ b/t/t4151-am-abort.sh
@@ -22,27 +22,35 @@ test_expect_success setup '
 	done &&
 	git format-patch initial &&
 	git checkout -b side initial &&
-	echo local change >file-2 &&
-	cp file-2 file-2-expect
+	echo local change >file-2-expect
 '
 
-test_expect_success 'am stops at a patch that does not apply' '
-	test_must_fail git am 000[124]-*.patch &&
-	git log --pretty=tformat:%s >actual &&
-	for i in 3 2 initial
-	do
-		echo $i
-	done >expect &&
-	test_cmp expect actual
-'
+for with3 in '' ' -3'
+do
+	test_expect_success "am$with3 stops at a patch that does not apply" '
 
-test_expect_success 'am --abort goes back' '
-	git am --abort &&
-	git rev-parse HEAD >actual &&
-	git rev-parse initial >expect &&
-	test_cmp expect actual &&
-	test_cmp file-2-expect file-2 &&
-	git diff-index --exit-code --cached HEAD
-'
+		git reset --hard initial &&
+		cp file-2-expect file-2 &&
+
+		test_must_fail git am$with3 000[124]-*.patch &&
+		git log --pretty=tformat:%s >actual &&
+		for i in 3 2 initial
+		do
+			echo $i
+		done >expect &&
+		test_cmp expect actual
+	'
+
+	test_expect_success "am --abort goes back after failed am$with3" '
+		git-am --abort &&
+		git rev-parse HEAD >actual &&
+		git rev-parse initial >expect &&
+		test_cmp expect actual &&
+		test_cmp file-2-expect file-2 &&
+		git diff-index --exit-code --cached HEAD &&
+		test ! -f .git/rr-cache/MERGE_RR
+	'
+
+done
 
 test_done

Re: [PATCH] Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"

From: Stephan Beyer <hidden>
Date: 2016-06-15 22:44:59

Hi,

Junio C Hamano wrote:
Olivier Marin [off-list ref] writes:
quoted
@@ -203,9 +204,10 @@ then
 
 	case "$abort" in
 	t)
-		rm -fr "$dotest" &&
+		git rerere clear &&
 		git read-tree -m -u ORIG_HEAD &&
[...]
quoted hunk
diff --git a/git-am.sh b/git-am.sh
index a44bd7a..5cbf8f4 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -203,9 +203,9 @@ then
 
 	case "$abort" in
 	t)
-		rm -fr "$dotest" &&
-		git read-tree -m -u ORIG_HEAD &&
-		git reset ORIG_HEAD && :
+		git rerere clear
+		git read-tree --reset -u HEAD ORIG_HEAD
Perhaps I am confused, but ...
Why is there "HEAD" and "ORIG_HEAD" and not only "ORIG_HEAD"?

Regards.

-- 
Stephan Beyer [off-list ref], PGP 0x6EDDD207FCC5040F
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help