Changeset 270349 in webkit


Ignore:
Timestamp:
Dec 2, 2020 9:05:39 AM (3 years ago)
Author:
Jonathan Bedard
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.

Location:
trunk/Tools
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r270348 r270349  
     12020-12-02  Jonathan Bedard  <jbedard@apple.com>
     2
     3        [webkitscmpy] Handle adding, modifying and deleting files on branches
     4        https://bugs.webkit.org/show_bug.cgi?id=219432
     5        <rdar://problem/71894089>
     6
     7        Rubber-stamped by Aakash Jain.
     8
     9         Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
     10        * Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
     11        (Svn._branch_for): Support branch detection when files are added or deleted.
     12        * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
     13        (Svn.__init__):
     14        * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
     15        (Svn.request):
     16        * Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
     17        (Svn._branch_for): Support branch detection when files are deleted.
     18
    1192020-12-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
    220
  • trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py

    r270254 r270349  
    4747    )
    4848
    49 version = Version(0, 4, 1)
     49version = Version(0, 4, 2)
    5050
    5151AutoInstall.register(Package('dateutil', Version(2, 8, 1), pypi_name='python-dateutil'))
  • trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py

    r269891 r270349  
    242242                partial = ''
    243243            elif partial == '':
    244                 partial = line.lstrip()
     244                partial = line.lstrip()[2:]
    245245            elif partial:
    246246                line = line.lstrip()
    247                 while line.startswith('M ') and not line.startswith(partial):
     247                while line.startswith(('A ', 'D ', 'M ')) and not line[2:].startswith(partial):
    248248                    partial = partial[:-1]
    249249
    250250        if len(partial) <= 3:
    251251            raise self.Exception('Malformed set  of edited files')
    252         partial = partial[2:].split(' ')[0]
     252        partial = partial.split(' ')[0]
    253253        candidate = partial.split('/')[2 if partial.startswith('/branches') else 1]
    254254
  • trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py

    r269401 r270349  
    180180                        'Changed paths:\n'
    181181                        '    M /{branch}/ChangeLog\n'
    182                         '    M /{branch}/file.cpp\n'.format(
     182                        '    M /{branch}/file.cpp\n'
     183                        '    D /{branch}/deleted.cpp\n'
     184                        '    A /{branch}/added.cpp\n'.format(
    183185                            line=self.log_line(self.find(revision=args[6])),
    184186                            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)
  • trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py

    r270038 r270349  
    372372                            ),
    373373                            '<S:modified-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/Changelog</S:modified-path>\n'
    374                             '<S:modified-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/file.cpp</S:modified-path>\n'.format(
     374                            '<S:modified-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/file.cpp</S:modified-path>\n'
     375                            '<S:added-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/deleted.cpp</S:added-path>\n'
     376                            '<S:deleted-path node-kind="file" text-mods="true" prop-mods="false">/{branch}/added.cpp</S:deleted-path>\n'.format(
    375377                                branch=commit.branch if commit.branch.split('/')[0] in ['trunk', 'tags'] else 'branches/{}'.format(commit.branch),
    376378                            ) if 'S:discover-changed-paths' in data['S:log-report'] else '',
  • trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py

    r270038 r270349  
    291291        partial = None
    292292        items = xmltodict.parse(response.text)['S:log-report']['S:log-item']
    293         for group in (items.get('S:modified-path', []), items.get('S:added-path', [])):
     293        for group in (items.get('S:modified-path', []), items.get('S:added-path', []), items.get('S:deleted-path', [])):
    294294            for item in group if isinstance(group, list) else [group]:
    295295                if not partial:
Note: See TracChangeset for help on using the changeset viewer.