svn-apply failed to apply a patch (deleting file with svn property)
authorjbedard@apple.com <jbedard@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Jan 2017 18:05:07 +0000 (18:05 +0000)
committerjbedard@apple.com <jbedard@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Jan 2017 18:05:07 +0000 (18:05 +0000)
https://bugs.webkit.org/show_bug.cgi?id=165953

Reviewed by Daniel Bates.

* Scripts/VCSUtils.pm:
(parseSvnPropertyValue): The beginning of a diff will cause an early exit in the case of no empty newlines.
* Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: Add tests without break between diffs for properties.

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

Tools/ChangeLog
Tools/Scripts/VCSUtils.pm
Tools/Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl

index 6f41e86..6fcce03 100644 (file)
@@ -1,3 +1,14 @@
+2017-01-10  Jonathan Bedard  <jbedard@apple.com>
+
+        svn-apply failed to apply a patch (deleting file with svn property)
+        https://bugs.webkit.org/show_bug.cgi?id=165953
+
+        Reviewed by Daniel Bates.
+
+        * Scripts/VCSUtils.pm:
+        (parseSvnPropertyValue): The beginning of a diff will cause an early exit in the case of no empty newlines.
+        * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: Add tests without break between diffs for properties.
+
 2017-01-10  Ryan Haddad  <ryanhaddad@apple.com>
 
         Update flakiness dashboard configuration.
index 0a9d34e..78c72ae 100644 (file)
@@ -1565,7 +1565,7 @@ sub parseSvnPropertyValue($$)
     }
 
     while (<$fileHandle>) {
-        if (/^[\r\n]+$/ || /$svnPropertyValueStartRegEx/ || /$svnPropertyStartRegEx/ || /$svnPropertyValueNoNewlineRegEx/) {
+        if (/^[\r\n]+$/ || /$svnPropertyValueStartRegEx/ || /$svnPropertyStartRegEx/ || /$svnPropertyValueNoNewlineRegEx/ || /$svnDiffStartRegEx/) {
             # Note, we may encounter an empty line before the contents of a binary patch.
             # Also, we check for $svnPropertyValueStartRegEx because a '-' property may be
             # followed by a '+' property in the case of a "Modified" or "Name" property.
index 4ca5607..267375b 100644 (file)
@@ -236,6 +236,45 @@ END
 "Added: svn:executable\n"],
     expectedNextLine => "## -0,0 +1 ##\n",
 },
+###
+# Property value using SVN 1.7 syntax followed by start of next diff
+##
+{
+    # New test
+    diffName => "add svn:ignore using SVN 1.7 syntax, followed by start of next diff",
+    inputText => <<'END',
+Added: svn:ignore
+## -0,0 +1 ##
++*
+Index: Makefile.shared
+END
+    expectedReturn => [
+{
+    name => "svn:ignore",
+    propertyChangeDelta => 1,
+    value => "*",
+},
+"Index: Makefile.shared\n"],
+    expectedNextLine => undef,
+},
+{
+    # New test
+    diffName => "remove svn:ignore using SVN 1.7 syntax, followed by start of next diff",
+    inputText => <<'END',
+Deleted: svn:ignore
+## -1 +0,0 ##
+-*
+Index: Makefile.shared
+END
+    expectedReturn => [
+{
+    name => "svn:ignore",
+    propertyChangeDelta => -1,
+    value => "*",
+},
+"Index: Makefile.shared\n"],
+    expectedNextLine => undef,
+},
 ####
 # Property value followed by empty line and start of next diff
 ##