Skip to content

Commit

Permalink
convert some get_pathspec() calls to parse_pathspec()
Browse files Browse the repository at this point in the history
These call sites follow the pattern:

   paths = get_pathspec(prefix, argv);
   init_pathspec(&pathspec, paths);

which can be converted into a single parse_pathspec() call.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Nguyễn Thái Ngọc Duy authored and Junio C Hamano committed Jul 15, 2013
1 parent fc12261 commit 0fdc2ae
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 8 deletions.
6 changes: 3 additions & 3 deletions builtin/grep.c
Original file line number Diff line number Diff line change
Expand Up @@ -631,7 +631,6 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
const char *show_in_pager = NULL, *default_pager = "dummy";
struct grep_opt opt;
struct object_array list = OBJECT_ARRAY_INIT;
const char **paths = NULL;
struct pathspec pathspec;
struct string_list path_list = STRING_LIST_INIT_NODUP;
int i;
Expand Down Expand Up @@ -858,8 +857,9 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
verify_filename(prefix, argv[j], j == i);
}

paths = get_pathspec(prefix, argv + i);
init_pathspec(&pathspec, paths);
parse_pathspec(&pathspec, 0,
PATHSPEC_PREFER_CWD,
prefix, argv + i);
pathspec.max_depth = opt.max_depth;
pathspec.recursive = 1;

Expand Down
10 changes: 9 additions & 1 deletion builtin/ls-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,15 @@ int cmd_ls_tree(int argc, const char **argv, const char *prefix)
if (get_sha1(argv[0], sha1))
die("Not a valid object name %s", argv[0]);

init_pathspec(&pathspec, get_pathspec(prefix, argv + 1));
/*
* show_recursive() rolls its own matching code and is
* generally ignorant of 'struct pathspec'. The magic mask
* cannot be lifted until it is converted to use
* match_pathspec_depth() or tree_entry_interesting()
*/
parse_pathspec(&pathspec, 0,
PATHSPEC_PREFER_CWD,
prefix, argv + 1);
for (i = 0; i < pathspec.nr; i++)
pathspec.items[i].nowildcard_len = pathspec.items[i].len;
pathspec.has_wildcard = 0;
Expand Down
5 changes: 3 additions & 2 deletions builtin/update-index.c
Original file line number Diff line number Diff line change
Expand Up @@ -547,10 +547,11 @@ static int do_reupdate(int ac, const char **av,
*/
int pos;
int has_head = 1;
const char **paths = get_pathspec(prefix, av + 1);
struct pathspec pathspec;

init_pathspec(&pathspec, paths);
parse_pathspec(&pathspec, 0,
PATHSPEC_PREFER_CWD,
prefix, av + 1);

if (read_ref("HEAD", head_sha1))
/* If there is no HEAD, that means it is an initial
Expand Down
4 changes: 2 additions & 2 deletions revision.c
Original file line number Diff line number Diff line change
Expand Up @@ -2120,8 +2120,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
*/
ALLOC_GROW(prune_data.path, prune_data.nr+1, prune_data.alloc);
prune_data.path[prune_data.nr++] = NULL;
init_pathspec(&revs->prune_data,
get_pathspec(revs->prefix, prune_data.path));
parse_pathspec(&revs->prune_data, 0, 0,
revs->prefix, prune_data.path);
}

if (revs->def == NULL)
Expand Down

0 comments on commit 0fdc2ae

Please sign in to comment.