Mercurial > hg
view mercurial/node.py @ 9474:6ea653272c09
convert: fix marshalling in P4 convert extension to use a binary stream
The Perforce convert extension uses the p4 -G command line option and
marshal.load to obtain information about the history of a Perforce depot.
The method marshal.load must be provided with a binary stream (mode='rb') in
order to function reliably. Certain changelist descriptions or other elements
in a depot history could trigger a premature EOFError, causing the conversion
process to fail.
This may resolve the issue discussed in the following thread:
http://www.selenic.com/pipermail/mercurial/2009-July/026813.html
author | Peter Ingebretson <pingebre@yahoo.com> |
---|---|
date | Wed, 23 Sep 2009 15:36:51 +0200 |
parents | 8b2cd04a6e97 |
children | 25e572394f5c |
line wrap: on
line source
# node.py - basic nodeid manipulation for mercurial # # Copyright 2005, 2006 Matt Mackall <mpm@selenic.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2, incorporated herein by reference. import binascii nullrev = -1 nullid = "\0" * 20 # This ugly style has a noticeable effect in manifest parsing hex = binascii.hexlify bin = binascii.unhexlify def short(node): return hex(node[:6])