The following modifiers are accepted after a ???+??? or ???-???:
o A / specifies that the include/exclude rule should be matched
against the absolute pathname of the current item. For example,
???-/ /etc/passwd??? would exclude the passwd file any time the
transfer was sending files from the ???/etc??? directory, and ???-/
subdir/foo??? would always exclude ???foo??? when it is in a dir named
???subdir???, even if ???foo??? is at the root of the current
transfer.
Hence, your dir-merge setup causes only the absolute path /tmp/ to be
excluded. If you want to exclude /data/home/andy/tmp/ then put that in
your .rsync-filter .
The leading slash behaves differently in a dir-merge rule than in a
"normal" include file.
At least, that's how I read the manpage :-)
Paul