So many repo formats

Stefan Monnier monnier at iro.umontreal.ca
Tue Nov 18 01:43:38 GMT 2008


>> >> So, what's the downside?
>> > Upgrading from a non-rich-root format to a rich-root format is more
>> > resource-intensive and one-way (you can't convert from a
>> > rich-root-format to a non-rich-root-format, since that would lose data).
>> I don't understand why its one way: losing data is usually the easier path.
> Because then you'd have two revisions claiming to have the same revision
> ID, but with different data.  That's a fairly fundamental constraint
> that we cannot break.  So it's not possible to store rich-root revisions
> in a non-rich-root repository

Doesn't the same problem appear if you start with a non-rich-root
repository and upgrade it to rich-root?
It seems the problem is no so much going from RR to NRR, but rather the
loop from RR to RR via NRR.  Neither NRR->RR nor RR->NRR is a problem in
itself, it's only if you combine them that you can get into trouble.

So rather than disallow RR->NRR, you may decide to disallow NRR->RR.
Or find some way to allow both and yet prevent the roundtrip.

In any case, the current situation is undesirable, and it seems that
sooner or later we'll want to use a rich-root format as default, and
I think the sooner the better.


        Stefan



More information about the bazaar mailing list