Annotation of embedaddon/rsync/support/files-to-excludes, revision 1.1.1.1
1.1 misho 1: #!/usr/bin/perl
2: # This script takes an input of filenames and outputs a set of
3: # include/exclude directives that can be used by rsync to copy
4: # just the indicated files using an --exclude-from=FILE option.
5: use strict;
6:
7: my %hash;
8:
9: while (<>) {
10: chomp;
11: s#^/+##;
12: my $path = '/';
13: while (m#([^/]+/)/*#g) {
14: $path .= $1;
15: print "+ $path\n" unless $hash{$path}++;
16: }
17: if (m#([^/]+)$#) {
18: print "+ $path$1\n";
19: } else {
20: delete $hash{$path};
21: }
22: }
23:
24: foreach (sort keys %hash) {
25: print "- $_*\n";
26: }
27: print "- /*\n";
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>