[merge] robert, aaron, daniel
John A Meinel
john at arbash-meinel.com
Thu Nov 17 22:02:35 GMT 2005
Robert Collins wrote:
> On Thu, 2005-11-17 at 15:37 -0600, John A Meinel wrote:
>> ...
>>> But if they become separate objects, it's best to make sure they don't
>>> use controlfiles with the same names. So, I'd suggest a standalone
>>> branch would look like this:
>>>
>>> .bzr/
>>> README
>>> branch/
>>> branch-format
>>> revision-history
>>> branch.conf
>>> (etc)
>>> checkout/
>>> branch-location
>>> checkout-format
>>> inventory
>>> pending-merges
>>> (etc)
>>> repository/
>>> repository-format
>>> inventory.weave
>>> revision-storage
>>> (etc)
>>>
>>> Treeless branches would then be implemented by just leaving out the
>>> checkout dir.
>> Other than potentially changing .bzr into _bzr I think this is a nice
>> layout. We certainly discussed many time what files go with what
>> fundamental concept, and this would make it explicit.
>>
>> I like it.
>
> So do I, except I want to nuke the .bzr level when there is no tree
> present.
>
> So with a tree is:
> ROOT/
> .bzr/
> README
> branch/ ...
> checkout/ ...
> repository/ ...
>
> without a tree is:
> ROOT/
> README
> branch/ ...
> repository/ ...
>
> Rob
>
The reason to leave it in is to prevent conflicts between the future
repository namespace, and files within the branch information.
The alternative is that everything needs a prefixed underscore, so you
end up with:
ROOT/
.bzr/
README
branch/
checkout/
...
versus
ROOT/
_README
_branch/
_repository/
...
I don't really prefer the latter form.
I've also been thinking of other issues.
One is that it would be nice to "browse" a repository, even we are
accessing it over http. Which means that we would need to track each
branch individually.
If we give up punning the physical path to a branch with its identifier,
then things get a lot easier. So we can have a physical storage of:
$REPOSITORY/
repository/
branches/
<branch-id1>/
README
branch/
<branch-id2>/
README
branch/
branchinfo
Where branchinfo has a list mapping the namespace to the physical path.
Is it worth giving up the namespace => physical path punning?
Or we can change all of the "revision-history" files and weave them
together based on something like branch-id.
I'm not exactly advocating it, but I'm mentioning it as a possibility of
an alternative solution to some of our problem.
John
=:->
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20051117/f7af9d32/attachment.pgp
More information about the bazaar
mailing list