зеркало из https://github.com/microsoft/git.git
Merge branch 'nd/pathspec-recursion-cleanup'
* nd/pathspec-recursion-cleanup: diff-index: enable recursive pathspec matching in unpack_trees Document limited recursion pathspec matching with wildcards
This commit is contained in:
Коммит
c74f97a624
|
@ -79,6 +79,9 @@ OPTIONS
|
|||
--max-depth <depth>::
|
||||
For each <pathspec> given on command line, descend at most <depth>
|
||||
levels of directories. A negative value means no limit.
|
||||
This option is ignored if <pathspec> contains active wildcards.
|
||||
In other words if "a*" matches a directory named "a*",
|
||||
"*" is matched literally so --max-depth is still effective.
|
||||
|
||||
-w::
|
||||
--word-regexp::
|
||||
|
|
|
@ -469,6 +469,8 @@ static int diff_cache(struct rev_info *revs,
|
|||
opts.src_index = &the_index;
|
||||
opts.dst_index = NULL;
|
||||
opts.pathspec = &revs->diffopt.pathspec;
|
||||
opts.pathspec->recursive = 1;
|
||||
opts.pathspec->max_depth = -1;
|
||||
|
||||
init_tree_desc(&t, tree->buffer, tree->size);
|
||||
return unpack_trees(1, &t, &opts);
|
||||
|
|
|
@ -47,6 +47,14 @@ test_expect_success \
|
|||
'git diff-index --cached $tree -- path1/ >current &&
|
||||
compare_diff_raw current expected'
|
||||
|
||||
cat >expected <<\EOF
|
||||
:100644 100644 766498d93a4b06057a8e49d23f4068f1170ff38f 0a41e115ab61be0328a19b29f18cdcb49338d516 M path1/file1
|
||||
EOF
|
||||
test_expect_success \
|
||||
'"*file1" should show path1/file1' \
|
||||
'git diff-index --cached $tree -- "*file1" >current &&
|
||||
compare_diff_raw current expected'
|
||||
|
||||
cat >expected <<\EOF
|
||||
:100644 100644 766498d93a4b06057a8e49d23f4068f1170ff38f 0a41e115ab61be0328a19b29f18cdcb49338d516 M file0
|
||||
EOF
|
||||
|
|
|
@ -661,6 +661,9 @@ match_wildcards:
|
|||
/*
|
||||
* Match all directories. We'll try to match files
|
||||
* later on.
|
||||
* max_depth is ignored but we may consider support it
|
||||
* in future, see
|
||||
* http://thread.gmane.org/gmane.comp.version-control.git/163757/focus=163840
|
||||
*/
|
||||
if (ps->recursive && S_ISDIR(entry->mode))
|
||||
return entry_interesting;
|
||||
|
|
Загрузка…
Ссылка в новой задаче