thoughts on repository/storage/branch/checkout

Denys Duchier duchier at ps.uni-sb.de
Thu Feb 2 20:16:13 GMT 2006


Thanks a lot for that message, it really helped clarify for me your envisioned
design.  That's exactly the descriptive level that I was looking for.  I am
especially glad that you mentioned the replacement of checkouts by working
trees.  I had missed that one.

>> I am not sure how that would work when you mix Unix and Windows.
>
> You're right.  It might be necessary to resort to another protocol.
> Relative paths would be another option, but they restrict the kinds of
> movement permitted within the repository.  I really don't want
> inheritance, because I don't want the possibility to exist that
> revisions could be stored in the wrong place.

inheritance can be made a bit more robust by adding some sort of uuid to a repo
at creation time and checking that a repo with the expected uuid is found during
inheritance.

> Repository
>  - contains all revision data:
>    - revision metadata
>    - inventories
>    - file contents

ok, I only called it STORE because I wanted the non branch-aware version of the
concept.

> Branch
>  - contains an ordered series of revisions
>  - other misc metadata, like branch nick, parent location, binding data
>  - refers to a repository
>  - may contain a WorkingTree

ah, ok. so there is at most one working tree per branch.  the checkout idea
seemed a little strange to me in that respect.

> Working Tree
>  - contains a working directory
     ^^^^^^^^ now if only this could read "refers to", that would make me _so_
              happy (/me ducks)
>  - contains metadata associated with files in the wd
>  - has pending-merges metadata

Thanks again!

Cheers,

--Denys






More information about the bazaar mailing list