|
|
@@ -349,18 +349,8 @@ func (f *sendReceiveFolder) processNeeded(ignores *ignore.Matcher, folderFiles *
|
|
|
changed++
|
|
|
|
|
|
case file.Type == protocol.FileInfoTypeFile:
|
|
|
- // Queue files for processing after directories and symlinks, if
|
|
|
- // it has availability.
|
|
|
-
|
|
|
- devices := folderFiles.Availability(file.Name)
|
|
|
- for _, dev := range devices {
|
|
|
- if _, ok := f.model.Connection(dev); ok {
|
|
|
- f.queue.Push(file.Name, file.Size, file.ModTime())
|
|
|
- changed++
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
- f.newError("pull", file.Name, errNotAvailable)
|
|
|
+ // Queue files for processing after directories and symlinks.
|
|
|
+ f.queue.Push(file.Name, file.Size, file.ModTime())
|
|
|
|
|
|
case runtime.GOOS == "windows" && file.IsSymlink():
|
|
|
file.SetUnsupported(f.shortID)
|
|
|
@@ -492,8 +482,16 @@ nextFile:
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // Handle the file normally, by coping and pulling, etc.
|
|
|
- f.handleFile(fi, copyChan, finisherChan, dbUpdateChan)
|
|
|
+ devices := folderFiles.Availability(fileName)
|
|
|
+ for _, dev := range devices {
|
|
|
+ if _, ok := f.model.Connection(dev); ok {
|
|
|
+ changed++
|
|
|
+ // Handle the file normally, by coping and pulling, etc.
|
|
|
+ f.handleFile(fi, copyChan, finisherChan, dbUpdateChan)
|
|
|
+ continue nextFile
|
|
|
+ }
|
|
|
+ }
|
|
|
+ f.newError("pull", fileName, errNotAvailable)
|
|
|
}
|
|
|
|
|
|
return changed, fileDeletions, dirDeletions, nil
|