summaryrefslogtreecommitdiff
path: root/diff-cache.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-05-27 22:56:17 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-29 18:17:43 (GMT)
commit6145ee8b361959db04b8cdefc883e4fc2dc27276 (patch)
treebeee0b115472b88e0bcb2fb46ef7df7208485c0d /diff-cache.c
parent15d061b435a7e3b6bead39df3889f4af78c4b00a (diff)
downloadgit-6145ee8b361959db04b8cdefc883e4fc2dc27276.zip
git-6145ee8b361959db04b8cdefc883e4fc2dc27276.tar.gz
git-6145ee8b361959db04b8cdefc883e4fc2dc27276.tar.bz2
[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-cache.c')
-rw-r--r--diff-cache.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/diff-cache.c b/diff-cache.c
index 0a6720d..66e7bdb 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;
}