comparison mercurial/util.py @ 3906:1063a631cb8e

merge with crew-stable
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sat, 16 Dec 2006 02:51:16 -0200
parents 6b4127c7d52a a8c0365b2ace
children 1cc60eebc71f
comparison
equal deleted inserted replaced
3903:f9136599700f 3906:1063a631cb8e
498 oldenv = {} 498 oldenv = {}
499 for k in environ: 499 for k in environ:
500 oldenv[k] = os.environ.get(k) 500 oldenv[k] = os.environ.get(k)
501 if cwd is not None: 501 if cwd is not None:
502 oldcwd = os.getcwd() 502 oldcwd = os.getcwd()
503 origcmd = cmd
504 if os.name == 'nt':
505 cmd = '"%s"' % cmd
503 try: 506 try:
504 for k, v in environ.iteritems(): 507 for k, v in environ.iteritems():
505 os.environ[k] = py2shell(v) 508 os.environ[k] = py2shell(v)
506 if cwd is not None and oldcwd != cwd: 509 if cwd is not None and oldcwd != cwd:
507 os.chdir(cwd) 510 os.chdir(cwd)
508 rc = os.system(cmd) 511 rc = os.system(cmd)
509 if rc and onerr: 512 if rc and onerr:
510 errmsg = '%s %s' % (os.path.basename(cmd.split(None, 1)[0]), 513 errmsg = '%s %s' % (os.path.basename(origcmd.split(None, 1)[0]),
511 explain_exit(rc)[0]) 514 explain_exit(rc)[0])
512 if errprefix: 515 if errprefix:
513 errmsg = '%s: %s' % (errprefix, errmsg) 516 errmsg = '%s: %s' % (errprefix, errmsg)
514 try: 517 try:
515 onerr.warn(errmsg + '\n') 518 onerr.warn(errmsg + '\n')