From b9b7f25fb9b070554aafbcfb8b529d19bf233dcb Mon Sep 17 00:00:00 2001 From: Nathan Wilcox Date: Fri, 19 May 2017 13:05:55 -0700 Subject: [PATCH] Make SystemExit errors less redundant in output; verify clean git status on master. --- zcutil/make-release.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/zcutil/make-release.py b/zcutil/make-release.py index 0f6ae63c..b44c0e19 100755 --- a/zcutil/make-release.py +++ b/zcutil/make-release.py @@ -25,7 +25,7 @@ def main(args=sys.argv[1:]): main_logged(opts.RELEASE_VERSION, opts.RELEASE_PREV) except SystemExit as e: logging.error(str(e)) - raise + raise SystemExit(1) except: logging.error(traceback.format_exc()) raise @@ -34,6 +34,7 @@ def main(args=sys.argv[1:]): # Top-level flow: def main_logged(release, releaseprev): verify_releaseprev_tag(releaseprev) + verify_git_clean_master() raise NotImplementedError(main_logged) @@ -74,6 +75,20 @@ def verify_releaseprev_tag(releaseprev): ) +def verify_git_clean_master(): + junk = sh_out('git', 'status', '--porcelain') + if junk.strip(): + raise SystemExit('There are uncommitted changes:\n' + junk) + + branch = sh_out('git', 'rev-parse', '--abbrev-ref', 'HEAD').strip() + if branch != 'master': + raise SystemExit( + "Expected branch 'master', found branch {!r}".format( + branch, + ), + ) + + # Helper code: def chdir_to_repo(): dn = os.path.dirname