Ich habe das Problem gefunden. Meine Probleme wurden übrigens durch die rsync
Verarbeitung der Dateinamen verursacht. Der absolute Pfad (dh relativ zum Übertragungsstammverzeichnis) funktioniert nicht direkt, da die übergeordneten Verzeichnisse ebenfalls enthalten sein müssen. Andernfalls ist die gesamte Verzeichnisstruktur bereits ausgeschlossen und die gewünschte Datei oder das Unterverzeichnis wird nie verarbeitet. Das Handbuch sagt zwar (irgendwo), aber es ist sehr kontraintuitiv.
Um nur bestimmte Unterverzeichnisse einzuschließen, müssen alle übergeordneten Verzeichnisse enthalten sein, und alle anderen Unterverzeichnisse müssen dann wieder ausgeschlossen werden:
include sub/ include sub/dir/ include sub/dir/I/ include sub/dir/I/want/*** exclude sub/* exclude sub/dir/* exclude sub/dir/I/* include other/ include other/sub/ include other/sub/dir/ include other/sub/dir/I/ include other/sub/dir/I/want/*** exclude other/* exclude other/sub/* exclude other/sub/dir/* exclude other/sub/dir/I/* ... protect .hg* exclude /*
Die vorletzte Zeile schützt alle .hg*
Verzeichnisse und Dateien wie .hg/
und .hgtags
. Die Zeile schließt alle anderen Verzeichnisse im Übertragungsstammverzeichnis aus.
Ich habe ein Perl-Skript geschrieben, um die obige Filterdatei aus der Liste der gewünschten Unterverzeichnisse zu erstellen. Es ist unter http://www.perlmonks.org/?node_id=928357 verfügbar .