Bug 167169

Summary: REGRESSION (r210820): svn-create-patch does not emit property change only diff
Product: WebKit Reporter: Daniel Bates <dbates>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, commit-queue, ddkilzer, jbedard, lforschler
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
See Also: https://bugs.webkit.org/show_bug.cgi?id=167264
https://bugs.webkit.org/show_bug.cgi?id=167742
Bug Depends on: 166914    
Bug Blocks: 167742    
Attachments:
Description Flags
Work-in-progress diff
none
Patch and unit tests
none
Patch and unit tests ddkilzer: review+

Description Daniel Bates 2017-01-18 12:15:37 PST
Following the patch for bug #166914, svn-create-patch no longer emits a property change only diff.

You can reproduce this by performing the following in a terminal inside a top-level SVN checkout of WebKit:

1. svn propset svn:executable on Makefile
2. Tools/Scripts/svn-create-patch

Nothing will be emitted to standard output. But it should have emitted a property change only diff.
Comment 1 Daniel Bates 2017-01-18 12:17:18 PST
Created attachment 299163 [details]
Work-in-progress diff
Comment 2 Jonathan Bedard 2017-01-18 13:04:05 PST
*** Bug 167167 has been marked as a duplicate of this bug. ***
Comment 3 Daniel Bates 2017-01-18 13:46:26 PST
Comment on attachment 299163 [details]
Work-in-progress diff

The patch is insufficient as svn-create-patch does not produce at the correct patch for a copy without property + set property on copied file.
Comment 4 Daniel Bates 2017-01-18 13:55:31 PST
Here are some of the cases we should see how svn diff using SVN version 1.9 behaves:

1. Copy file without property + set property on copied file
2. Copy file with property
3. Copy file with property + set property on copied file
4. Copy file with property + modify property on copied file
5. Copy file with property + remove property from copied file
6. Move file without property + set property on moved file
7. Move file with property
8. Move file with property + set property on moved file
9. Move file with property + modify property on moved file
10. Move file with property + remove property from moved file
11. Set property on file.
12. Modify property on file.
13. Remove property from file.

Some of these cases may not be applicable or may fallout from handling other cases.
Comment 5 Daniel Bates 2017-01-20 17:00:24 PST
Created attachment 299405 [details]
Patch and unit tests

I am open to suggestion on the approach and name suggestions.
Comment 6 Daniel Bates 2017-01-20 17:02:38 PST
Some alternative names I thought of for the function fixSVNPatchForAdditionWithHistory were removeLeadingSVNDiffHeaderForAdditionWithHistory or removeLeadingSVNDiffHeader.
Comment 7 WebKit Commit Bot 2017-01-20 17:03:00 PST
Attachment 299405 [details] did not pass style-queue:


ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:42:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:43:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:51:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:52:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:63:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:64:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:71:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:72:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:82:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:83:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:95:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:96:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:111:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:112:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:124:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:125:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:153:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:154:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:166:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:167:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:184:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:185:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:197:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:198:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:215:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:216:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:229:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:230:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:248:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:249:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:263:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:264:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 32 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 8 Daniel Bates 2017-01-20 17:08:30 PST
Created attachment 299407 [details]
Patch and unit tests

Set the SVN property "allow-tabs" on file Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl as it intentionally contains tab characters.
Comment 9 WebKit Commit Bot 2017-01-20 17:09:54 PST
Attachment 299407 [details] did not pass style-queue:


ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:42:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:43:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:51:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:52:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:63:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:64:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:71:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:72:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:82:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:83:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:95:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:96:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:111:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:112:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:124:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:125:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:153:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:154:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:166:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:167:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:184:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:185:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:197:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:198:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:215:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:216:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:229:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:230:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:248:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:249:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:263:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:264:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 32 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 10 Daniel Bates 2017-01-20 17:11:32 PST
(In reply to comment #9)
> Attachment 299407 [details] did not pass style-queue:
> 
> 
> ERROR:
> Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.
> pl:42:  Line contains tab character.  [whitespace/tab] [5]
> [...]
> ERROR:
> Tools/Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.
> pl:264:  Line contains tab character.  [whitespace/tab] [5]
> Total errors found: 32 in 4 files
> 
> 
> If any of these errors are false positives, please file a bug against
> check-webkit-style.

The tab characters in this unit test file are intentional.
Comment 11 David Kilzer (:ddkilzer) 2017-02-01 15:32:24 PST
Comment on attachment 299407 [details]
Patch and unit tests

r=me
Comment 12 Daniel Bates 2017-02-01 17:42:48 PST
Committed r211543: <http://trac.webkit.org/changeset/211543>
Comment 13 David Kilzer (:ddkilzer) 2017-02-02 11:08:26 PST
(In reply to comment #12)
> Committed r211543: <http://trac.webkit.org/changeset/211543>

Follow-up fix:

Bug 167742: Undefined subroutine in svn-create-patch
Committed r211570: <http://trac.webkit.org/changeset/211570>