Skip to content

Commit 08f9d39

Browse files
committed
fix: correctly apply exclusion filter
1 parent e8758f6 commit 08f9d39

File tree

1 file changed

+34
-38
lines changed

1 file changed

+34
-38
lines changed

src/cli/cli.go

+34-38
Original file line numberDiff line numberDiff line change
@@ -431,50 +431,46 @@ Or you can go back to the classic croc behavior by enabling classic mode:
431431
if err != nil {
432432
return
433433
}
434-
minimalFileInfosInclude := []croc.FileInfo{}
435-
exclusions := []string{}
436-
for _, exclude := range crocOptions.Exclude {
437-
exclusions = append(exclusions, strings.ToLower(exclude))
438-
}
439-
for _, f := range minimalFileInfos {
440-
exclude := false
441-
for _, exclusion := range exclusions {
442-
if strings.Contains(path.Join(strings.ToLower(f.FolderRemote), strings.ToLower(f.Name)), exclusion) {
443-
exclude = true
444-
break
434+
if len(crocOptions.Exclude) > 0 {
435+
minimalFileInfosInclude := []croc.FileInfo{}
436+
emptyFoldersToTransferInclude := []croc.FileInfo{}
437+
for _, f := range minimalFileInfos {
438+
exclude := false
439+
for _, exclusion := range crocOptions.Exclude {
440+
if strings.Contains(path.Join(strings.ToLower(f.FolderRemote), strings.ToLower(f.Name)), exclusion) {
441+
exclude = true
442+
break
443+
}
444+
}
445+
if !exclude {
446+
minimalFileInfosInclude = append(minimalFileInfosInclude, f)
445447
}
446448
}
447-
if !exclude {
448-
minimalFileInfosInclude = append(minimalFileInfosInclude, f)
449-
}
450-
}
451-
emptyFoldersToTransferInclude := []croc.FileInfo{}
452-
for _, f := range emptyFoldersToTransfer {
453-
exclude := false
454-
for _, exclusion := range exclusions {
455-
if strings.Contains(path.Join(strings.ToLower(f.FolderRemote), strings.ToLower(f.Name)), exclusion) {
456-
exclude = true
457-
break
449+
for _, f := range emptyFoldersToTransfer {
450+
exclude := false
451+
for _, exclusion := range crocOptions.Exclude {
452+
if strings.Contains(path.Join(strings.ToLower(f.FolderRemote), strings.ToLower(f.Name)), exclusion) {
453+
exclude = true
454+
break
455+
}
456+
}
457+
if !exclude {
458+
emptyFoldersToTransferInclude = append(emptyFoldersToTransferInclude, f)
458459
}
459460
}
460-
if !exclude {
461-
emptyFoldersToTransferInclude = append(emptyFoldersToTransferInclude, f)
461+
totalNumberFolders = 0
462+
folderMap := make(map[string]bool)
463+
for _, f := range minimalFileInfosInclude {
464+
folderMap[f.FolderRemote] = true
462465
}
466+
for _, f := range emptyFoldersToTransferInclude {
467+
folderMap[f.FolderRemote] = true
468+
}
469+
totalNumberFolders = len(folderMap)
470+
minimalFileInfos = minimalFileInfosInclude
471+
emptyFoldersToTransfer = emptyFoldersToTransferInclude
463472
}
464473

465-
totalNumberFolders = 0
466-
folderMap := make(map[string]bool)
467-
for _, f := range minimalFileInfosInclude {
468-
folderMap[f.FolderRemote] = true
469-
log.Tracef("zxvc file: %+v", f)
470-
// is folder
471-
}
472-
for _, f := range emptyFoldersToTransferInclude {
473-
log.Tracef("zxvc folder: %+v", f)
474-
}
475-
totalNumberFolders = len(folderMap)
476-
log.Debugf("zxvc total number of folders: %d", totalNumberFolders)
477-
478474
cr, err := croc.New(crocOptions)
479475
if err != nil {
480476
return
@@ -483,7 +479,7 @@ Or you can go back to the classic croc behavior by enabling classic mode:
483479
// save the config
484480
saveConfig(c, crocOptions)
485481

486-
err = cr.Send(minimalFileInfosInclude, emptyFoldersToTransferInclude, totalNumberFolders)
482+
err = cr.Send(minimalFileInfos, emptyFoldersToTransfer, totalNumberFolders)
487483

488484
return
489485
}

0 commit comments

Comments
 (0)