Merge branch 'jc/refactor-diff-stdin'

Due to the way "git diff --no-index" is bolted onto by touching the
low level code that is shared with the rest of the "git diff" code,
even though it has to work in a very different way, any comparison
that involves a file "-" at the root level incorrectly tried to read
from the standard input.  This cleans up the no-index codepath
further to remove code that reads from the standard input from the
core side, which is never necessary when git is running its usual
diff operation.

* jc/refactor-diff-stdin:
  diff-index.c: "git diff" has no need to read blob from the standard input
  diff-index.c: unify handling of command line paths
  diff-index.c: do not pretend paths are pathspecs
This commit is contained in:
Junio C Hamano
2012-07-13 15:38:05 -07:00
4 changed files with 67 additions and 50 deletions

View File

@@ -487,4 +487,16 @@ test_expect_success 'amend can copy notes' '
'
test_expect_success 'commit a file whose name is a dash' '
git reset --hard &&
for i in 1 2 3 4 5
do
echo $i
done >./- &&
git add ./- &&
test_tick &&
git commit -m "add dash" >output </dev/null &&
test_i18ngrep " changed, 5 insertions" output
'
test_done