git-add--interactive: never skip files included in index

Make "git add -p" to not skip files that are in index even if they are
excluded (by .gitignore etc.). This fixes the contradictory behavior
that "git status" and "git commit -a" listed such files as modified, but
"git add -p FILENAME" ignored them.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pauli Virtanen 2009-10-10 18:51:45 +03:00 committed by Junio C Hamano
parent ac78b00939
commit b145b211ba
2 changed files with 15 additions and 1 deletions

View File

@ -186,7 +186,7 @@ sub list_modified {
@tracked = map {
chomp $_;
unquote_path($_);
} run_cmd_pipe(qw(git ls-files --exclude-standard --), @ARGV);
} run_cmd_pipe(qw(git ls-files --), @ARGV);
return if (!@tracked);
}

View File

@ -138,6 +138,20 @@ test_expect_success 'real edit works' '
test_cmp expected output
'
test_expect_success 'skip files similarly as commit -a' '
git reset &&
echo file >.gitignore &&
echo changed >file &&
echo y | git add -p file &&
git diff >output &&
git reset &&
git commit -am commit &&
git diff >expected &&
test_cmp expected output &&
git reset --hard HEAD^
'
rm -f .gitignore
if test "$(git config --bool core.filemode)" = false
then
say 'skipping filemode tests (filesystem does not properly support modes)'