Diff
Modified: trunk/Tools/ChangeLog (289689 => 289690)
--- trunk/Tools/ChangeLog 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/ChangeLog 2022-02-12 14:20:42 UTC (rev 289690)
@@ -1,3 +1,16 @@
+2022-02-12 Commit Queue <[email protected]>
+
+ Unreviewed, reverting r289687.
+ https://bugs.webkit.org/show_bug.cgi?id=236539
+
+ broke commit queue
+
+ Reverted changeset:
+
+ "git-webkit setup should allow changing the credentials"
+ https://bugs.webkit.org/show_bug.cgi?id=235297
+ https://commits.webkit.org/r289687
+
2022-02-08 Jonathan Bedard <[email protected]>
git-webkit setup should allow changing the credentials
Modified: trunk/Tools/Scripts/libraries/webkitbugspy/setup.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitbugspy/setup.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitbugspy/setup.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -30,7 +30,7 @@
setup(
name='webkitbugspy',
- version='0.3.3',
+ version='0.3.2',
description='Library containing a shared API for various bug trackers.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(0, 3, 3)
+version = Version(0, 3, 2)
from .user import User
from .issue import Issue
Modified: trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -110,19 +110,11 @@
return self.issue(int(match.group('id')))
return None
- def credentials(self, required=True, validate=False):
- def validater(username, password):
- response = requests.get('{}/rest/user/{}?login={}&password={}'.format(self.url, username, username, password))
- if response.status_code == 200:
- return True
- sys.stderr.write('Login to {} for {} failed\n'.format(self.url, username))
- return False
-
+ def credentials(self, required=True):
return webkitcorepy.credentials(
url=""
required=required,
prompt=self.url.split('//')[-1],
- validater=validater if validate else None,
)
def _login_arguments(self, required=False, query=None):
Modified: trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -86,23 +86,9 @@
return self.issue(int(match.group('id')))
return None
- def credentials(self, required=True, validate=False):
- def validater(username, access_token):
- if '@' in username:
- sys.stderr.write("Provided username contains an '@' symbol. Please make sure to enter your GitHub username, not an email associated with the account\n")
- return False
- response = requests.get(
- '{}/user'.format(self.api_url),
- headers=dict(Accept='application/vnd.github.v3+json'),
- auth=HTTPBasicAuth(username, access_token),
- )
- if response.status_code == 200 and response.json().get('login') == username:
- return True
- sys.stderr.write('Login to {} for {} failed\n'.format(self.api_url, username))
- return False
-
+ def credentials(self, required=True):
hostname = self.url.split('/')[2]
- return webkitcorepy.credentials(
+ args = dict(
url=""
required=required,
name=self.url.split('/')[2].replace('.', '_').upper(),
@@ -110,9 +96,17 @@
Please go to https://{host}/settings/tokens/new and generate a new 'Personal access token' via 'Developer settings'
with 'repo' and 'workflow' access and appropriate 'Expiration' for your {host} user'''.format(host=hostname),
key_name='token',
- validater=validater if validate else None,
)
+ username, token = webkitcorepy.credentials(**args)
+ if username and '@' in username:
+ sys.stderr.write("Provided username contains an '@' symbol. Please make sure to enter your GitHub username, not an email associated with the account\n")
+ webkitcorepy.delete_credentials(url="" name=args['name'])
+ username, token = webkitcorepy.credentials(**args)
+ if username and '@' in username:
+ raise ValueError("GitHub usernames cannot have '@' in them")
+ return username, token
+
def request(self, path=None, params=None, headers=None, authenticated=None, paginate=True):
headers = {key: value for key, value in headers.items()} if headers else dict()
headers['Accept'] = headers.get('Accept', 'application/vnd.github.v3+json')
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/setup.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -30,7 +30,7 @@
setup(
name='webkitcorepy',
- version='0.13.0',
+ version='0.12.9',
description='Library containing various Python support classes and functions.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -44,7 +44,7 @@
from webkitcorepy.editor import Editor
from webkitcorepy.file_lock import FileLock
-version = Version(0, 13, 0)
+version = Version(0, 12, 10)
from webkitcorepy.autoinstall import Package, AutoInstall
if sys.version_info > (3, 0):
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -24,12 +24,12 @@
import sys
from subprocess import CalledProcessError
-from webkitcorepy import Environment, OutputCapture, Terminal, string_utils
+from webkitcorepy import Environment, OutputCapture, Terminal
_cache = dict()
-def credentials(url, required=True, name=None, prompt=None, key_name='password', validater=None, retry=3):
+def credentials(url, required=True, name=None, prompt=None, key_name='password'):
global _cache
name = name or url.split('/')[2].replace('.', '_')
@@ -51,50 +51,37 @@
username_prompted = False
key_prompted = False
+ if not username:
+ try:
+ if keyring:
+ username = keyring.get_password(url, 'username')
+ except (RuntimeError, AttributeError):
+ pass
- for attempt in range(retry):
- if attempt:
- sys.stderr.write('Ignoring keychain values and re-prompting user\n')
- if not username:
- try:
- if keyring and not attempt:
- username = keyring.get_password(url, 'username')
- except (RuntimeError, AttributeError):
- pass
+ if not username and required:
+ if not sys.stderr.isatty() or not sys.stdin.isatty():
+ raise OSError('No tty to prompt user for username')
+ sys.stderr.write("Authentication required to use {}\n".format(prompt or name))
+ sys.stderr.write('Username: ')
+ username = Terminal.input()
+ username_prompted = True
- if not username and required:
- if not sys.stderr.isatty() or not sys.stdin.isatty():
- raise OSError('No tty to prompt user for username')
- sys.stderr.write("Authentication required to use {}\n".format(prompt or name))
- sys.stderr.write('Username: ')
- username = Terminal.input()
- username_prompted = True
+ if not key:
+ try:
+ if keyring:
+ key = keyring.get_password(url, username)
+ except (RuntimeError, AttributeError):
+ pass
- if not key:
- try:
- if keyring and not attempt:
- key = keyring.get_password(url, username)
- except (RuntimeError, AttributeError):
- pass
+ if not key and required:
+ if not sys.stderr.isatty() or not sys.stdin.isatty():
+ raise OSError('No tty to prompt user for username')
+ key = getpass.getpass('{}: '.format(key_name.capitalize()))
+ key_prompted = True
- if not key and required:
- if not sys.stderr.isatty() or not sys.stdin.isatty():
- raise OSError('No tty to prompt user for username')
- key = getpass.getpass('{}: '.format(key_name.capitalize()))
- key_prompted = True
+ if username and key:
+ _cache[name] = (username, key)
- if username and key and (not validater or validater(username, key)):
- _cache[name] = (username, key)
- break
-
- username = None
- key = None
- sys.stderr.write("Failed to validate credentials for '{}' ({} attempt)\n".format(url, string_utils.ordinal(attempt + 1)))
-
- if not username or not key:
- sys.stderr.write("Exhausted attempts to prompt user for '{}' credentials\n".format(url))
- sys.exit(1)
-
if keyring and (username_prompted or key_prompted):
if Terminal.choose(
'Store username and {} in system keyring for {}?'.format(key_name, url),
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -29,7 +29,7 @@
setup(
name='webkitscmpy',
- version='4.1.4',
+ version='4.1.3',
description='Library designed to interact with git and svn repositories.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(4, 1, 4)
+version = Version(4, 1, 3)
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 (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -251,7 +251,7 @@
if code:
return result
- username, _ = rmt.credentials(required=True, validate=True)
+ username, _ = rmt.credentials(required=True)
log.info("Adding forked remote as '{}' and 'fork'...".format(username))
url = ""
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py (289689 => 289690)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py 2022-02-12 02:29:56 UTC (rev 289689)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py 2022-02-12 14:20:42 UTC (rev 289690)
@@ -272,8 +272,8 @@
users.create(contributor.name, contributor.github, contributor.emails)
self.tracker = Tracker(url, users=users)
- def credentials(self, required=True, validate=False):
- return self.tracker.credentials(required=required, validate=validate)
+ def credentials(self, required=True):
+ return self.tracker.credentials(required=required)
@property
def is_git(self):