# HG changeset patch # User Gregory Szorc # Date 2019-07-29 01:16:08 # Node ID 24cd5b0ba5b304c15d122171a07160ee650dc2fe # Parent 701341f57ceb1ac03b697f6201845b6594d6d3ce automation: allow exit code of 1 for `hg push` `hg push` exits 1 for no-ops. No-op pushes should be fine in the context of automation. diff --git a/contrib/automation/hgautomation/linux.py b/contrib/automation/hgautomation/linux.py --- a/contrib/automation/hgautomation/linux.py +++ b/contrib/automation/hgautomation/linux.py @@ -489,7 +489,11 @@ def synchronize_hg(source_path: pathlib. 'ssh://%s//hgwork/src' % public_ip, ] - subprocess.run(args, cwd=str(source_path), env=env, check=True) + res = subprocess.run(args, cwd=str(source_path), env=env) + + # Allow 1 (no-op) to not trigger error. + if res.returncode not in (0, 1): + res.check_returncode() # TODO support synchronizing dirty working directory. diff --git a/contrib/automation/hgautomation/windows.py b/contrib/automation/hgautomation/windows.py --- a/contrib/automation/hgautomation/windows.py +++ b/contrib/automation/hgautomation/windows.py @@ -180,7 +180,11 @@ def synchronize_hg(hg_repo: pathlib.Path 'ssh://%s/c:/hgdev/src' % public_ip, ] - subprocess.run(args, cwd=str(hg_repo), env=env, check=True) + res = subprocess.run(args, cwd=str(hg_repo), env=env) + + # Allow 1 (no-op) to not trigger error. + if res.returncode not in (0, 1): + res.check_returncode() run_powershell(winrm_client, HG_UPDATE_CLEAN.format(revision=full_revision))