[PATCH v4 0/2] nd/merge-quit updates
Another round because apparently the test case is not perfect.
Nguyễn Thái Ngọc Duy (2):
merge: remove drop_save() in favor of remove_merge_branch_state()
merge: add --quit
Documentation/git-merge.txt | 4 ++++
branch.c | 11 ++++++++---
branch.h | 6 ++++++
builtin/merge.c | 30 ++++++++++++++++++------------
t/t7600-merge.sh | 26 ++++++++++++++++++++++++++
5 files changed, 62 insertions(+), 15 deletions(-)
Interdiff dựa trên v3:
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index d453710ef6..625a24a980 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -823,17 +823,29 @@ test_expect_success EXECKEEPSPID 'killed merge can be completed with --continue'
'
test_expect_success 'merge --quit' '
- git reset --hard c2 &&
- test_must_fail git -c rerere.enabled=true merge master &&
- test_path_is_file .git/MERGE_HEAD &&
- test_path_is_file .git/MERGE_MODE &&
- test_path_is_file .git/MERGE_MSG &&
- test_path_is_file .git/MERGE_RR &&
- git merge --quit &&
- test_path_is_missing .git/MERGE_HEAD &&
- test_path_is_missing .git/MERGE_MODE &&
- test_path_is_missing .git/MERGE_MSG &&
- test_path_is_missing .git/MERGE_RR
+ git init merge-quit &&
+ (
+ cd merge-quit &&
+ test_commit base &&
+ echo one >>base.t &&
+ git commit -am one &&
+ git branch one &&
+ git checkout base &&
+ echo two >>base.t &&
+ git commit -am two &&
+ test_must_fail git -c rerere.enabled=true merge one &&
+ test_path_is_file .git/MERGE_HEAD &&
+ test_path_is_file .git/MERGE_MODE &&
+ test_path_is_file .git/MERGE_MSG &&
+ git rerere status >rerere.before &&
+ git merge --quit &&
+ test_path_is_missing .git/MERGE_HEAD &&
+ test_path_is_missing .git/MERGE_MODE &&
+ test_path_is_missing .git/MERGE_MSG &&
+ git rerere status >rerere.after &&
+ test_must_be_empty rerere.after &&
+ ! test_cmp rerere.after rerere.before
+ )
'
test_done
--
2.22.0.rc0.322.g2b0371e29a