OS is Debian 10, rsync version 3.1.3. I'm running rsync like this:

```
time rsync -ar --delete --info=progress2 --files-from=filelist.txt . /path/to/dest

```

This works to copy the files over, but doesn't delete anything that's been removed. (Either removed entirely from src, or in my case, removed from filelist.txt) That is a huge problem. The only workaround I have found is to simply nuke the entire destination and just copy everything over again, but this takes a huge amount of time and basically negates the point of using rsync in the first place.

Is this a bug? How do I get rsync to work properly, honoring the --delete flag like it's supposed to?

Edit:

For example:

* If filelist.txt cotains "foo" then /path/to/dest will contain "foo".
* If filelist.txt cotains "foo" and "bar" then /path/to/dest will contain "foo" and "bar".
* If filelist.txt cotains "foo", "bar", and "bat" then /path/to/dest will contain "foo", "bar", and "bat".
* etc

Assume "foo" "bar" "bat" etc are directories.