|
|
|
@ -27,4 +27,64 @@ test_expect_success 'reset should work' '
@@ -27,4 +27,64 @@ test_expect_success 'reset should work' '
|
|
|
|
|
test_cmp expect actual |
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
test_expect_success 'reset should remove remnants from a failed merge' ' |
|
|
|
|
git read-tree --reset -u HEAD && |
|
|
|
|
git ls-files -s >expect && |
|
|
|
|
sha1=$(git rev-parse :new) && |
|
|
|
|
( |
|
|
|
|
echo "100644 $sha1 1 old" |
|
|
|
|
echo "100644 $sha1 3 old" |
|
|
|
|
) | git update-index --index-info && |
|
|
|
|
>old && |
|
|
|
|
git ls-files -s && |
|
|
|
|
git read-tree --reset -u HEAD && |
|
|
|
|
git ls-files -s >actual && |
|
|
|
|
! test -f old |
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
test_expect_success 'Porcelain reset should remove remnants too' ' |
|
|
|
|
git read-tree --reset -u HEAD && |
|
|
|
|
git ls-files -s >expect && |
|
|
|
|
sha1=$(git rev-parse :new) && |
|
|
|
|
( |
|
|
|
|
echo "100644 $sha1 1 old" |
|
|
|
|
echo "100644 $sha1 3 old" |
|
|
|
|
) | git update-index --index-info && |
|
|
|
|
>old && |
|
|
|
|
git ls-files -s && |
|
|
|
|
git reset --hard && |
|
|
|
|
git ls-files -s >actual && |
|
|
|
|
! test -f old |
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
test_expect_success 'Porcelain checkout -f should remove remnants too' ' |
|
|
|
|
git read-tree --reset -u HEAD && |
|
|
|
|
git ls-files -s >expect && |
|
|
|
|
sha1=$(git rev-parse :new) && |
|
|
|
|
( |
|
|
|
|
echo "100644 $sha1 1 old" |
|
|
|
|
echo "100644 $sha1 3 old" |
|
|
|
|
) | git update-index --index-info && |
|
|
|
|
>old && |
|
|
|
|
git ls-files -s && |
|
|
|
|
git checkout -f && |
|
|
|
|
git ls-files -s >actual && |
|
|
|
|
! test -f old |
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
test_expect_success 'Porcelain checkout -f HEAD should remove remnants too' ' |
|
|
|
|
git read-tree --reset -u HEAD && |
|
|
|
|
git ls-files -s >expect && |
|
|
|
|
sha1=$(git rev-parse :new) && |
|
|
|
|
( |
|
|
|
|
echo "100644 $sha1 1 old" |
|
|
|
|
echo "100644 $sha1 3 old" |
|
|
|
|
) | git update-index --index-info && |
|
|
|
|
>old && |
|
|
|
|
git ls-files -s && |
|
|
|
|
git checkout -f HEAD && |
|
|
|
|
git ls-files -s >actual && |
|
|
|
|
! test -f old |
|
|
|
|
' |
|
|
|
|
|
|
|
|
|
test_done |
|
|
|
|