Title: [281346] trunk/Tools
Revision
281346
Author
jbed...@apple.com
Date
2021-08-20 15:52:18 -0700 (Fri, 20 Aug 2021)

Log Message

[git-webkit] Add pull-request command (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>

Reviewed by Dewei Zhu.

* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Sort programs, add aliases.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(Command): Add alias
(FilteredCommand): Inherit from Command.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (281345 => 281346)


--- trunk/Tools/ChangeLog	2021-08-20 22:43:21 UTC (rev 281345)
+++ trunk/Tools/ChangeLog	2021-08-20 22:52:18 UTC (rev 281346)
@@ -1,3 +1,19 @@
+2021-08-20  Jonathan Bedard  <jbed...@apple.com>
+
+        [git-webkit] Add pull-request command (Part 1)
+        https://bugs.webkit.org/show_bug.cgi?id=229089
+        <rdar://problem/81908751>
+
+        Reviewed by Dewei Zhu.
+
+        * Scripts/libraries/webkitscmpy/setup.py: Bump version.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
+        (main): Sort programs, add aliases.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
+        (Command): Add alias
+        (FilteredCommand): Inherit from Command.
+
 2021-08-20  Jon Lee  <jon...@apple.com>
 
         Teach run-webkit-tests to print a summary of test status

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (281345 => 281346)


--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2021-08-20 22:43:21 UTC (rev 281345)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2021-08-20 22:52:18 UTC (rev 281346)
@@ -29,7 +29,7 @@
 
 setup(
     name='webkitscmpy',
-    version='1.1.4',
+    version='1.1.5',
     description='Library designed to interact with git and svn repositories.',
     long_description=readme(),
     classifiers=[

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (281345 => 281346)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2021-08-20 22:43:21 UTC (rev 281345)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2021-08-20 22:52:18 UTC (rev 281346)
@@ -46,7 +46,7 @@
         "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
     )
 
-version = Version(1, 1, 4)
+version = Version(1, 1, 5)
 
 AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
 AutoInstall.register(Package('monotonic', Version(1, 5)))

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py (281345 => 281346)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py	2021-08-20 22:43:21 UTC (rev 281345)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py	2021-08-20 22:52:18 UTC (rev 281346)
@@ -65,14 +65,18 @@
 
     subparsers = parser.add_subparsers(help='sub-command help')
 
-    programs = [Find, Info, Checkout, Canonicalize, Pull, Clean, Log, Blame, Setup]
+    programs = [Blame, Canonicalize, Checkout, Clean, Find, Info, Log, Pull, Setup]
     if subversion:
         programs.append(SetupGitSvn)
 
     for program in programs:
-        subparser = subparsers.add_parser(program.name, help=program.help)
+        kwargs = dict(help=program.help)
+        if sys.version_info > (3, 0):
+            kwargs['aliases'] = program.aliases
+        subparser = subparsers.add_parser(program.name, **kwargs)
         subparser.set_defaults(main=program.main)
         subparser.set_defaults(program=program.name)
+        subparser.set_defaults(aliases=program.aliases)
         arguments.LoggingGroup(
             subparser,
             loggers=loggers,
@@ -83,7 +87,11 @@
     args = args or sys.argv[1:]
     parsed, unknown = parser.parse_known_args(args=args)
     if unknown:
-        program_index = args.index(parsed.program)
+        program_index = 0
+        for candidate in [parsed.program] + parsed.aliases:
+            if candidate in args:
+                program_index = args.index(candidate)
+                break
         if getattr(parsed, 'args', None):
             parsed.args = [arg for arg in args[program_index:] if arg in parsed.args or arg in unknown]
         if any([option not in getattr(parsed, 'args', []) for option in unknown]):

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py (281345 => 281346)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py	2021-08-20 22:43:21 UTC (rev 281345)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py	2021-08-20 22:52:18 UTC (rev 281346)
@@ -34,6 +34,7 @@
 
 class Command(object):
     name = None
+    aliases = []
     help = None
 
     @classmethod
@@ -49,7 +50,7 @@
         return -1
 
 
-class FilteredCommand(object):
+class FilteredCommand(Command):
     IDENTIFIER = 'identifier'
     HASH = 'hash'
     REVISION = 'revision'
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to