]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add ignore_helper.pl
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 10 May 2007 18:23:56 +0000 (18:23 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 10 May 2007 18:23:56 +0000 (18:23 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5127 d0543943-73ff-0310-b7d9-9358b9ac24b2

build/ignore_helper.pl [new file with mode: 0644]

diff --git a/build/ignore_helper.pl b/build/ignore_helper.pl
new file mode 100644 (file)
index 0000000..128bdcc
--- /dev/null
@@ -0,0 +1,74 @@
+################################################################################
+# ignore_helper.pl
+# Copyright (c) 2007 Anthony Minessale II <anthmct@yahoo.com>
+# 
+# Permission is hereby granted, free of charge, to any person
+# obtaining a copy of this software and associated documentation
+# files (the "Software"), to deal in the Software without
+# restriction, including without limitation the rights to use,
+# copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following
+# conditions:
+# 
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+# 
+# Usage: cat <file with list of things to ignore (full path from trunk root) > | ignore_helper.pl
+#
+################################################################################
+
+while (<>) {
+  my $path = $_;
+  my ($dir, $file) = $path =~ /(.*)\/([^\/]+)$/;
+  if (!$dir) {
+    $dir = ".";
+    $file = $path;
+  }
+
+  my $props = $PROP_HASH{$dir};
+  if (!$props) {
+    my @prop_tmp = `svn propget svn:ignore $dir`;
+    my @prop_tmp2;
+    foreach (@prop_tmp) {
+      $_ =~ s/[\r\n]//g;
+      if ($_) {
+       push @prop_tmp2, $_;
+      }
+    }
+    $props = \@prop_tmp2;
+      
+    $PROP_HASH{$dir} = $props;
+  }
+  if ($props) {
+    push @{$props}, "$file";
+  }
+}
+
+foreach (keys %PROP_HASH) {
+  my $dir = $_;
+  my @list = @{$PROP_HASH{$dir}};
+  my $path = $dir;
+  $path =~ s/\//_/g;
+  $path = "/tmp/$path.tmp";
+
+  print "Setting Properties on $dir\n";
+  
+  open O, ">$path";
+  foreach (@list) {
+    print O "$_\n";
+  }
+  close O;
+  my $cmd = "svn propset svn:ignore -F $path $dir";
+  system($cmd);
+  unlink($path);
+}