]> git.ipfire.org Git - thirdparty/freeswitch.git/blob - build/ignore_helper.pl
Merge pull request #2155 from signalwire/move_to_packetizer
[thirdparty/freeswitch.git] / build / ignore_helper.pl
1 ################################################################################
2 # ignore_helper.pl
3 # Copyright (c) 2007-2015 Anthony Minessale II <anthm@freeswitch.org>
4 #
5 # Permission is hereby granted, free of charge, to any person
6 # obtaining a copy of this software and associated documentation
7 # files (the "Software"), to deal in the Software without
8 # restriction, including without limitation the rights to use,
9 # copy, modify, merge, publish, distribute, sublicense, and/or sell
10 # copies of the Software, and to permit persons to whom the
11 # Software is furnished to do so, subject to the following
12 # conditions:
13 #
14 # The above copyright notice and this permission notice shall be
15 # included in all copies or substantial portions of the Software.
16 #
17 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19 # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21 # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24 # OTHER DEALINGS IN THE SOFTWARE.
25 #
26 # Usage: cat <file with list of things to ignore (full path from trunk root) > | ignore_helper.pl
27 #
28 ################################################################################
29
30 while (<>) {
31 my $path = $_;
32 my ($dir, $file) = $path =~ /(.*)\/([^\/]+)$/;
33 if (!$dir) {
34 $dir = ".";
35 $file = $path;
36 }
37
38 my $props = $PROP_HASH{$dir};
39 if (!$props) {
40 my @prop_tmp = `svn propget svn:ignore $dir`;
41 my @prop_tmp2;
42 foreach (@prop_tmp) {
43 $_ =~ s/[\r\n]//g;
44 if ($_) {
45 push @prop_tmp2, $_;
46 }
47 }
48 $props = \@prop_tmp2;
49
50 $PROP_HASH{$dir} = $props;
51 }
52 if ($props) {
53 push @{$props}, "$file";
54 }
55 }
56
57 foreach (keys %PROP_HASH) {
58 my $dir = $_;
59 my @list = @{$PROP_HASH{$dir}};
60 my $path = $dir;
61 $path =~ s/\//_/g;
62 $path = "/tmp/$path.tmp";
63
64 print "Setting Properties on $dir\n";
65
66 open O, ">$path";
67 foreach (@list) {
68 print O "$_\n";
69 }
70 close O;
71 my $cmd = "svn propset svn:ignore -F $path $dir";
72 system($cmd);
73 unlink($path);
74 }