Skip to content

Commit 00ed630

Browse files
authored
fix: support window seperate in get files api (#153)
1 parent b27b65d commit 00ed630

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

versionmgr/worktree.go

+1
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,7 @@ type TreeManifest struct {
450450

451451
func (workTree *WorkTree) GetTreeManifest(ctx context.Context, pattern string) (TreeManifest, error) {
452452
//todo match all files, it maybe slow maybe need a new algo like filepath.Glob
453+
pattern = strings.ReplaceAll(pattern, "\\", "/")
453454
wk := FileWalk{curNode: workTree.root, object: workTree.object}
454455
g, err := glob.Compile(pattern)
455456
if err != nil {

versionmgr/worktree_test.go

+7
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,13 @@ func TestWorkTreeGetFiles(t *testing.T) {
189189
require.Equal(t, "ff/b/f.jpg", manifest.FileList[6])
190190
})
191191

192+
t.Run("replace windows style separate char", func(t *testing.T) {
193+
manifest, err := workTree.GetTreeManifest(ctx, "a\\b\\d.txt")
194+
require.NoError(t, err)
195+
require.Equal(t, 1, len(manifest.FileList))
196+
require.Equal(t, "a/b/d.txt", manifest.FileList[0])
197+
})
198+
192199
t.Run("single file", func(t *testing.T) {
193200
manifest, err := workTree.GetTreeManifest(ctx, "a/b/d.txt")
194201
require.NoError(t, err)

0 commit comments

Comments
 (0)