git-commit: partial commit of paths only removed from the index
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>
This commit is contained in:
parent
64586e75af
commit
cba8d48961
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user