|
|
@@ -60,16 +60,19 @@ def check_git_status(): |
|
|
|
# Recommend 'git pull' if code is out of date |
|
|
|
print(colorstr('github: '), end='') |
|
|
|
try: |
|
|
|
if Path('.git').exists() and not Path('/workspace').exists() and check_online(): # not exist '/.dockerenv' |
|
|
|
url = subprocess.check_output( |
|
|
|
'git fetch && git config --get remote.origin.url', shell=True).decode('utf-8')[:-1] |
|
|
|
n = int(subprocess.check_output( |
|
|
|
'git rev-list $(git rev-parse --abbrev-ref HEAD)..origin/master --count', shell=True)) # commits behind |
|
|
|
if n > 0: |
|
|
|
print(f"⚠️ WARNING: code is out of date by {n} {'commits' if n > 1 else 'commmit'}. " |
|
|
|
f"Use 'git pull' to update or 'git clone {url}' to download latest.") |
|
|
|
else: |
|
|
|
print(f'up to date with {url} ✅') |
|
|
|
assert Path('.git').exists(), 'skipping check (not a git repository)' |
|
|
|
assert not Path('/workspace').exists(), 'skipping check (Docker image)' # not Path('/.dockerenv').exists() |
|
|
|
assert check_online(), 'skipping check (offline)' |
|
|
|
|
|
|
|
cmd = 'git fetch && git config --get remote.origin.url' # github repo url |
|
|
|
url = subprocess.check_output(cmd, shell=True).decode()[:-1] |
|
|
|
cmd = 'git rev-list $(git rev-parse --abbrev-ref HEAD)..origin/master --count' # commits behind |
|
|
|
n = int(subprocess.check_output(cmd, shell=True)) |
|
|
|
if n > 0: |
|
|
|
print(f"⚠️ WARNING: code is out of date by {n} {'commits' if n > 1 else 'commmit'}. " |
|
|
|
f"Use 'git pull' to update or 'git clone {url}' to download latest.") |
|
|
|
else: |
|
|
|
print(f'up to date with {url} ✅') |
|
|
|
except Exception as e: |
|
|
|
print(e) |
|
|
|
|