зеркало из https://github.com/microsoft/git.git
dir: convert fill_directory to take an index
Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
2c1eb10454
Коммит
0d32c183b6
|
@ -400,7 +400,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
|||
}
|
||||
|
||||
/* This picks up the paths that are not tracked */
|
||||
baselen = fill_directory(&dir, &pathspec);
|
||||
baselen = fill_directory(&dir, &the_index, &pathspec);
|
||||
if (pathspec.nr)
|
||||
seen = prune_directory(&dir, &pathspec, baselen);
|
||||
}
|
||||
|
|
|
@ -930,7 +930,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
|
|||
PATHSPEC_PREFER_CWD,
|
||||
prefix, argv);
|
||||
|
||||
fill_directory(&dir, &pathspec);
|
||||
fill_directory(&dir, &the_index, &pathspec);
|
||||
|
||||
for (i = 0; i < dir.nr; i++) {
|
||||
struct dir_entry *ent = dir.entries[i];
|
||||
|
|
|
@ -866,7 +866,7 @@ static int grep_directory(struct grep_opt *opt, const struct pathspec *pathspec,
|
|||
if (exc_std)
|
||||
setup_standard_excludes(&dir);
|
||||
|
||||
fill_directory(&dir, pathspec);
|
||||
fill_directory(&dir, &the_index, pathspec);
|
||||
for (i = 0; i < dir.nr; i++) {
|
||||
if (!dir_path_match(dir.entries[i], pathspec, 0, NULL))
|
||||
continue;
|
||||
|
|
|
@ -333,7 +333,7 @@ static void show_files(struct dir_struct *dir)
|
|||
if (show_others || show_killed) {
|
||||
if (!show_others)
|
||||
dir->flags |= DIR_COLLECT_KILLED_ONLY;
|
||||
fill_directory(dir, &pathspec);
|
||||
fill_directory(dir, &the_index, &pathspec);
|
||||
if (show_others)
|
||||
show_other_files(dir);
|
||||
if (show_killed)
|
||||
|
|
6
dir.c
6
dir.c
|
@ -177,7 +177,9 @@ char *common_prefix(const struct pathspec *pathspec)
|
|||
return len ? xmemdupz(pathspec->items[0].match, len) : NULL;
|
||||
}
|
||||
|
||||
int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec)
|
||||
int fill_directory(struct dir_struct *dir,
|
||||
struct index_state *istate,
|
||||
const struct pathspec *pathspec)
|
||||
{
|
||||
const char *prefix;
|
||||
size_t prefix_len;
|
||||
|
@ -190,7 +192,7 @@ int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec)
|
|||
prefix = prefix_len ? pathspec->items[0].match : "";
|
||||
|
||||
/* Read the directory and prune it */
|
||||
read_directory(dir, &the_index, prefix, prefix_len, pathspec);
|
||||
read_directory(dir, istate, prefix, prefix_len, pathspec);
|
||||
|
||||
return prefix_len;
|
||||
}
|
||||
|
|
4
dir.h
4
dir.h
|
@ -214,7 +214,9 @@ extern int match_pathspec(const struct pathspec *pathspec,
|
|||
extern int report_path_error(const char *ps_matched, const struct pathspec *pathspec, const char *prefix);
|
||||
extern int within_depth(const char *name, int namelen, int depth, int max_depth);
|
||||
|
||||
extern int fill_directory(struct dir_struct *dir, const struct pathspec *pathspec);
|
||||
extern int fill_directory(struct dir_struct *dir,
|
||||
struct index_state *istate,
|
||||
const struct pathspec *pathspec);
|
||||
extern int read_directory(struct dir_struct *, struct index_state *istate,
|
||||
const char *path, int len,
|
||||
const struct pathspec *pathspec);
|
||||
|
|
|
@ -665,7 +665,7 @@ static void wt_status_collect_untracked(struct wt_status *s)
|
|||
dir.untracked = the_index.untracked;
|
||||
setup_standard_excludes(&dir);
|
||||
|
||||
fill_directory(&dir, &s->pathspec);
|
||||
fill_directory(&dir, &the_index, &s->pathspec);
|
||||
|
||||
for (i = 0; i < dir.nr; i++) {
|
||||
struct dir_entry *ent = dir.entries[i];
|
||||
|
|
Загрузка…
Ссылка в новой задаче