shared storage and branch api

Lalo Martins lalo at exoweb.net
Thu Sep 8 11:48:50 BST 2005


Paste from IRC:

(16:54:55) bob2: so, before I make an ass of myself on the list:
(16:55:01) bob2: > It's not delegation.  Responsibility for storage is
    at the branch level.
(16:57:03) lifeless: uhm. as I understand it, yes.
(16:58:04) bob2: right, atm
(16:58:13) bob2: but any sort of shared-storage stuff decouples it,
    right?
(16:58:15) lalo: we're trying to extract it
(16:58:25) lalo: oh, sorry, different meaning for storage
(17:01:17) lifeless: bob2: to some degree, yes. at least to the point
    that while the branch is responsible for coordinating, it may not
    _do_ storage itself. and in fact, right now it doesn't : Store do
    storage.
(17:01:37) bob2: right
(17:01:55) lalo: ok, let's try to qualify that a bit.  Are you talking
    about the Branch bzrlib object, or "branch" as in that thing over
    there in your filesystem?
(17:02:06) bob2: this is the thing
(17:02:28) bob2: it's from an email by abentley, and so I'm assuming Im
    just confused
(17:02:55) lalo: which one?
(...)
(17:05:01) lalo: nm, found it
(17:06:00) lalo: lifeless is talking about the branch object
(17:06:28) lalo: and abentley is talking about storage in the sense that
    I was talking about
(17:06:48) lalo: as in "everything related to actually saving this stuff
    somewhere and reading it back"
(17:07:18) bob2: hrm
(17:08:08) lalo: I'm not sure I'd agree with him for a few reasons
(17:08:26) lalo: get_revision and install_revision are just vaguely
    "storage"
(17:08:58) lalo: and second, from a modeling point of view, if you say
    "a revision is in the branch", I'd expect that to mean it's part of
    the branch (eg, it's part of its ancestry)
(17:09:18) lalo: which is quite different from "a revision is in the
    branch's revision store"
(17:09:35) lifeless: which is the problem I have with
    branch.get_revision
(17:09:53) lifeless: because I read that as 'get a reviison from the
    branch', not 'get a reiviosn from the branches store'
(17:09:56) bob2: lifeless: right
(17:10:27) bob2: I'm blindly grasping at the concept of decoupling "this
    branch contains $foo" and "the store of this branch contains $foo"

...and then we bring it back to the list :-)

And so says Aaron Bentley on 06/09/05 22:46...
> Robert Collins wrote:
>>>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.


best,
                                               Lalo Martins
--
      So many of our dreams at first seem impossible,
       then they seem improbable, and then, when we
       summon the will, they soon become inevitable.
--
http://www.exoweb.net/                  mailto:lalo at exoweb.net
GNU: never give up freedom                 http://www.gnu.org/





More information about the bazaar mailing list