path: root/diff.h
diff options
authorJunio C Hamano <>2006-04-10 23:39:11 (GMT)
committerJunio C Hamano <>2006-04-10 23:45:19 (GMT)
commita8baa7b9f5c8e338c09d63097f14372aca68e13f (patch)
treeb194ad2948ea2e797c062eb67f4d1a9f75c7b3a8 /diff.h
parent6d46a23bf6e009487166f044b8c759aa734b8f90 (diff)
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 <>
Diffstat (limited to 'diff.h')
1 files changed, 5 insertions, 1 deletions
diff --git a/diff.h b/diff.h
index a02ef28..cc7cc62 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,