[PATCH] git-add--interactive: never skip files included in index
From: Pauli Virtanen <hidden>
Date: 2016-06-15 22:47:30
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- git-add--interactive.perl | 2 +- t/t3701-add-interactive.sh | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 392efb9..69aeaf0 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl@@ -259,7 +259,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); }
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index 62fd65e..89bfdcb 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh@@ -138,6 +138,24 @@ test_expect_success 'real edit works' ' test_cmp expected output ' +cat >.gitignore <<EOF +file +EOF +cat >file <<EOF +changed +EOF +test_expect_success 'skip files similarly as commit -a' ' + git reset + 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)'
--
1.6.3.3