summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--diff-no-index.c1
-rwxr-xr-xt/t4013-diff-various.sh5
-rw-r--r--t/t4013/diff.diff_--no-index_dir_dir32
3 files changed, 8 insertions, 0 deletions
diff --git a/diff-no-index.c b/diff-no-index.c
index 60ed17470a..2d541d9aba 100644
--- a/diff-no-index.c
+++ b/diff-no-index.c
@@ -247,6 +247,7 @@ void diff_no_index(struct rev_info *revs,
else
revs->diffopt.paths = argv + argc - 2;
revs->diffopt.nr_paths = 2;
+ revs->diffopt.skip_stat_unmatch = 1;
DIFF_OPT_SET(&revs->diffopt, EXIT_WITH_STATUS);
DIFF_OPT_SET(&revs->diffopt, NO_INDEX);
diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh
index aba53202f8..9c709022ef 100755
--- a/t/t4013-diff-various.sh
+++ b/t/t4013-diff-various.sh
@@ -74,6 +74,10 @@ test_expect_success setup '
for i in 1 2; do echo $i; done >>dir/sub &&
git update-index file0 dir/sub &&
+ mkdir dir3 &&
+ cp dir/sub dir3/sub &&
+ test-chmtime +1 dir3/sub &&
+
git config log.showroot false &&
git commit --amend &&
git show-branch
@@ -262,6 +266,7 @@ diff --patch-with-raw -r initial..side
diff --name-status dir2 dir
diff --no-index --name-status dir2 dir
diff --no-index --name-status -- dir2 dir
+diff --no-index dir dir3
diff master master^ side
EOF
diff --git a/t/t4013/diff.diff_--no-index_dir_dir3 b/t/t4013/diff.diff_--no-index_dir_dir3
new file mode 100644
index 0000000000..2142c2b9ad
--- /dev/null
+++ b/t/t4013/diff.diff_--no-index_dir_dir3
@@ -0,0 +1,2 @@
+$ git diff --no-index dir dir3
+$