svn-apply: add option for ignoring changes to ChangeLog files
authordburkart@apple.com <dburkart@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Apr 2016 17:13:04 +0000 (17:13 +0000)
committerdburkart@apple.com <dburkart@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Apr 2016 17:13:04 +0000 (17:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=156618

Reviewed by Darin Adler.

This change adds a new option to svn-apply, --skip-changelogs, which short-circuits out of
patch() if the file in question is a ChangeLog.

* Scripts/svn-apply:
(patch):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@199674 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/svn-apply

index 2e06ad4..ca26aeb 100644 (file)
@@ -1,3 +1,16 @@
+2016-04-18  Dana Burkart  <dburkart@apple.com>
+
+        svn-apply: add option for ignoring changes to ChangeLog files
+        https://bugs.webkit.org/show_bug.cgi?id=156618
+
+        Reviewed by Darin Adler.
+
+        This change adds a new option to svn-apply, --skip-changelogs, which short-circuits out of
+        patch() if the file in question is a ChangeLog.
+
+        * Scripts/svn-apply:
+        (patch):
+
 2016-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         Pending API Request URL is wrong after reloading
index f90aa65..ae23882 100755 (executable)
@@ -90,16 +90,18 @@ my $merge = 0;
 my $showHelp = 0;
 my $reviewer;
 my $force = 0;
+my $skipChangeLogs = 0;
 
 my $optionParseSuccess = GetOptions(
     "merge!" => \$merge,
     "help!" => \$showHelp,
     "reviewer=s" => \$reviewer,
-    "force!" => \$force
+    "force!" => \$force,
+    "skip-changelogs" => \$skipChangeLogs
 );
 
 if (!$optionParseSuccess || $showHelp) {
-    print STDERR basename($0) . " [-h|--help] [--force] [-m|--merge] [-r|--reviewer name] patch1 [patch2 ...]\n";
+    print STDERR basename($0) . " [-h|--help] [--force] [-m|--merge] [-r|--reviewer name] [--skip-changelogs] patch1 [patch2 ...]\n";
     exit 1;
 }
 
@@ -332,6 +334,11 @@ sub patch($)
     $addition = 1 if ($diffHashRef->{isNew} || $patch =~ /\n@@ -0,0 .* @@/);
     $deletion = 1 if ($diffHashRef->{isDeletion} || $patch =~ /\n@@ .* \+0,0 @@/);
 
+    if (basename($fullPath) eq "ChangeLog" && $skipChangeLogs) {
+        print "Skipping '$fullPath' since --skip-changelogs was passed on the command line.";
+        return;
+    }
+
     if (!$addition && !$deletion && !$isBinary && $hasTextChunks) {
         # Standard patch, patch tool can handle this.
         if (basename($fullPath) eq "ChangeLog") {