Monotone analysis

Gary Kramlich grim at
Wed Jul 9 20:32:46 EDT 2008

Felipe Contreras wrote:
> On Thu, Jul 10, 2008 at 2:34 AM, John Bailey <rekkanoryo at> wrote:
>> On Thu, Jul 10, 2008 at 02:02:16AM +0300, Felipe Contreras wrote:
>>> 2008/7/9 John Bailey <rekkanoryo at>:
>>> You can achieve with temporal/topic/local branches what you can
>>> achieve with microbranches, except that you have control over what's
>>> happening.
>> I can control what happens in a microbranch just as well as any git,
>> bzr, or hg user can with their branches.
> You can't decide to drop a commit that somebody else already did, like
> an applied patch.

mutable history isn't an option for us

> You can't cleanup the commits somebody else did in his branch before
> integrating it into your branch.

mutable history isn't an option for us

> You can't cherry pick commits from a remote branch.

mtn help pluck

> In mtn is all or nothing.

in mtn we read all the documentation

>>> Git/bzr/hg provide better tools to manage the divergence: cheap branches.
>> And monotone branches aren't cheap?  Seriously, what are you smoking?
> I have 18 branches in msn-pecan. 12 local and 6 remote. I can
> reorganize the commits as much as I want locally, move the commits
> from one branch to another, and then push to the remote branches,
> nobody has to notice I have local branches. When I'm done I can remove
> both the local and the remote branches.

mtn approve -rDEADBEEF -b im.pidgin.someother branch

Look i just copied a commit to another branch.  As far as moving goes,
mutable history isn't an option for us.

Local branches are possible in mtn as well, you never push them.  When
you want to move all your commits from a local branch to a "remote"
branch, propagate and push the remote branch.

> Adding and removing branches is cheap because a branch is simply a
> reference to a commit. Creating a branch is creating a one line file,
> and removing the file removes the branch.

A branch is just a cert.  When it comes to removing branches, mutable
history is not an option for us.

> In mtn, creating a branch means to add a cert to each and every commit
> in the branch, while that is not too bad once created, you can't
> remove it. So you must be careful when you create a branch; it's not
> cheap.

mutable history isn't an option for us.  We *WANT* to know about the
branch even if it's not used anymore.

>>> Of course MTN isn't hard to use once you get used to it, CVS wasn't
>>> either, but once you get used to something superior, you can't go back
>>> to the madnes. Would you do serious development in CVS again? Even if
>>> a project you want to contribute to is using it and they see no reason
>>> to change?
>> Yes, I would.  CVS may suck, but it does what it does in a predictable
>> and well-known fashion.  I do, in fact, still use CVS on occasion.
> on occasion != serious development.

On occasion can be, damn this app I use every day is consistently
crashing, I need to fix it.  Which to me, is serious development.

>>> There's a reason why nobody is using mtn: it's not ok.
>> And again you spout an _opinion_ that you haven't supported with any
>> real, irrefutable evidence.  If you want to bitch about monotone, go
>> bitch to its developers.  I'm tired of seeing your complaints about our
>> decision on what tool to use.  If you can't handle that, tough.
> I would like to hear another theory about why nobody is using it.

How's this?  People think Linus knows best in every situation?

> Fortunately I don't have to work with such a horrid tool where it's
> impossible to follow what's happening on a single branch without a
> diagram, let alone the whole project.

care to elaborate?

> And by the way, I don't see why you react so passionately about
> criticism to the DSCM you are using. It's just a tool, tools can suck.

Passionately... hmm, I thought we were reacting rationally, I'll be sure
not to make that mistake again.

Gary Kramlich <grim at>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Devel mailing list