Title: [270349] trunk/Tools
Revision
270349
Author
[email protected]
Date
2020-12-02 09:05:39 -0800 (Wed, 02 Dec 2020)

Log Message

[webkitscmpy] Handle adding, modifying and deleting files on branches
https://bugs.webkit.org/show_bug.cgi?id=219432
<rdar://problem/71894089>

Rubber-stamped by Aakash Jain.

 Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._branch_for): Support branch detection when files are added or deleted.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.request):
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._branch_for): Support branch detection when files are deleted.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (270348 => 270349)


--- trunk/Tools/ChangeLog	2020-12-02 16:39:03 UTC (rev 270348)
+++ trunk/Tools/ChangeLog	2020-12-02 17:05:39 UTC (rev 270349)
@@ -1,3 +1,21 @@
+2020-12-02  Jonathan Bedard  <[email protected]>
+
+        [webkitscmpy] Handle adding, modifying and deleting files on branches
+        https://bugs.webkit.org/show_bug.cgi?id=219432
+        <rdar://problem/71894089>
+
+        Rubber-stamped by Aakash Jain.
+
+         Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
+        (Svn._branch_for): Support branch detection when files are added or deleted.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
+        (Svn.__init__):
+        * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
+        (Svn.request):
+        * Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
+        (Svn._branch_for): Support branch detection when files are deleted.
+
 2020-12-02  Carlos Alberto Lopez Perez  <[email protected]>
 
         Switch EWS workers for JSC-ARMv7-32bits build and test queues to a new machine.

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (270348 => 270349)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2020-12-02 16:39:03 UTC (rev 270348)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2020-12-02 17:05:39 UTC (rev 270349)
@@ -46,7 +46,7 @@
         "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
     )
 
-version = Version(0, 4, 1)
+version = Version(0, 4, 2)
 
 AutoInstall.register(Package('dateutil', Version(2, 8, 1), pypi_name='python-dateutil'))
 AutoInstall.register(Package('fasteners', Version(0, 15, 0)))

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py (270348 => 270349)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py	2020-12-02 16:39:03 UTC (rev 270348)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py	2020-12-02 17:05:39 UTC (rev 270349)
@@ -241,15 +241,15 @@
             if partial is None and line == 'Changed paths:':
                 partial = ''
             elif partial == '':
-                partial = line.lstrip()
+                partial = line.lstrip()[2:]
             elif partial:
                 line = line.lstrip()
-                while line.startswith('M ') and not line.startswith(partial):
+                while line.startswith(('A ', 'D ', 'M ')) and not line[2:].startswith(partial):
                     partial = partial[:-1]
 
         if len(partial) <= 3:
             raise self.Exception('Malformed set  of edited files')
-        partial = partial[2:].split(' ')[0]
+        partial = partial.split(' ')[0]
         candidate = partial.split('/')[2 if partial.startswith('/branches') else 1]
 
         # Tags are a unique case for SVN, because they're treated as branches in native SVN

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py (270348 => 270349)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py	2020-12-02 16:39:03 UTC (rev 270348)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py	2020-12-02 17:05:39 UTC (rev 270349)
@@ -179,7 +179,9 @@
                         '{line}\n'
                         'Changed paths:\n'
                         '    M /{branch}/ChangeLog\n'
-                        '    M /{branch}/file.cpp\n'.format(
+                        '    M /{branch}/file.cpp\n'
+                        '    D /{branch}/deleted.cpp\n'
+                        '    A /{branch}/added.cpp\n'.format(
                             line=self.log_line(self.find(revision=args[6])),
                             branch=self.find(revision=args[6]).branch if self.find(revision=args[6]).branch.split('/')[0] in ['trunk', 'tags'] else 'branches/{}'.format(self.find(revision=args[6]).branch)
                         ),

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py (270348 => 270349)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py	2020-12-02 16:39:03 UTC (rev 270348)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py	2020-12-02 17:05:39 UTC (rev 270349)
@@ -371,7 +371,9 @@
                                 commit.author.email,
                             ),
                             '<S:modified-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/Changelog</S:modified-path>\n'
-                            '<S:modified-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/file.cpp</S:modified-path>\n'.format(
+                            '<S:modified-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/file.cpp</S:modified-path>\n'
+                            '<S:added-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/deleted.cpp</S:added-path>\n'
+                            '<S:deleted-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/added.cpp</S:deleted-path>\n'.format(
                                 branch=commit.branch if commit.branch.split('/')[0] in ['trunk', 'tags'] else 'branches/{}'.format(commit.branch),
                             ) if 'S:discover-changed-paths' in data['S:log-report'] else '',
                         ) for commit in commits

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py (270348 => 270349)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py	2020-12-02 16:39:03 UTC (rev 270348)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py	2020-12-02 17:05:39 UTC (rev 270349)
@@ -290,7 +290,7 @@
 
         partial = None
         items = xmltodict.parse(response.text)['S:log-report']['S:log-item']
-        for group in (items.get('S:modified-path', []), items.get('S:added-path', [])):
+        for group in (items.get('S:modified-path', []), items.get('S:added-path', []), items.get('S:deleted-path', [])):
             for item in group if isinstance(group, list) else [group]:
                 if not partial:
                     partial = item['#text']
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to