[PATCH 3 of 3] util.system: remove unused handling of onerr=ui

Yuya Nishihara yuya at tcha.org
Fri Nov 7 23:42:15 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 0315dcc7fe622f59874e434fe498ce3a9a85abef
# Parent  670e7adaca7fe1b727268dad6ba3e377a8760ff5
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
@@ -613,9 +613,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.'''
@@ -664,10 +663,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