Changeset 66800 in webkit
- Timestamp:
- Sep 4, 2010 6:12:17 PM (14 years ago)
- Location:
- trunk/WebKitTools
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKitTools/ChangeLog
r66797 r66800 1 2010-09-04 Daniel Bates <dbates@rim.com> 2 3 Reviewed by Martin Robinson. 4 5 Teach svn-apply/unapply about svn:mergeinfo 6 https://bugs.webkit.org/show_bug.cgi?id=45236 7 8 Recognize the svn:mergeinfo property and ignore it for now. 9 10 Currently, svn-apply/unapply recognize only '+' and '-' 11 property changes within a diff. We should add support 12 to recognize "Merged" and "Reverse-merged" changes as well. 13 Because svn:mergeinfo is metadata that is used only by SVN 14 and tends to be error-prone and/or nuisance (*), we will ignore 15 it for now. 16 (*) See "Parting Thoughts" of <http://www.collab.net/community/subversion/articles/merge-info.html>. 17 18 * Scripts/VCSUtils.pm: 19 - Modified parseSvnProperty() to recognize "Merged" and 20 "Reverse-merged" as the start of a property value. 21 * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl: 22 - Added the following unit tests: 23 "simple: add svn:mergeinfo" 24 "simple: delete svn:mergeinfo" 25 "simple: modified svn:mergeinfo" 26 * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: 27 - Added the following unit tests: 28 "simple: add svn:mergeinfo" 29 "simple: delete svn:mergeinfo" 30 "simple: modified svn:mergeinfo" 31 "simple: modified svn:mergeinfo using SVN 1.4 syntax" 32 "'Merged' change followed by 'Merged' change" 33 "'Reverse-merged' change followed by 'Reverse-merged' change" 34 * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: 35 - Added the following unit tests: 36 "'Merged' change" 37 "'Reverse-merged' change" 38 "'Reverse-merged' change followed by 'Merge' change" 39 "'Merged' change followed by 'Merge' change" 40 "'Reverse-merged' change followed by 'Reverse-merged' change" 41 "'Reverse-merged' change followed by 'Reverse-merged' change followed by 'Merged' change" 42 1 43 2010-09-04 Lucas De Marchi <lucas.demarchi@profusion.mobi> 2 44 -
trunk/WebKitTools/Scripts/VCSUtils.pm
r65732 r66800 95 95 my $svnPropertiesStartRegEx = qr#^Property changes on: ([^\r\n]+)#; # $1 is normally the same as the index path. 96 96 my $svnPropertyStartRegEx = qr#^(Modified|Name|Added|Deleted): ([^\r\n]+)#; # $2 is the name of the property. 97 my $svnPropertyValueStartRegEx = qr#^ (\+|- ) ([^\r\n]+)#; # $2 is the start of the property's value (which may span multiple lines).97 my $svnPropertyValueStartRegEx = qr#^ (\+|-|Merged|Reverse-merged) ([^\r\n]+)#; # $2 is the start of the property's value (which may span multiple lines). 98 98 99 99 # This method is for portability. Return the system-appropriate exit … … 1038 1038 1039 1039 my $propertyChangeDelta; 1040 if ($propertyValueType eq '+') {1040 if ($propertyValueType eq "+" || $propertyValueType eq "Merged") { 1041 1041 $propertyChangeDelta = 1; 1042 } elsif ($propertyValueType eq '-') {1042 } elsif ($propertyValueType eq "-" || $propertyValueType eq "Reverse-merged") { 1043 1043 $propertyChangeDelta = -1; 1044 1044 } else { … … 1094 1094 $eol = $POSTMATCH; 1095 1095 } else { 1096 die("Failed to find property value beginning with '+' or '-': \"$_\".");1096 die("Failed to find property value beginning with '+', '-', 'Merged', or 'Reverse-merged': \"$_\"."); 1097 1097 } 1098 1098 -
trunk/WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl
r60015 r66800 61 61 { 62 62 # New test 63 diffName => "simple: add svn:mergeinfo", 64 inputText => <<'END', 65 Property changes on: Makefile 66 ___________________________________________________________________ 67 Added: svn:mergeinfo 68 Merged /trunk/Makefile:r33020 69 END 70 expectedReturn => [ 71 { 72 propertyPath => "Makefile", 73 }, 74 undef], 75 expectedNextLine => undef, 76 }, 77 { 78 # New test 79 diffName => "simple: delete svn:mergeinfo", 80 inputText => <<'END', 81 Property changes on: Makefile 82 ___________________________________________________________________ 83 Deleted: svn:mergeinfo 84 Reverse-merged /trunk/Makefile:r33020 85 END 86 expectedReturn => [ 87 { 88 propertyPath => "Makefile", 89 }, 90 undef], 91 expectedNextLine => undef, 92 }, 93 { 94 # New test 95 diffName => "simple: modified svn:mergeinfo", 96 inputText => <<'END', 97 Property changes on: Makefile 98 ___________________________________________________________________ 99 Modified: svn:mergeinfo 100 Reverse-merged /trunk/Makefile:r33020 101 Merged /trunk/Makefile:r41697 102 END 103 expectedReturn => [ 104 { 105 propertyPath => "Makefile", 106 }, 107 undef], 108 expectedNextLine => undef, 109 }, 110 { 111 # New test 63 112 diffName => "simple: delete svn:executable", 64 113 inputText => <<'END', -
trunk/WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl
r65734 r66800 74 74 expectedNextLine => undef, 75 75 }, 76 { 77 # New test 78 diffName => "simple: add svn:mergeinfo", 79 inputText => <<'END', 80 Added: svn:mergeinfo 81 Merged /trunk/Makefile:r33020 82 END 83 expectedReturn => [ 84 { 85 name => "svn:mergeinfo", 86 propertyChangeDelta => 1, 87 value => "/trunk/Makefile:r33020", 88 }, 89 undef], 90 expectedNextLine => undef, 91 }, 92 { 93 # New test 94 diffName => "simple: delete svn:mergeinfo", 95 inputText => <<'END', 96 Deleted: svn:mergeinfo 97 Reverse-merged /trunk/Makefile:r33020 98 END 99 expectedReturn => [ 100 { 101 name => "svn:mergeinfo", 102 propertyChangeDelta => -1, 103 value => "/trunk/Makefile:r33020", 104 }, 105 undef], 106 expectedNextLine => undef, 107 }, 108 { 109 # New test 110 diffName => "simple: modified svn:mergeinfo", 111 inputText => <<'END', 112 Modified: svn:mergeinfo 113 Reverse-merged /trunk/Makefile:r33020 114 Merged /trunk/Makefile:r41697 115 END 116 expectedReturn => [ 117 { 118 name => "svn:mergeinfo", 119 propertyChangeDelta => 1, 120 value => "/trunk/Makefile:r41697", 121 }, 122 undef], 123 expectedNextLine => undef, 124 }, 76 125 #### 77 126 # Using SVN 1.4 syntax … … 79 128 { 80 129 # New test 130 diffName => "simple: modified svn:mergeinfo using SVN 1.4 syntax", 131 inputText => <<'END', 132 Name: svn:mergeinfo 133 Reverse-merged /trunk/Makefile:r33020 134 Merged /trunk/Makefile:r41697 135 END 136 expectedReturn => [ 137 { 138 name => "svn:mergeinfo", 139 propertyChangeDelta => 1, 140 value => "/trunk/Makefile:r41697", 141 }, 142 undef], 143 expectedNextLine => undef, 144 }, 145 { 146 # New test 81 147 diffName => "simple: delete svn:executable using SVN 1.4 syntax", 82 148 inputText => <<'END', … … 459 525 "Added: svn:executable\n"], 460 526 expectedNextLine => " + *\n", 527 }, 528 { 529 # New test 530 diffName => "'Merged' change followed by 'Merged' change", 531 inputText => <<'END', 532 Added: svn:mergeinfo 533 Merged /trunk/Makefile:r33020 534 Merged /trunk/Makefile.shared:r58350 535 END 536 expectedReturn => [ 537 { 538 name => "svn:mergeinfo", 539 propertyChangeDelta => 1, 540 value => "/trunk/Makefile.shared:r58350", 541 }, 542 undef], 543 expectedNextLine => undef, 544 }, 545 { 546 # New test 547 diffName => "'Reverse-merged' change followed by 'Reverse-merged' change", 548 inputText => <<'END', 549 Deleted: svn:mergeinfo 550 Reverse-merged /trunk/Makefile:r33020 551 Reverse-merged /trunk/Makefile.shared:r58350 552 END 553 expectedReturn => [ 554 { 555 name => "svn:mergeinfo", 556 propertyChangeDelta => -1, 557 value => "/trunk/Makefile.shared:r58350", 558 }, 559 undef], 560 expectedNextLine => undef, 461 561 }, 462 562 #### -
trunk/WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl
r65734 r66800 59 59 { 60 60 # New test 61 diffName => "'Merged' change", 62 inputText => <<'END', 63 Merged /trunk/Makefile:r33020 64 END 65 expectedReturn => ["/trunk/Makefile:r33020", undef], 66 expectedNextLine => undef, 67 }, 68 { 69 # New test 70 diffName => "'Reverse-merged' change", 71 inputText => <<'END', 72 Reverse-merged /trunk/Makefile:r33020 73 END 74 expectedReturn => ["/trunk/Makefile:r33020", undef], 75 expectedNextLine => undef, 76 }, 77 { 78 # New test 61 79 diffName => "single-line '-' change followed by empty line with Unix line endings", 62 80 inputText => <<'END', … … 153 171 expectedNextLine => "long sentence that spans\n", 154 172 }, 173 { 174 # New test 175 diffName => "'Reverse-merged' change followed by 'Merge' change", 176 inputText => <<'END', 177 Reverse-merged /trunk/Makefile:r33020 178 Merged /trunk/Makefile:r41697 179 END 180 expectedReturn => ["/trunk/Makefile:r33020", " Merged /trunk/Makefile:r41697\n"], 181 expectedNextLine => undef, 182 }, 183 { 184 # New test 185 diffName => "'Merged' change followed by 'Merge' change", 186 inputText => <<'END', 187 Merged /trunk/Makefile:r33020 188 Merged /trunk/Makefile.shared:r58350 189 END 190 expectedReturn => ["/trunk/Makefile:r33020", " Merged /trunk/Makefile.shared:r58350\n"], 191 expectedNextLine => undef, 192 }, 193 { 194 # New test 195 diffName => "'Reverse-merged' change followed by 'Reverse-merged' change", 196 inputText => <<'END', 197 Reverse-merged /trunk/Makefile:r33020 198 Reverse-merged /trunk/Makefile.shared:r58350 199 END 200 expectedReturn => ["/trunk/Makefile:r33020", " Reverse-merged /trunk/Makefile.shared:r58350\n"], 201 expectedNextLine => undef, 202 }, 203 { 204 # New test 205 diffName => "'Reverse-merged' change followed by 'Reverse-merged' change followed by 'Merged' change", 206 inputText => <<'END', 207 Reverse-merged /trunk/Makefile:r33020 208 Reverse-merged /trunk/Makefile.shared:r58350 209 Merged /trunk/ChangeLog:r64190 210 END 211 expectedReturn => ["/trunk/Makefile:r33020", " Reverse-merged /trunk/Makefile.shared:r58350\n"], 212 expectedNextLine => " Merged /trunk/ChangeLog:r64190\n", 213 }, 155 214 ); 156 215
Note: See TracChangeset
for help on using the changeset viewer.