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