Logically, this is correct behaviour, I think.
dump/* is a wildcard that matches every _existing_ local file in the
dump/ directory. Since the file you deleted doesn't exist, it isn't
considered by rsync.
dump/ tells rsync to compare the contents of the local dump/ directory
with those of the remote one and, in your case, will delete on the
remote host any files that don't exist locally.
Disclaimer: I haven't used --delete myself, so I could be wrong.
Terry.
Stuart Halliday wrote:
> If I use :
>
> rsync --delete -va dump/* remote::home
>
> to mirror a local directory containing several files to a remote server
then these are copied as expected.
>
> However, if I delete a file in 'dump' and do the command again then
this file in 'remote' is NOT deleted.
>
> But this works:
>
> rsync --delete -va dump/ remote::home
>
> ie, the file on the server is deleted.
>
> Is this a bug or are we not to use wildcards at the end of a source path?
>