[PATCH 5 of 6 V3] util.system: remove unused handling of onerr=ui

Yuya Nishihara yuya at tcha.org
Wed Nov 12 08:38:04 CST 2014


# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1415420059 -32400
#      Sat Nov 08 13:14:19 2014 +0900
# Node ID b6944cd4197b1bb1d1fd9e2d6f94453d297c3f03
# Parent  d0361d0711b30aecfdc14b702411bebc693c170f
util.system: remove unused handling of onerr=ui

In our code, onerr is None or util.Abort.  It smells bad to overload ui and
exception class.

diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -619,9 +619,8 @@ def system(cmd, environ={}, cwd=None, on
     '''enhanced shell command execution.
     run with environment maybe modified, maybe in different dir.
 
-    if command fails and onerr is None, return status.  if ui object,
-    print error message and return status, else raise onerr object as
-    exception.
+    if command fails and onerr is None, return status, else raise onerr
+    object as exception.
 
     if out is specified, it is assumed to be a file-like object that has a
     write() method. stdout and stderr will be redirected to out.'''
@@ -670,10 +669,7 @@ def system(cmd, environ={}, cwd=None, on
                             explainexit(rc)[0])
         if errprefix:
             errmsg = '%s: %s' % (errprefix, errmsg)
-        try:
-            onerr.warn(errmsg + '\n')
-        except AttributeError:
-            raise onerr(errmsg)
+        raise onerr(errmsg)
     return rc
 
 def checksignature(func):


More information about the Mercurial-devel mailing list