diff mercurial/commands.py @ 508:42a660abaf75

[PATCH] Harden os.system -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] Harden os.system From: Bryan O'Sullivan <bos@serpentine.com> Add util.system function. This is similar to os.system, but will either succeed (if the process finishes with a zero exit code) or raise a util.CommandError (if the process exits uncleanly or is killed by a signal). Add util.explain_exit function. This tends to be ubiquitous in code that calls other processes, and must describe what has gone wrong. Change some uses of os.system over to util.system. manifest hash: e3bf4adcac5b915432ec0af00efdbcef86bea4b1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCwSipywK+sNU5EO8RAr0RAJkBDt8XQ7mYQAWNHNgTOVt1eyWU1QCfe1oO 2OwxyWqpbRNACVJHHfZ3/Xw= =OaRX -----END PGP SIGNATURE-----
author mpm@selenic.com
date Tue, 28 Jun 2005 02:38:33 -0800
parents 1f81ebff98c9
children 98a2935c3d6c
line wrap: on
line diff
--- a/mercurial/commands.py	Tue Jun 28 02:34:14 2005 -0800
+++ b/mercurial/commands.py	Tue Jun 28 02:38:33 2005 -0800
@@ -291,7 +291,7 @@
 
         if link:
             ui.debug("copying by hardlink\n")
-            os.system("cp -al %s/.hg .hg" % source)
+            util.system("cp -al %s/.hg .hg" % source)
             try:
                 os.remove(".hg/dirstate")
             except: pass
@@ -871,6 +871,8 @@
             return r
         else:
             return d()
+    except util.CommandError, inst:
+        u.warn("abort: %s\n" % inst.args)
     except hg.RepoError, inst:
         u.warn("abort: ", inst, "!\n")
     except SignalInterrupt: