Mercurial > public > mercurial-scm > hg-stable
diff mercurial/scmutil.py @ 35419:b1959391a088
extdata: abort if external command exits with non-zero status (BC)
Per the last discussion, this is more reliable and consistent way than
suppressing an error. For grep, erroring out might be inconvenient, but
for curl, non-zero exit status should be detected. The latter wouldn't be
possible if non-zero status is ignored.
https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-October/105727.html
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 01 Oct 2017 12:21:50 +0100 |
parents | 137a08d82232 |
children | 8bb90cc4668e |
line wrap: on
line diff
--- a/mercurial/scmutil.py Thu Dec 14 21:30:00 2017 +0800 +++ b/mercurial/scmutil.py Sun Oct 01 12:21:50 2017 +0100 @@ -1100,12 +1100,11 @@ finally: if proc: proc.communicate() - if proc.returncode != 0: - # not an error so 'cmd | grep' can be empty - repo.ui.debug("extdata command '%s' %s\n" - % (cmd, util.explainexit(proc.returncode)[0])) if src: src.close() + if proc and proc.returncode != 0: + raise error.Abort(_("extdata command '%s' failed: %s") + % (cmd, util.explainexit(proc.returncode)[0])) return data