Add a way to skip updating a particular repo

When entering a shell to fix the rebasing you can just `exit 255`
and we concider it means 'skip update'.

Also support entering shell on windows
This commit is contained in:
Thibault Saunier 2016-11-07 18:11:07 -03:00
parent 6707b41d08
commit a6e6feac3e

View file

@ -52,12 +52,20 @@ def update_repo(repo_name, repo_dir, revision, no_interaction, recurse_i=0):
if not no_interaction:
print("====================================="
"\n%sEntering a shell in %s to fix that"
" just `exit` once done`"
" just `exit 0` once done` or `exit 255`"
" to skip update for that repository"
"\n=====================================" % (
out, os.getcwd()))
out, repo_dir))
try:
subprocess.check_call(os.environ.get("SHELL", "/bin/sh"),
cwd=repo_dir)
if os.name is 'nt':
shell = os.environ.get("COMSPEC", r"C:\WINDOWS\system32\cmd.exe")
else:
shell = os.environ.get("SHELL", os.path.realpath("/bin/sh"))
subprocess.check_call(shell, cwd=repo_dir)
except subprocess.CalledProcessError as e:
if e.returncode == 255:
print("Skipping '%s' update" % repo_name)
return True
except:
# Result of subshell does not really matter
pass