HPSS: Client-side objects
aaron.bentley at utoronto.ca
Wed Apr 18 14:01:56 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the bazaar