1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00

git-llvm: Add option to push to Github with SSH

Summary:
For users with 2FA Github password challenge can be rather cumbersome
and I personally use key based authentication through SSH. This fixes
the SSH feature that was present and exposes it as a command line
option.

Reviewers: tstellar

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D71534
This commit is contained in:
Valentin Churavy 2019-12-16 04:35:14 -05:00
parent a2ba0cdc5a
commit 3832e17574

View File

@ -206,7 +206,7 @@ def get_fetch_url():
def get_push_url(user='', ssh=False): def get_push_url(user='', ssh=False):
if ssh: if ssh:
return 'ssh://{}'.format(GIT_URL) return 'ssh://git@{}'.format(GIT_URL)
return 'https://{}'.format(GIT_URL) return 'https://{}'.format(GIT_URL)
@ -221,7 +221,7 @@ def get_revs_to_push(branch):
return commits return commits
def git_push_one_rev(rev, dry_run, branch): def git_push_one_rev(rev, dry_run, branch, ssh):
# Check if this a merge commit by counting the number of parent commits. # Check if this a merge commit by counting the number of parent commits.
# More than 1 parent commmit means this is a merge. # More than 1 parent commmit means this is a merge.
num_parents = len(git('show', '--no-patch', '--format="%P"', rev).split()) num_parents = len(git('show', '--no-patch', '--format="%P"', rev).split())
@ -237,7 +237,7 @@ def git_push_one_rev(rev, dry_run, branch):
return return
# Second push to actually push the commit # Second push to actually push the commit
git('push', get_push_url(), '{}:{}'.format(rev, branch), print_raw_stderr=True) git('push', get_push_url(ssh=ssh), '{}:{}'.format(rev, branch), print_raw_stderr=True)
def cmd_push(args): def cmd_push(args):
@ -261,7 +261,7 @@ def cmd_push(args):
die("Aborting") die("Aborting")
for r in revs: for r in revs:
git_push_one_rev(r, dry_run, args.branch) git_push_one_rev(r, dry_run, args.branch, args.ssh)
if __name__ == '__main__': if __name__ == '__main__':
@ -292,6 +292,13 @@ if __name__ == '__main__':
help='Do everything other than commit to svn. Leaves junk in the svn ' help='Do everything other than commit to svn. Leaves junk in the svn '
'repo, so probably will not work well if you try to commit more ' 'repo, so probably will not work well if you try to commit more '
'than one rev.') 'than one rev.')
parser_push.add_argument(
'-s',
'--ssh',
dest='ssh',
action='store_true',
help='Use the SSH protocol for authentication, '
'instead of HTTPS with username and password.')
parser_push.add_argument( parser_push.add_argument(
'-f', '-f',
'--force', '--force',