OSDN Git Service

git-commit: partial commit of paths only removed from the index
authorJunio C Hamano <gitster@pobox.com>
Fri, 14 Sep 2007 23:53:58 +0000 (16:53 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Sep 2007 06:57:35 +0000 (23:57 -0700)
Because a partial commit is meant to be a way to ignore what are
staged in the index, "git rm --cached A && git commit A" should
just record what is in A on the filesystem.  The previous patch
made the command sequence to barf, saying that A has not been
added yet.  This fixes it.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-commit.sh
t/t7501-commit.sh

index 5ea3fd0..bb113e8 100755 (executable)
@@ -404,7 +404,7 @@ t,)
                (
                        GIT_INDEX_FILE="$NEXT_INDEX"
                        export GIT_INDEX_FILE
-                       git update-index --remove --stdin
+                       git update-index --add --remove --stdin
                ) || exit
                ;;
        esac
index f178f56..b151b51 100644 (file)
@@ -131,7 +131,7 @@ test_expect_success \
     'validate git-rev-list output.' \
     'diff current expected'
 
-test_expect_success 'partial commit that involve removal (1)' '
+test_expect_success 'partial commit that involves removal (1)' '
 
        git rm --cached file &&
        mv file elif &&
@@ -143,7 +143,7 @@ test_expect_success 'partial commit that involve removal (1)' '
 
 '
 
-test_expect_success 'partial commit that involve removal (2)' '
+test_expect_success 'partial commit that involves removal (2)' '
 
        git commit -m "Partial: remove file" file &&
        git diff-tree --name-status HEAD^ HEAD >current &&
@@ -152,4 +152,15 @@ test_expect_success 'partial commit that involve removal (2)' '
 
 '
 
+test_expect_success 'partial commit that involves removal (3)' '
+
+       git rm --cached elif &&
+       echo elif >elif &&
+       git commit -m "Partial: modify elif" elif &&
+       git diff-tree --name-status HEAD^ HEAD >current &&
+       echo "M elif" >expected &&
+       diff expected current
+
+'
+
 test_done