--files-from: Why does RClone walks the filesystem?

What is the problem you are having with rclone?

From the docs:

Rclone will traverse the file system if you use --files-from, effectively using the files in --files-from as a set of filters. Rclone will not error if any of the files are missing.

Why so? We have been using --files-from for some time, and know about this behavior, but what is the reasoning behind this implementation? Just wondering if there is some history to it.

This forum post confused me even further, as in the response to this post, @ncw seems to suggest that --files-from should not scan the source.

It is usually more efficient for --files-from to traverse the file system. It doesn't traverse everything though just the possible directories that files are in.

It is more efficient because rclone can list a directory in 1 API call but it takes 1 API call per object if it doesn't list the directory.

If you have more than 1 file in each directory you are copying with --files-from them doing the directory listings is a win. This is usually the case.

If you don't want this then use --no-traverse

Isn't --no-traverse for the destination?

Yes it is, but it has the same effect with --files-from