Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > @@ -232,11 +228,18 @@ static int path_exists(struct tree *tree, const char *path) > static void parse_pathspec_arg(const char **pathspec, > struct archiver_args *ar_args) > { > - ar_args->pathspec = pathspec = get_pathspec("", pathspec); > + /* > + * must be consistent with parse_pathspec in path_exists() > + * Also if pathspec patterns are dependent, we're in big > + * trouble as we test each one separately > + */ > + parse_pathspec(&ar_args->pathspec, 0, > + PATHSPEC_PREFER_FULL, > + "", pathspec); > if (pathspec) { > while (*pathspec) { > if (!path_exists(ar_args->tree, *pathspec)) > - die("path not found: %s", *pathspec); > + die(_("pathspec '%s' did not match any files"), *pathspec); > pathspec++; > } You do not use ar_args->pathspec even though you used parse_pathspec() to grok it? What's the point of this change? > } > diff --git a/archive.h b/archive.h > index 895afcd..4a791e1 100644 > --- a/archive.h > +++ b/archive.h > @@ -1,6 +1,8 @@ > #ifndef ARCHIVE_H > #define ARCHIVE_H > > +#include "pathspec.h" > + > struct archiver_args { > const char *base; > size_t baselen; > @@ -8,7 +10,7 @@ struct archiver_args { > const unsigned char *commit_sha1; > const struct commit *commit; > time_t time; > - const char **pathspec; > + struct pathspec pathspec; > unsigned int verbose : 1; > unsigned int worktree_attributes : 1; > unsigned int convert : 1; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html