From a8baa7b9f5c8e338c09d63097f14372aca68e13f Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 10 Apr 2006 16:39:11 -0700 Subject: 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 --- diff.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'diff.h') 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, -- cgit v1.2.3