aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--diff-cache.c4
-rw-r--r--diff-files.c4
-rw-r--r--diff-helper.c8
-rw-r--r--t/t4007-rename-3.sh22
4 files changed, 19 insertions, 19 deletions
diff --git a/diff-cache.c b/diff-cache.c
index 0a6720de6..66e7bdb62 100644
--- a/diff-cache.c
+++ b/diff-cache.c
@@ -240,12 +240,12 @@ int main(int argc, const char **argv)
die("unable to read tree object %s", tree_name);
ret = diff_cache(active_cache, active_nr);
+ if (pathspec)
+ diffcore_pathspec(pathspec);
if (detect_rename)
diffcore_rename(detect_rename, diff_score_opt);
if (pickaxe)
diffcore_pickaxe(pickaxe, pickaxe_opts);
- if (pathspec)
- diffcore_pathspec(pathspec);
diff_flush(diff_output_format, 1);
return ret;
}
diff --git a/diff-files.c b/diff-files.c
index cf7721928..bd0eb95f8 100644
--- a/diff-files.c
+++ b/diff-files.c
@@ -116,12 +116,12 @@ int main(int argc, const char **argv)
show_modified(oldmode, mode, ce->sha1, null_sha1,
ce->name);
}
+ if (1 < argc)
+ diffcore_pathspec(argv + 1);
if (detect_rename)
diffcore_rename(detect_rename, diff_score_opt);
if (pickaxe)
diffcore_pickaxe(pickaxe, pickaxe_opts);
- if (1 < argc)
- diffcore_pathspec(argv + 1);
diff_flush(diff_output_format, 1);
return 0;
}
diff --git a/diff-helper.c b/diff-helper.c
index 03ac9104c..6456405b5 100644
--- a/diff-helper.c
+++ b/diff-helper.c
@@ -129,17 +129,17 @@ int main(int ac, const char **av) {
new_path);
continue;
}
- if (pickaxe)
- diffcore_pickaxe(pickaxe, pickaxe_opts);
if (1 < ac)
diffcore_pathspec(av + 1);
+ if (pickaxe)
+ diffcore_pickaxe(pickaxe, pickaxe_opts);
diff_flush(DIFF_FORMAT_PATCH, 0);
printf("%s\n", sb.buf);
}
- if (pickaxe)
- diffcore_pickaxe(pickaxe, pickaxe_opts);
if (1 < ac)
diffcore_pathspec(av + 1);
+ if (pickaxe)
+ diffcore_pickaxe(pickaxe, pickaxe_opts);
diff_flush(DIFF_FORMAT_PATCH, 0);
return 0;
}
diff --git a/t/t4007-rename-3.sh b/t/t4007-rename-3.sh
index cf1844097..518892b90 100644
--- a/t/t4007-rename-3.sh
+++ b/t/t4007-rename-3.sh
@@ -46,23 +46,23 @@ cat >expected <<\EOF
EOF
test_expect_success \
- 'validate the result' \
+ 'validate the result (#1)' \
'compare_diff_raw current expected'
# In the tree, there is only path0/COPYING. In the cache, path0 and
# path1 both have COPYING and the latter is a copy of path0/COPYING.
-# When we omit output from path0 it should still be able to tell us
-# that path1/COPYING is result from a copy from path0/COPYING, not
-# rename, which would imply path0/COPYING is now gone.
+# However when we say we care only about path1, we should just see
+# path1/COPYING suddenly appearing from nowhere, not detected as
+# a copy from path0/COPYING.
git-diff-cache -C $tree path1 >current
cat >expected <<\EOF
-:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 6ff87c4664981e4397625791c8ea3bbb5f2279a3 C100 path0/COPYING path1/COPYING
+:000000 100644 0000000000000000000000000000000000000000 6ff87c4664981e4397625791c8ea3bbb5f2279a3 N path1/COPYING
EOF
test_expect_success \
- 'validate the result' \
+ 'validate the result (#2)' \
'compare_diff_raw current expected'
test_expect_success \
@@ -82,22 +82,22 @@ cat >expected <<\EOF
EOF
test_expect_success \
- 'validate the result' \
+ 'validate the result (#3)' \
'compare_diff_raw current expected'
# In the tree, there is only path0/COPYING. In the cache, path0 does
# not have COPYING anymore and path1 has COPYING which is a copy of
-# path0/COPYING. Even if we restrict the output to path1, it still
-# should show us the rename.
+# path0/COPYING. When we say we care only about path1, we should just
+# see path1/COPYING appearing from nowhere.
git-diff-cache -C $tree path1 >current
cat >expected <<\EOF
-:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 6ff87c4664981e4397625791c8ea3bbb5f2279a3 R100 path0/COPYING path1/COPYING
+:000000 100644 0000000000000000000000000000000000000000 6ff87c4664981e4397625791c8ea3bbb5f2279a3 N path1/COPYING
EOF
test_expect_success \
- 'validate the result' \
+ 'validate the result (#4)' \
'compare_diff_raw current expected'
test_done