[MERGE] Shelf 1 / 5: TreeTransform serialization

John Arbash Meinel john at arbash-meinel.com
Fri Oct 17 23:04:11 BST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Aaron Bentley wrote:
> Hi all,
> 
> This patch implements TreeTransform serialization so that we can
> reconstruct a preview tree for unshelving purposes.
> 
> A serialized TreeTransform is similar to a changeset, which is a staple
> of other VCSes.  However, a serialized TreeTransform can refer to
> unversioned, as well as versioned files.  This could for the basis of an
> undo command in the future.
> 
> Serialization uses single-parent mpdiffs for delta compression, packs
> for record separation, bencode for metadata storage.  It's all
> suspiciously like bundle format 4.
> 
> Aaron

Just a comment as I haven't reviewed the whole patch.

+class TestSerializeTransform(tests.TestCaseWithTransport):

All of these tests look like they are testing that you can "round-trip"
a tree transform (eg deserialize(serialize()) works). But AFAICT you
never test the bytes-on-disk. Which means that we aren't really testing
stability between versions.

I think it would be good to test "serialize()" separately from
"deserialize()" to help ensure that things get written the same way over
time.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkj5C9sACgkQJdeBCYSNAANrLACeKfjCXkL+1/IJAQX5RYHSqaRx
NaAAn3CLkCtltYM3i1hLw6KuL8+Vf821
=36rb
-----END PGP SIGNATURE-----



More information about the bazaar mailing list