Files
zshrc/scripts/bin/git-switch
T
Azalea (on HyDEV-Daisy) 2548fa8ec4 [U] Scripts
2022-08-01 12:26:39 -04:00

32 lines
923 B
Python
Executable File

#!/usr/bin/env python3
import os
import subprocess
print('Checking git repo...')
url = subprocess.check_output('git remote get-url origin'.split()).decode('utf-8').strip()
print(f'Current url: {url}')
if url.startswith('http'):
print('> HTTP git remote detected, switching to SSH')
repo = url.split('github.com/')[-1]
if repo.endswith('.git'):
repo = repo[:-4]
print(f'> Repo detected: {repo}')
new_url = f'git@github.com:{repo}.git'
elif url.startswith('git@'):
# git@github.com:hykilpikonna/zshrc.git
print('> SSH git remote detected, switching to HTTP')
repo = url.split(':')[-1].split('.git')[0]
print(f'> Repo detected: {repo}')
new_url = f'https://github.com/{repo}'
else:
print('Failed to detect protocol, exiting')
exit(-1)
print(f'New URL: {new_url}')
print('> Setting new url...')
os.system(f'git remote set-url origin {new_url}')
print('> Done!')