Olivier Marin <dkr+ml.git@xxxxxxx> writes: > Subject: [PATCH] git am --abort > > To squash. > > Signed-off-by: Olivier Marin <dkr@xxxxxxxxxxx> Thanks. > @@ -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 -- 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