mirror of
https://github.com/restic/restic.git
synced 2024-12-23 08:16:36 +00:00
Merge pull request #500 from restic/fix-499
Fix exclude filters with trailing slash
This commit is contained in:
commit
039019689a
2 changed files with 15 additions and 0 deletions
|
@ -21,6 +21,8 @@ func Match(pattern, str string) (matched bool, err error) {
|
|||
return true, nil
|
||||
}
|
||||
|
||||
pattern = filepath.Clean(pattern)
|
||||
|
||||
if str == "" {
|
||||
return false, ErrBadString
|
||||
}
|
||||
|
|
|
@ -36,6 +36,17 @@ var matchTests = []struct {
|
|||
{"tesT.*", "/foo/bar/test.go", false},
|
||||
{"bar/*", "/foo/bar/baz", true},
|
||||
{"bar", "/foo/bar", true},
|
||||
{"/foo/bar", "/foo/bar", true},
|
||||
{"/foo/bar/", "/foo/bar", true},
|
||||
{"/foo/bar", "/foo/baz", false},
|
||||
{"/foo/bar", "/foo/baz/", false},
|
||||
{"/foo///bar", "/foo/bar", true},
|
||||
{"/foo/../bar", "/foo/bar", false},
|
||||
{"/foo/../bar", "/bar", true},
|
||||
{"/foo", "/foo/baz", true},
|
||||
{"/foo/", "/foo/baz", true},
|
||||
{"/foo/*", "/foo", false},
|
||||
{"/foo/*", "/foo/baz", true},
|
||||
{"bar", "/foo/bar/baz", true},
|
||||
{"bar", "/foo/bar/test.go", true},
|
||||
{"/foo/*test.*", "/foo/bar/test.go", false},
|
||||
|
@ -74,6 +85,8 @@ var matchTests = []struct {
|
|||
{"user/**/important*", "/home/user/work/x/y/hidden/x", false},
|
||||
{"user/**/hidden*/**/c", "/home/user/work/x/y/hidden/z/a/b/c", true},
|
||||
{"c:/foo/*test.*", "c:/foo/bar/test.go", false},
|
||||
{"c:/foo", "c:/foo/bar", true},
|
||||
{"c:/foo/", "c:/foo/bar", true},
|
||||
{"c:/foo/*/test.*", "c:/foo/bar/test.go", true},
|
||||
{"c:/foo/*/bar/test.*", "c:/foo/bar/test.go", false},
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue