[issue3156] changelog: decodeextra() is not the inverse of encodeextra()

lboehnke bugs at mercurial.selenic.com
Thu Dec 15 17:33:13 CST 2011


New submission from lboehnke <lboehnke at symmetricom.com>:

Problem Statement: 
The function mercurial.changelog.decodeextra() does not always reproduce the
original data that was encoded with mercurial.changelog.encodeextra().  One
specific example is if the original data contains a null byte (0x00).

Background: 
This is causing a problem for me while using the transplant extension.  The
transplant extension saves the transplant source's changeset hash in the
changelog's extra data.  The source hash is in binary form (not ascii
representation).  If the source hash contains a null byte, encode followed
by decode corrupts the source hash.

----------
messages: 18319
nosy: lboehnke
priority: bug
status: unread
title: changelog: decodeextra() is not the inverse of encodeextra()

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue3156>
____________________________________________________


More information about the Mercurial-devel mailing list