forked from TrueCloudLab/rclone
drive: fix --drive-shared-with-me from the root with ls and --fast-list
When we changed recursive lists to use --fast-list by default this broke listing with --drive-shared-with-me from the root. This turned out to be an unwarranted assumption in the ListR code that all items would have a parent folder that we had searched for - this isn't true for shared with me items. This was fixed when using --drive-shared-with-me to give items that didn't have any parents a synthetic parent. Fixes #3639
This commit is contained in:
parent
ba7c2ac443
commit
2bbfcc74e9
1 changed files with 4 additions and 0 deletions
|
@ -1515,6 +1515,10 @@ func (f *Fs) listRRunner(ctx context.Context, wg *sync.WaitGroup, in <-chan list
|
|||
listRSlices{dirs, paths}.Sort()
|
||||
var iErr error
|
||||
_, err := f.list(ctx, dirs, "", false, false, false, func(item *drive.File) bool {
|
||||
// shared with me items have no parents when at the root
|
||||
if f.opt.SharedWithMe && len(item.Parents) == 0 && len(paths) == 1 && paths[0] == "" {
|
||||
item.Parents = dirs
|
||||
}
|
||||
for _, parent := range item.Parents {
|
||||
// only handle parents that are in the requested dirs list
|
||||
i := sort.SearchStrings(dirs, parent)
|
||||
|
|
Loading…
Reference in a new issue