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.
5use strict;
6
7my %hash;
8
9while (<>) {
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
24foreach (sort keys %hash) {
25    print "- $_*\n";
26}
27print "- /*\n";
28