Title: [290661] trunk/Tools
Revision
290661
Author
[email protected]
Date
2022-03-01 11:07:21 -0800 (Tue, 01 Mar 2022)

Log Message

[git-webkit] Gate information URL on initial setup
https://bugs.webkit.org/show_bug.cgi?id=237325
<rdar://problem/89620175>

Reviewed by Aakash Jain.

* Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.main): Offer to open documentation URL if repository has not been setup.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
(TestSetup.test_github):

Canonical link: https://commits.webkit.org/247932@main

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (290660 => 290661)


--- trunk/Tools/ChangeLog	2022-03-01 19:06:21 UTC (rev 290660)
+++ trunk/Tools/ChangeLog	2022-03-01 19:07:21 UTC (rev 290661)
@@ -1,3 +1,18 @@
+2022-03-01  Jonathan Bedard  <[email protected]>
+
+        [git-webkit] Gate information URL on initial setup
+        https://bugs.webkit.org/show_bug.cgi?id=237325
+        <rdar://problem/89620175>
+
+        Reviewed by Aakash Jain.
+
+        * Scripts/libraries/webkitscmpy/setup.py: Bump version.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
+        (Setup.main): Offer to open documentation URL if repository has not been setup.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
+        (TestSetup.test_github):
+
 2022-03-01  J Pascoe  <[email protected]>
 
         REGRESSION(r290539-r290538): [ iOS ] 3 TestWebKitAPI.WebAuthenticationPanel.* tests are constantly failing/crashing. 

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (290660 => 290661)


--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2022-03-01 19:06:21 UTC (rev 290660)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2022-03-01 19:07:21 UTC (rev 290661)
@@ -29,7 +29,7 @@
 
 setup(
     name='webkitscmpy',
-    version='4.3.3',
+    version='4.3.4',
     description='Library designed to interact with git and svn repositories.',
     long_description=readme(),
     classifiers=[

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (290660 => 290661)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2022-03-01 19:06:21 UTC (rev 290660)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2022-03-01 19:07:21 UTC (rev 290661)
@@ -46,7 +46,7 @@
         "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
     )
 
-version = Version(4, 3, 3)
+version = Version(4, 3, 4)
 
 AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
 AutoInstall.register(Package('jinja2', Version(2, 11, 3)))

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py (290660 => 290661)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py	2022-03-01 19:06:21 UTC (rev 290660)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py	2022-03-01 19:07:21 UTC (rev 290661)
@@ -301,12 +301,26 @@
 
     @classmethod
     def main(cls, args, repository, **kwargs):
-        print('For detailed information about options this script is configuring see:')
-        print('https://github.com/WebKit/WebKit/wiki/Git-Config#Configuration-Options')
+        if isinstance(repository, local.Git):
+            if 'true' != repository.config().get('webkitscmpy.setup', ''):
+                info_url = 'https://github.com/WebKit/WebKit/wiki/Git-Config#Configuration-Options'
+                print('For detailed information about the options configured by this script, please see:\n{}'.format(info_url))
+                if not args.defaults and Terminal.choose("Would you like to open this URL in your browser?", default='Yes') == 'Yes':
+                    run(['open', info_url])
+                print('\n')
 
-        if isinstance(repository, local.Git):
             result = cls.git(args, repository, **kwargs)
-            print('Setup failed' if result else 'Setup succeeded!')
+
+            if result:
+                print('Setup failed')
+            else:
+                print('Setup succeeded!')
+                run(
+                    [local.Git.executable(), 'config', 'webkitscmpy.setup', 'true'],
+                    capture_output=True,
+                    cwd=repository.root_path,
+                )
+
             return result
 
         if isinstance(repository, remote.GitHub):

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py (290660 => 290661)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py	2022-03-01 19:06:21 UTC (rev 290660)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py	2022-03-01 19:07:21 UTC (rev 290661)
@@ -54,8 +54,6 @@
 
         self.assertEqual(
             captured.stdout.getvalue(),
-            'For detailed information about options this script is configuring see:\n'
-            'https://github.com/WebKit/WebKit/wiki/Git-Config#Configuration-Options\n'
             "Create a private fork of 'WebKit' belonging to 'username' ([Yes]/No): \n"
             'Setup succeeded!\n',
         )
@@ -88,8 +86,8 @@
 
         self.assertEqual(
             captured.stdout.getvalue(),
-            'For detailed information about options this script is configuring see:\n'
-            'https://github.com/WebKit/WebKit/wiki/Git-Config#Configuration-Options\n'
+            'For detailed information about the options configured by this script, please see:\n'
+            'https://github.com/WebKit/WebKit/wiki/Git-Config#Configuration-Options\n\n\n'
             'Setup succeeded!\n',
         )
         self.assertEqual(captured.stderr.getvalue(), '')
@@ -111,7 +109,7 @@
     def test_github_checkout(self):
         self.maxDiff = None
         with OutputCapture(level=logging.INFO) as captured, mocks.remote.GitHub() as remote, \
-            MockTerminal.input('n', '[email protected]', 'n', 'Committer', 'n', 'overwrite', 'disabled', '1', 'y', 'y'), \
+            MockTerminal.input('n', 'n', '[email protected]', 'n', 'Committer', 'n', 'overwrite', 'disabled', '1', 'y', 'y'), \
             mocks.local.Git(self.path, remote='https://{}.git'.format(remote.remote)) as repo, \
             wkmocks.Environment(EMAIL_ADDRESS=''):
 
@@ -131,8 +129,11 @@
         programs = ['default'] + [p.name for p in Editor.programs()]
         self.assertEqual(
             captured.stdout.getvalue(),
-            '''For detailed information about options this script is configuring see:
+            '''For detailed information about the options configured by this script, please see:
 https://github.com/WebKit/WebKit/wiki/Git-Config#Configuration-Options
+Would you like to open this URL in your browser? ([Yes]/No): 
+
+
 Set '[email protected]' as the git user email for this repository ([Yes]/No): 
 Enter git user email for this repository: 
 Set 'Tim Apple' as the git user name for this repository ([Yes]/No): 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to