Diff
Modified: trunk/Tools/ChangeLog (274213 => 274214)
--- trunk/Tools/ChangeLog 2021-03-10 14:57:46 UTC (rev 274213)
+++ trunk/Tools/ChangeLog 2021-03-10 15:49:01 UTC (rev 274214)
@@ -1,3 +1,24 @@
+2021-03-10 Jonathan Bedard <[email protected]>
+
+ git-webkit should have an "info" command
+ https://bugs.webkit.org/show_bug.cgi?id=222846
+ <rdar://problem/75171053>
+
+ Reviewed by Ryosuke Niwa.
+
+ * Scripts/libraries/webkitscmpy/setup.py: Bump version.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
+ (main): Add Info command.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
+ (Info):
+ (Info.parser): Moved from Find.parser, exclude argument.
+ (Info.main): Moved from Find.main, add a default reference.
+ (Find):
+ (Find.parser): Invoke Info.parser.
+ (Find.main): Invoke Info.main with user's specified reference.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
+
2021-03-10 Michael Catanzaro <[email protected]>
[WPE][GTK] Introduce NeedsUnbrandedUserAgent quirk and use it for accounts.google.com, docs.google.com, and drive.google.com
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (274213 => 274214)
--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-03-10 14:57:46 UTC (rev 274213)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-03-10 15:49:01 UTC (rev 274214)
@@ -29,7 +29,7 @@
setup(
name='webkitscmpy',
- version='0.12.5',
+ version='0.13.0',
description='Library designed to interact with git and svn repositories.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (274213 => 274214)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-03-10 14:57:46 UTC (rev 274213)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-03-10 15:49:01 UTC (rev 274214)
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(0, 12, 5)
+version = Version(0, 13, 0)
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 (274213 => 274214)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py 2021-03-10 14:57:46 UTC (rev 274213)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py 2021-03-10 15:49:01 UTC (rev 274214)
@@ -31,7 +31,7 @@
from .clean import Clean
from .command import Command
from .checkout import Checkout
-from .find import Find
+from .find import Find, Info
from .pull import Pull
from .setup_git_svn import SetupGitSvn
@@ -57,7 +57,7 @@
subparsers = parser.add_subparsers(help='sub-command help')
- programs = [Find, Checkout, Canonicalize, Pull, Clean]
+ programs = [Find, Info, Checkout, Canonicalize, Pull, Clean]
if subversion:
programs.append(SetupGitSvn)
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py (274213 => 274214)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py 2021-03-10 14:57:46 UTC (rev 274213)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py 2021-03-10 15:49:01 UTC (rev 274214)
@@ -29,9 +29,9 @@
from webkitscmpy import Commit, local
-class Find(Command):
- name = 'find'
- help = 'Given an identifier, revision or hash, normalize and print the commit'
+class Info(Command):
+ name = 'info'
+ help = 'Print information about the HEAD commit'
@classmethod
def parser(cls, parser, loggers=None):
@@ -55,16 +55,10 @@
default=True,
)
- parser.add_argument(
- 'argument', nargs=1,
- type=str, default=None,
- help='String representation of a commit or branch to be normalized',
- )
-
@classmethod
- def main(cls, args, repository, **kwargs):
+ def main(cls, args, repository, reference='HEAD', **kwargs):
try:
- commit = repository.find(args.argument[0], include_log=args.include_log)
+ commit = repository.find(reference, include_log=args.include_log)
except (local.Scm.Exception, ValueError) as exception:
# ValueErrors and Scm exceptions usually contain enough information to be displayed
# to the user as an error
@@ -103,3 +97,22 @@
print(u' {}'.format(line))
return 0
+
+
+class Find(Command):
+ name = 'find'
+ help = 'Given an identifier, revision or hash, normalize and print the commit'
+
+ @classmethod
+ def parser(cls, parser, loggers=None):
+ Info.parser(parser, loggers=loggers)
+
+ parser.add_argument(
+ 'argument', nargs=1,
+ type=str, default=None,
+ help='String representation of a commit or branch to be normalized',
+ )
+
+ @classmethod
+ def main(cls, args, repository, **kwargs):
+ return Info.main(args, repository=repository, reference=args.argument[0], **kwargs)
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py (274213 => 274214)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py 2021-03-10 14:57:46 UTC (rev 274213)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py 2021-03-10 15:49:01 UTC (rev 274214)
@@ -233,3 +233,31 @@
Revision: 4
'''.format(datetime.fromtimestamp(1601686700).strftime('%a %b %d %H:%M:%S %Y')),
)
+
+
+class TestInfo(unittest.TestCase):
+ path = '/mock/repository'
+
+ def test_basic_git(self):
+ with OutputCapture() as captured, mocks.local.Git(self.path), mocks.local.Svn(), MockTime:
+ self.assertEqual(0, program.main(
+ args=('info', '-q'),
+ path=self.path,
+ ))
+ self.assertEqual(captured.stdout.getvalue(), '5@main | d8bce26fa65c | Patch Series\n')
+
+ def test_basic_git_svn(self):
+ with OutputCapture() as captured, mocks.local.Git(self.path, git_svn=True), mocks.local.Svn(), MockTime:
+ self.assertEqual(0, program.main(
+ args=('info', '-q'),
+ path=self.path,
+ ))
+ self.assertEqual(captured.stdout.getvalue(), '5@main | d8bce26fa65c, r9 | Patch Series\n')
+
+ def test_basic_svn(self):
+ with OutputCapture() as captured, mocks.local.Git(), mocks.local.Svn(self.path), MockTime:
+ self.assertEqual(0, program.main(
+ args=('info', '-q'),
+ path=self.path,
+ ))
+ self.assertEqual(captured.stdout.getvalue(), '4@trunk | r6 | 6th commit\n')