From: Luke Diamand Date: Sat, 21 Nov 2015 09:54:40 +0000 (+0000) Subject: git-p4: add option to system() to return subshell status X-Git-Tag: v2.6.4~11^2~1 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/cbff4b25e4e6e08637403d76bf32dbbd4d517442 git-p4: add option to system() to return subshell status Add an optional parameter ignore_error to the git-p4 system() function. If used, it will return the subshell exit status rather than throwing an exception. Signed-off-by: Luke Diamand Signed-off-by: Jeff King --- diff --git a/git-p4.py b/git-p4.py index 0093fa3d83..9d55f9c1e9 100755 --- a/git-p4.py +++ b/git-p4.py @@ -192,14 +192,16 @@ def p4_has_move_command(): # assume it failed because @... was invalid changelist return True -def system(cmd): +def system(cmd, ignore_error=False): expand = isinstance(cmd,basestring) if verbose: sys.stderr.write("executing %s\n" % str(cmd)) retcode = subprocess.call(cmd, shell=expand) - if retcode: + if retcode and not ignore_error: raise CalledProcessError(retcode, cmd) + return retcode + def p4_system(cmd): """Specifically invoke p4 as the system command. """ real_cmd = p4_build_cmd(cmd)