shared storage and branch api

Aaron Bentley aaron.bentley at utoronto.ca
Tue Sep 6 15:46:22 BST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Robert Collins wrote:
>>There's only one circumstance I'm aware of in which it's useful for
>>get_revision to fail.  That's when we want to find out whether we need
>>to copy the revision into local storage.  Forcing get_revision to fail
>>when the data was already in local storage would cause us to download
>>and attempt to add things to the local stores that were already there.
> 
> 
> mmm, I should be more clear I guess :).
> 
> At the Branch level, methods should have semantic relevance to the
> branch - otherwise they become needless delegation. If
> branch.get_revision() is *identical* to
> branch.revision_store[revision_id], then I think that is *is* needless
> delegation and we should remove branch.get_revision(). 

It's not delegation.  Responsibility for storage is at the branch level.
  That is why install_revisions is a branch method. It is a bug that
branch.revision_store is part of the public api, and once that bug is
fixed, there would be no way to determine which revisions should be
installed.

The merge process also assumes that you can get revisions that aren't
merged.  First, we install the revisions we need, then we try to use
them in the merge.  So merging would also break.

> Whether branch.get_revision was made to filter by the ancestry graph,
> then branch to branch copying would be done by checking against the
> branch.revision_store - which seems clean to me.

It would be helpful if you would describe how your proposed changes
would be useful.  They only seem to cause problems to me.

Clearly there's some semantic you think should be part of get_revision,
but I just want to get the revision, by hook, or by crook, even if the
branch has to hit up mirrors.sourcecontrol.net to find it.

Aaron

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDHau+0F+nu1YWqI0RAruWAJ9Q+n7PFbF5pLoMK1wn3YPPGGWnGwCeOAD/
Ds0fzNFDGY74tpVFdnI4OQs=
=CNnC
-----END PGP SIGNATURE-----




More information about the bazaar mailing list