[PATCHv1 2/6] git-p4: add P4CommandException to report errors talking to Perforce
- From
Luke Diamand <luke@diamand.org>
- Date
- Jan 29, 2020, 11:12 UTC
- Message-ID
- <20200129111246.12196-3-luke@diamand.org>
- In-Reply-To
- <20200129111246.12196-2-luke@diamand.org>
Currently when there is a P4 error, git-p4 calls die() which just exits.
This then leaves the git-fast-import process still running, and can even leave p4 itself still running.
As a result, git-p4 fails to exit cleanly. This is a particular problem for people running the unit tests in regression.
Use this exception to report errors upwards, cleaning up as the error propagates.
Signed-off-by: Luke Diamand <luke@diamand.org> --- git-p4.py | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/git-p4.py b/git-p4.py index 23724defe8..df2a956622 100755 --- a/git-p4.py +++ b/git-p4.py @@ -618,6 +618,14 @@ def __init__(self, exit_code, p4_result, limit): super(P4RequestSizeException, self).__init__(exit_code, p4_result) self.limit = limit +class P4CommandException(P4Exception): + """ Something went wrong calling p4 which means we have to give up """ + def __init__(self, msg): + self.msg = msg + + def __str__(self): + return self.msg + def isModeExecChanged(src_mode, dst_mode): return isModeExec(src_mode) != isModeExec(dst_mode)
-- 2.20.1.390.gb5101f9297