Merge branch 'dr/maint-ls-tree-prefix-recursion-fix'
* dr/maint-ls-tree-prefix-recursion-fix: ls-tree $di $dir: do not mistakenly recurse into directories
This commit is contained in:
commit
2e1e96126f
@ -52,6 +52,8 @@ static int show_recursive(const char *base, int baselen, const char *pathname)
|
||||
speclen = strlen(spec);
|
||||
if (speclen <= len)
|
||||
continue;
|
||||
if (spec[len] && spec[len] != '/')
|
||||
continue;
|
||||
if (memcmp(pathname, spec, len))
|
||||
continue;
|
||||
return 1;
|
||||
|
@ -165,4 +165,13 @@ test_expect_success \
|
||||
EOF
|
||||
test_output'
|
||||
|
||||
test_expect_success \
|
||||
'ls-tree with one path a prefix of the other' \
|
||||
'git ls-tree $tree path2/baz path2/bazbo >current &&
|
||||
make_expected <<\EOF &&
|
||||
040000 tree X path2/baz
|
||||
120000 blob X path2/bazbo
|
||||
EOF
|
||||
test_output'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user