Don't allow a slash to be specified in a module name.
[rsync/rsync.git] / support / files-to-excludes
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";