Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 50 lines (40 sloc) 1.41 kb
test_description='checkout -m -- <conflicted path>
Ensures that checkout -m on a resolved file restores the conflicted file'
. ./
test_expect_success setup '
test_tick &&
test_commit both.txt both.txt initial &&
git branch topic &&
test_commit modified_in_master both.txt in_master &&
test_commit added_in_master each.txt in_master &&
git checkout topic &&
test_commit modified_in_topic both.txt in_topic &&
test_commit added_in_topic each.txt in_topic
test_expect_success 'git merge master' '
test_must_fail git merge master
clean_branchnames () {
# Remove branch names after conflict lines
sed 's/^\([<>]\{5,\}\) .*$/\1/'
test_expect_success '-m restores 2-way conflicted+resolved file' '
cp each.txt each.txt.conflicted &&
echo resolved >each.txt &&
git add each.txt &&
git checkout -m -- each.txt &&
clean_branchnames <each.txt >each.txt.cleaned &&
clean_branchnames <each.txt.conflicted >each.txt.conflicted.cleaned &&
test_cmp each.txt.conflicted.cleaned each.txt.cleaned
test_expect_success '-m restores 3-way conflicted+resolved file' '
cp both.txt both.txt.conflicted &&
echo resolved >both.txt &&
git add both.txt &&
git checkout -m -- both.txt &&
clean_branchnames <both.txt >both.txt.cleaned &&
clean_branchnames <both.txt.conflicted >both.txt.conflicted.cleaned &&
test_cmp both.txt.conflicted.cleaned both.txt.cleaned
Jump to Line
Something went wrong with that request. Please try again.