Re: [PATCH v1 22/45] archive: convert to use parse_pathspec
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Mar 16, 2013, 01:08 UTC
- Message-ID
- <CACsJy8DUb5j0of=cuQje5cRWLwyi-MiH-d-RsyBiPOjaD1Tntg@mail.gmail.com>
- In-Reply-To
- <7vfvzwv96b.fsf@alter.siamese.dyndns.org>
On Sat, Mar 16, 2013 at 12:56 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 25 quoted lines
> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> 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?parse_pathspec() here is needed because write_archive_entries needs it later. tree_entry_interesting() has not supported "seen" feature like match_pathspec_depth() to detect unused pathspecs. For simplicity, just check each pathspec individually. We can revisit this when we add "seen" feature to tree_entry_interesting.
-- Duy