diff --git a/contrib/hgperf b/contrib/hgperf --- a/contrib/hgperf +++ b/contrib/hgperf @@ -94,4 +94,4 @@ dispatch.runcommand = runcommand -dispatch.run() +sys.exit(dispatch.run()) diff --git a/hg b/hg --- a/hg +++ b/hg @@ -38,4 +38,4 @@ sys.exit(-1) from mercurial import dispatch -dispatch.run() +sys.exit(dispatch.run()) diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -145,7 +145,7 @@ # There's not much we can do about I/O errors at this point. code = -1 - sys.exit(code & 255) + return code & 255 if pycompat.ispy3: def _initstdio():