summaryrefslogtreecommitdiff
path: root/diff.h
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-04-10 16:39:11 -0700
committerJunio C Hamano <junkio@cox.net>2006-04-10 16:45:19 -0700
commita8baa7b9f5c8e338c09d63097f14372aca68e13f (patch)
treeb194ad2948ea2e797c062eb67f4d1a9f75c7b3a8 /diff.h
parent6d46a23bf6e009487166f044b8c759aa734b8f90 (diff)
downloadgit-a8baa7b9f5c8e338c09d63097f14372aca68e13f.tar.gz
tree-diff: do not assume we use only one pathspec
The way tree-diff was set up assumed we would use only one set of pathspec during the entire life of the program. Move the pathspec related static variables out to diff_options structure so that we can filter commits with one set of paths while show the actual diffs using different set of paths. I suspect this breaks blame.c, and makes "git log paths..." to default to the --full-diff, the latter of which is dealt with the next commit. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'diff.h')
-rw-r--r--diff.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/diff.h b/diff.h
index a02ef28201..cc7cc627c8 100644
--- a/diff.h
+++ b/diff.h
@@ -38,11 +38,15 @@ struct diff_options {
int setup;
int abbrev;
+ int nr_paths;
+ const char **paths;
+ int *pathlens;
change_fn_t change;
add_remove_fn_t add_remove;
};
-extern void diff_tree_setup_paths(const char **paths);
+extern void diff_tree_setup_paths(const char **paths, struct diff_options *);
+extern void diff_tree_release_paths(struct diff_options *);
extern int diff_tree(struct tree_desc *t1, struct tree_desc *t2,
const char *base, struct diff_options *opt);
extern int diff_tree_sha1(const unsigned char *old, const unsigned char *new,