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
80bffaf7fb
commit
db33af0a7f
@ -404,7 +404,7 @@ t,)
|
|||||||
(
|
(
|
||||||
GIT_INDEX_FILE="$NEXT_INDEX"
|
GIT_INDEX_FILE="$NEXT_INDEX"
|
||||||
export GIT_INDEX_FILE
|
export GIT_INDEX_FILE
|
||||||
git update-index --remove --stdin
|
git update-index --add --remove --stdin
|
||||||
) || exit
|
) || exit
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -131,7 +131,7 @@ test_expect_success \
|
|||||||
'validate git-rev-list output.' \
|
'validate git-rev-list output.' \
|
||||||
'diff current expected'
|
'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 &&
|
git rm --cached file &&
|
||||||
mv file elif &&
|
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 commit -m "Partial: remove file" file &&
|
||||||
git diff-tree --name-status HEAD^ HEAD >current &&
|
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
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user