diff options
author | Pete Wyckoff <pw@padd.com> | 2011-02-19 08:17:55 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-02-21 09:50:16 -0800 |
commit | 68b28593899d528d4b59e7eb07cc37b85012376a (patch) | |
tree | 880f5d07c8c77ffa993746d8cee36b14f8393bf4 /contrib | |
parent | d00d2ed1c5bd41a26c61236e79e82764baad464b (diff) | |
download | git-68b28593899d528d4b59e7eb07cc37b85012376a.tar.gz git-68b28593899d528d4b59e7eb07cc37b85012376a.tar.xz |
git-p4: fix key error for p4 problem
Some p4 failures result in an error, but the info['code'] is not
set. These include a bad p4 executable, or a core dump from p4,
and other odd internal errors where p4 fails to generate proper
marshaled output.
Make sure the info key exists before using it to avoid a python
traceback.
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/fast-import/git-p4 | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4 index 04ce7e3b0..2fefea4de 100755 --- a/contrib/fast-import/git-p4 +++ b/contrib/fast-import/git-p4 @@ -1440,10 +1440,13 @@ class P4Sync(Command): % (p, revision) for p in self.depotPaths])): - if info['code'] == 'error': + if 'code' in info and info['code'] == 'error': sys.stderr.write("p4 returned an error: %s\n" % info['data']) sys.exit(1) + if 'p4ExitCode' in info: + sys.stderr.write("p4 exitcode: %s\n" % info['p4ExitCode']) + sys.exit(1) change = int(info["change"]) |