checkout: convert read_tree_some to take struct pathspec
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
5ab06518a7
commit
18e4f40599
@ -83,12 +83,9 @@ static int update_some(const unsigned char *sha1, const char *base, int baselen,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int read_tree_some(struct tree *tree, const char **pathspec)
|
static int read_tree_some(struct tree *tree, const struct pathspec *pathspec)
|
||||||
{
|
{
|
||||||
struct pathspec ps;
|
read_tree_recursive(tree, "", 0, 0, pathspec, update_some, NULL);
|
||||||
init_pathspec(&ps, pathspec);
|
|
||||||
read_tree_recursive(tree, "", 0, 0, &ps, update_some, NULL);
|
|
||||||
free_pathspec(&ps);
|
|
||||||
|
|
||||||
/* update the index with the given tree's info
|
/* update the index with the given tree's info
|
||||||
* for all args, expanding wildcards, and exit
|
* for all args, expanding wildcards, and exit
|
||||||
@ -266,7 +263,7 @@ static int checkout_paths(const struct checkout_opts *opts,
|
|||||||
return error(_("corrupt index file"));
|
return error(_("corrupt index file"));
|
||||||
|
|
||||||
if (opts->source_tree)
|
if (opts->source_tree)
|
||||||
read_tree_some(opts->source_tree, opts->pathspec.raw);
|
read_tree_some(opts->source_tree, &opts->pathspec);
|
||||||
|
|
||||||
ps_matched = xcalloc(1, opts->pathspec.nr);
|
ps_matched = xcalloc(1, opts->pathspec.nr);
|
||||||
|
|
||||||
|
4
tree.c
4
tree.c
@ -47,7 +47,7 @@ static int read_one_entry_quick(const unsigned char *sha1, const char *base, int
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int read_tree_1(struct tree *tree, struct strbuf *base,
|
static int read_tree_1(struct tree *tree, struct strbuf *base,
|
||||||
int stage, struct pathspec *pathspec,
|
int stage, const struct pathspec *pathspec,
|
||||||
read_tree_fn_t fn, void *context)
|
read_tree_fn_t fn, void *context)
|
||||||
{
|
{
|
||||||
struct tree_desc desc;
|
struct tree_desc desc;
|
||||||
@ -116,7 +116,7 @@ static int read_tree_1(struct tree *tree, struct strbuf *base,
|
|||||||
|
|
||||||
int read_tree_recursive(struct tree *tree,
|
int read_tree_recursive(struct tree *tree,
|
||||||
const char *base, int baselen,
|
const char *base, int baselen,
|
||||||
int stage, struct pathspec *pathspec,
|
int stage, const struct pathspec *pathspec,
|
||||||
read_tree_fn_t fn, void *context)
|
read_tree_fn_t fn, void *context)
|
||||||
{
|
{
|
||||||
struct strbuf sb = STRBUF_INIT;
|
struct strbuf sb = STRBUF_INIT;
|
||||||
|
2
tree.h
2
tree.h
@ -25,7 +25,7 @@ typedef int (*read_tree_fn_t)(const unsigned char *, const char *, int, const ch
|
|||||||
|
|
||||||
extern int read_tree_recursive(struct tree *tree,
|
extern int read_tree_recursive(struct tree *tree,
|
||||||
const char *base, int baselen,
|
const char *base, int baselen,
|
||||||
int stage, struct pathspec *pathspec,
|
int stage, const struct pathspec *pathspec,
|
||||||
read_tree_fn_t fn, void *context);
|
read_tree_fn_t fn, void *context);
|
||||||
|
|
||||||
extern int read_tree(struct tree *tree, int stage, struct pathspec *pathspec);
|
extern int read_tree(struct tree *tree, int stage, struct pathspec *pathspec);
|
||||||
|
Loading…
Reference in New Issue
Block a user