[RFC] making the null revision become real

John A Meinel john at arbash-meinel.com
Wed Feb 15 22:25:19 GMT 2006


Denys Duchier wrote:
> Currently bzr maintains a useful fiction that all projects are descended from
> what is called the "null" revision.  However this is a virtual revision, and the
> fact that it is not real, and therefore unlike other revisions, has undesirable
> consequences:
> 
>     - it needs to be special-cased
>     - asking for the "null" revision object raises an exception
>     - None is also accepted to mean its revid and that clashes with the pythonic
>       conventional value for omitted keyword arguments
>     - revnos need to be offet by 1
>     - it is not possible to do: "bzr init A; bzr branch A B"
> 
> I'd like to propose to turn the null revision into an actual revision.  It
> should have revid "null:" i.e. bzrlib.revision.NULL_REVISION, and it should be
> present as the first revision in every branch's history.  This means that revnos
> no longer have to be offset; revno=0 is simply the null revision.  It also
> becomes trivial to branch off a newly created empty branch.  And we should no
> longer accept a revid=None to mean the null revision.  revid=None should only
> mean that a revid has not been provided.
> 
> Opinions?
> 
> Cheers,
> 
> --Denys

I would like to get rid of revid=None being a valid revision, versus 'no
revision supplied'. I think your arguments have some nice elegance. I'd
like to hear what Aaron has to say, as he is one who has worked a lot
with those identifiers.

(It also would require a branch format upgrade).

John
=:->


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060215/36b78184/attachment.pgp 


More information about the bazaar mailing list