HPSS: Client-side objects

Aaron Bentley aaron.bentley at utoronto.ca
Wed Apr 18 14:01:56 BST 2007

Hash: SHA1

Andrew Bennetts wrote:
> Aaron Bentley wrote:
>> Should we consider supporting the VFS upgrade approach?
> It's not really safe to — the client could then upgrade the branch to a format
> the server cannot read.

I'll buy that.

> I've spoken with Robert about this.  If BzrBranch6 can support
> set_last_revision_info, then this should work.  The only difference in behaviour
> with a BzrBranch6-via-RemoteBranch vs. a direct BzrBranch6 will be that passing
> a non-lefthand history will silently become a lefthand history to the tip,
> rather than an error.  I think this is ok.

Right.  I am uneasy with this.  I would rather not have a fuzzy API, but
if Robert or one of the other core devs feels this kind of fuzz is okay,
I will drop it.

>>> +        if rev_history == []:
>>> +            rev_id = ''
>> ^^^ I think NULL_REVISION/'null:' is much better than '' for this purpose.
> NULL_REVISION is never stored to disk.

Yes it is.  It is used in the branch 6 format to represent the NULL
revision.  When you initialize a branch6 branch, it sets the
last-revision to "0 null:\n"

>  It's not part of the external ABI for
> dealing bzr data.

I am not sure what you mean by external ABI.

>  So similarly, I don't think it's appropriate to send it
> across the wire.

I would be happy accepting it (or "current:") on the command line, so I
don't see what's wrong with sending it across the wire.

> What don't you like about ''?

It is easy to miss, and even if you see it, it looks like a mistake.
Also, we already have a defined string representation for the null
revision-- I don't think we need two.  Finally, it looks eerily like an
attempt to represent None as a string, and using None to represent the
null revision has lead only to suffering.

> It's a bit iffy to override an underscored method (it's not clear if
> it's meant to be private to Branch, or to Branch+subclasses), but it at means we
> can delegate to the VFS branch.

I think it's appropriate to override this one.  I split it out from
create_checkout to keep the former short and simple.

Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the bazaar mailing list