зеркало из https://github.com/microsoft/git.git
status: report matching ignored and normal untracked
Teach status command to handle `--ignored=matching` with `--untracked-files=normal` Signed-off-by: Jameson Miller <jamill@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
eec0f7f2b7
Коммит
07966ed19e
20
dir.c
20
dir.c
|
@ -1585,6 +1585,7 @@ static enum path_treatment treat_one_path(struct dir_struct *dir,
|
||||||
{
|
{
|
||||||
int exclude;
|
int exclude;
|
||||||
int has_path_in_index = !!index_file_exists(istate, path->buf, path->len, ignore_case);
|
int has_path_in_index = !!index_file_exists(istate, path->buf, path->len, ignore_case);
|
||||||
|
enum path_treatment path_treatment;
|
||||||
|
|
||||||
if (dtype == DT_UNKNOWN)
|
if (dtype == DT_UNKNOWN)
|
||||||
dtype = get_dtype(de, istate, path->buf, path->len);
|
dtype = get_dtype(de, istate, path->buf, path->len);
|
||||||
|
@ -1631,8 +1632,23 @@ static enum path_treatment treat_one_path(struct dir_struct *dir,
|
||||||
return path_none;
|
return path_none;
|
||||||
case DT_DIR:
|
case DT_DIR:
|
||||||
strbuf_addch(path, '/');
|
strbuf_addch(path, '/');
|
||||||
return treat_directory(dir, istate, untracked, path->buf, path->len,
|
path_treatment = treat_directory(dir, istate, untracked,
|
||||||
baselen, exclude, pathspec);
|
path->buf, path->len,
|
||||||
|
baselen, exclude, pathspec);
|
||||||
|
/*
|
||||||
|
* If 1) we only want to return directories that
|
||||||
|
* match an exclude pattern and 2) this directory does
|
||||||
|
* not match an exclude pattern but all of its
|
||||||
|
* contents are excluded, then indicate that we should
|
||||||
|
* recurse into this directory (instead of marking the
|
||||||
|
* directory itself as an ignored path).
|
||||||
|
*/
|
||||||
|
if (!exclude &&
|
||||||
|
path_treatment == path_excluded &&
|
||||||
|
(dir->flags & DIR_SHOW_IGNORED_TOO) &&
|
||||||
|
(dir->flags & DIR_SHOW_IGNORED_TOO_MODE_MATCHING))
|
||||||
|
return path_recurse;
|
||||||
|
return path_treatment;
|
||||||
case DT_REG:
|
case DT_REG:
|
||||||
case DT_LNK:
|
case DT_LNK:
|
||||||
return exclude ? path_excluded : path_untracked;
|
return exclude ? path_excluded : path_untracked;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче