aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/fast-import
diff options
context:
space:
mode:
authorPete Wyckoff <pw@padd.com>2011-02-19 08:17:55 -0500
committerJunio C Hamano <gitster@pobox.com>2011-02-21 09:50:16 -0800
commit68b28593899d528d4b59e7eb07cc37b85012376a (patch)
tree880f5d07c8c77ffa993746d8cee36b14f8393bf4 /contrib/fast-import
parentd00d2ed1c5bd41a26c61236e79e82764baad464b (diff)
downloadgit-68b28593899d528d4b59e7eb07cc37b85012376a.tar.gz
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/fast-import')
-rwxr-xr-xcontrib/fast-import/git-p45
1 files changed, 4 insertions, 1 deletions
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 04ce7e3b02..2fefea4de5 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"])