summaryrefslogtreecommitdiff
path: root/diff-files.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-05-27 15:56:17 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-29 11:17:43 -0700
commit6145ee8b361959db04b8cdefc883e4fc2dc27276 (patch)
treebeee0b115472b88e0bcb2fb46ef7df7208485c0d /diff-files.c
parent15d061b435a7e3b6bead39df3889f4af78c4b00a (diff)
downloadgit-6145ee8b361959db04b8cdefc883e4fc2dc27276.tar.gz
[PATCH] Move pathspec to the beginning of the diffcore chain.
This changes the way how pathspec is used in the three diff-* brothers. Earlier, they tried to grab as much information from the original input and used pathspec to limit the output. This version uses pathspec upfront to narrow the world diffcore operates in, so "git-diff-* <arguments> some-directory" does not look at things outside the specified subtree when finding rename/copy or running pickaxe. Since diff-tree already takes this view and does not feed anything outside the specified directotires to begin with, this patch does not have to touch that command. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'diff-files.c')
-rw-r--r--diff-files.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/diff-files.c b/diff-files.c
index cf77219285..bd0eb95f85 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;
}