Some features of Monotone that bazaar-bg could incorporate

Martin Pool mbp at sourcefrog.net
Mon Apr 4 14:02:41 BST 2005


On Sat, 2005-04-02 at 12:11 -0500, VIKRAM PARANJAPE wrote:
> Hi,
> 
> I am new to the Arch/baz model and I discovered bazaar-ng through some 
> research I was doing on Arch.
> I use Perforce and CVS at work.
> 
> 1.
> I have also been studying some of the features of Monotone and thought I 
> would write to you with a suggestion of which features seem good enough to 
> incorporate in bazaar-ng
> 
> One of the facilities Monotone provides is the ability to maintain in source 
> history divergence within branches. For instance I can incrementally 
> check-in groups of logical changes to my work and a colleague of mine can do 
> the same thing with his work, with neither of us having to "resolve 
> conflicts". Once we both reach a point where we are satisfied with the 
> current progress on our features, one of us can resolve any divergence 
> within the branch and submit the merged result to the central repository (or 
> push it to the other's repository).
> 
> In Arch, I think a similar result can be achieved by both of us by just 
> creating our own named sub-branch and then merging both sub-branches to the 
> mainline branch.
> 
> The only drawback here is that there are too many named 
> offshoots/sub-branches in history.

Yes, that's right.  For this reason bazaar-ng doesn't insist on branches
having eternally universally unique names.  People are just not very
good at assigning such things.  What it does have is a graph of
machine-assigned IDs, with metadata that a human can use to make use of
the graph.  The main difference from monotone is that the IDs are like
mbp at sourcefrog.net-20050309073300-d270e9d0058727b9
rather than hashes, for a few reasons, the most important of which is
that it avoids any doubt about damage from weakened hash algorithms.
(There is more on this in the design docs.)

> Is it possible to incorporate this facility into the bazaar-ng design? I 
> can't tell you how many times I wished the Perforce system at work had this 
> feature.

It already has it.

The other difference from monotone is that in monotone (as i understand
it) a repository/db can hold untrusted code.  You work out what code you
want to extract by doing a trust calculation.  Bazaar-NG is different:
all the information in a repository is at the same level of trust.  If
the repository says a certain revision is the head then that's what it
is; it doesn't depend on the trust preferences of the person using the
question.  (They might effect whether they *believe* it or not, but they
don't change the answer.)

> Of course, I don't understand the Arch/Monotone design very well (I have 
> used neither to maintain source code of my own) so I may be entirely offbase 
> with this suggestion.
> 
> 2.
> This suggestion is entirely a moon-shot, but is there a way planned to track 
> a Perforce repository from within bazaar-ng. That way, I can create my own 
> branches locally, but submit it to the Perforce mainline.

I think someone could write that reasonably easily but I don't have any
plans to.  One way would be to use their Version-XML export stuff.

-- 
Martin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050404/1a2a72aa/attachment.pgp 


More information about the bazaar mailing list