diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-12-25 20:57:11 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-12-26 02:10:10 +0100 |
commit | 4421a8235783d0664faa9a1d45be114fd7ad8206 (patch) | |
tree | 90505e56f05e1125140a21516a19667176da6e73 /t | |
parent | resolve-undo: allow plumbing to clear the information (diff) | |
download | git-4421a8235783d0664faa9a1d45be114fd7ad8206.tar.xz git-4421a8235783d0664faa9a1d45be114fd7ad8206.zip |
resolve-undo: "checkout -m path" uses resolve-undo information
Once you resolved conflicts by "git add path", you cannot recreate the
conflicted state with "git checkout -m path", because you lost information
from higher stages in the index when you resolved them.
Since we record the necessary information in the resolve-undo index
extension these days, we can reproduce the unmerged state in the index and
check it out.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t2030-unresolve-info.sh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/t/t2030-unresolve-info.sh b/t/t2030-unresolve-info.sh index 984480271c..ea65f391c1 100755 --- a/t/t2030-unresolve-info.sh +++ b/t/t2030-unresolve-info.sh @@ -97,4 +97,15 @@ test_expect_success 'plumbing clears' ' check_resolve_undo cleared ' +test_expect_success 'add records checkout -m undoes' ' + prime_resolve_undo && + git diff HEAD && + git checkout --conflict=merge file && + echo checkout used the record and removed it && + check_resolve_undo removed && + echo the index and the work tree is unmerged again && + git diff >actual && + grep "^++<<<<<<<" actual +' + test_done |