[MERGE] Unique roots for bzr
Aaron Bentley
aaron.bentley at utoronto.ca
Sun Oct 15 03:18:25 BST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
John Arbash Meinel wrote:
> Aaron Bentley wrote:
>>> John Arbash Meinel wrote:
>
> ...
>
>>> Anyhow, why does a doctest matter? Especially given that it's said
>>> 'TREE_ROOT-12345678-12345678' since July 2005?
>
> It has nothing to do with the doctest. It was just something that
> reminded me of this fact, which was something I wanted to bring up. I
> admit it isn't super critical, and we should change escaping in other
> ways. But I did see that using a default id of TREE_ROOT-foo for new
> trees is not as nice as using 'tree_root-foo'.
Okay, well, I can change the way root ids are generated. Combining this
with Matt Fuller's email suggests we really need a new way of encoding
file ids, one that doesn't have percent signs or periods its output, and
distinguishes between capital and lowercase letters without using
capital letters.
> Further, I don't think there are Knit2 format repositories in real use
> (yet), so I think we can change it without breaking anything. But yes,
> that is a different thing. I was just discussing it. The doctest is fine
> as is.
>
> ...
>
>>>>> v- This seems pretty weird, what are you trying to do here?
>>> Avoid test failures from tests that assumed one blank tree was
>>> equivalent to another blank tree.
>>>
>>> I can't really say it better than the comment:
>>> # If we happen to have a tree, we'll guarantee everything
>>> # except for the tree root is the same.
>
> ^- I'm not going to stick on this, but it does seem better to fix the
> tests, rather than have trees evaluate to equal when they aren't.
>
>
>>> Unfortunately, MemoryTree doesn't have a persistent inventory-- it's
>>> zapped on unlock. So every time we locked, we'd get a different root
>>> id. I don't understand why it's written this way.
>
> Well, isn't that a problem with the inventory? Yes we get a new
> inventory each time, but IIRC it reads it from the branch.
In this case, it is reading the inventory of the empty tree, and that is
not a valid inventory for a WorkingTree.
> I think it
> was an attempt to move in the direction we want for WorkingTree's, where
> we don't load the inventory if we don't have to, and operations flush it
> to disk when unlocked
As far as I can tell, with a MemoryTree, there's no flushing going on.
It's just being thrown away.
> It looks fine to me. I think it is better than what we have, so I think
> it should be merged for 0.12. I'm a little concerned about the tree
> comparisons, but that is it.
Okay, in it goes.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFMZpx0F+nu1YWqI0RAuriAJ9168xgalUTqFs2DqzoKDvwHkScswCfYm6j
m748ZozjzUrQ8lydEph2lcA=
=gIaq
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list