Merge in GIT 1.5.3.8
[gitweb.git] / t / t3600-rm.sh
index 13a461f31b666e5f4abf9c4b607c8d974f0da825..b1ee622ef7887407c93bc55d95827f9eb7a2b951 100755 (executable)
@@ -45,6 +45,40 @@ test_expect_success \
     'Test that git rm foo succeeds' \
     'git rm --cached foo'
 
+test_expect_success \
+    'Test that git rm --cached foo succeeds if the index matches the file' \
+    'echo content > foo
+     git add foo
+     git rm --cached foo'
+
+test_expect_success \
+    'Test that git rm --cached foo succeeds if the index matches the file' \
+    'echo content > foo
+     git add foo
+     git commit -m foo
+     echo "other content" > foo
+     git rm --cached foo'
+
+test_expect_failure \
+    'Test that git rm --cached foo fails if the index matches neither the file nor HEAD' \
+    'echo content > foo
+     git add foo
+     git commit -m foo
+     echo "other content" > foo
+     git add foo
+     echo "yet another content" > foo
+     git rm --cached foo'
+
+test_expect_success \
+    'Test that git rm --cached -f foo works in case where --cached only did not' \
+    'echo content > foo
+     git add foo
+     git commit -m foo
+     echo "other content" > foo
+     git add foo
+     echo "yet another content" > foo
+     git rm --cached -f foo'
+
 test_expect_success \
     'Post-check that foo exists but is not in index after git rm foo' \
     '[ -f foo ] && ! git ls-files --error-unmatch foo'
@@ -93,7 +127,7 @@ test_expect_success '"rm" command printed' '
        git add test-file &&
        git commit -m "add file for rm test" &&
        git rm test-file > rm-output &&
-       test `egrep "^rm " rm-output | wc -l` = 1 &&
+       test `grep "^rm " rm-output | wc -l` = 1 &&
        rm -f test-file rm-output &&
        git commit -m "remove file from rm test"
 '