Annotation of embedaddon/rsync/support/files-to-excludes, revision 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>