|
From: | William Uther |
Subject: | Re: [Monotone-devel] Comparison of Monotone and git |
Date: | Thu, 19 Jun 2008 10:07:24 +1000 |
On 18/06/2008, at 11:04 PM, Jack Lloyd wrote:
On Thu, Jun 12, 2008 at 05:22:33PM +1000, William Uther wrote:I have more research to do on git, but as a first pass have I missedanything someone considers important? (BTW, I don't want to get into tiny little details here... I mentioned "considers important" for a reason :) )git can rename and delete branches, monotone can't (easily).
It's pretty easy to delete a branch in monotone; either- just make a new database and sync all the other branches across. Or delete all the branch certs. This method just deletes the branch locally. Or, - suspend the branch. See 'mtn help suspend'. This doesn't delete the branch as such, but it hides it.
To rename a branch you just propagate the old branch to the new branch and suspend the old branch, no? People could still commit to the old branch - tell them not to (and set up a branch name filter on your main repository so they can't).
The interesting part here is that Monotone has a global namespace for branches, whereas git has a local namespace for branches. By default in git you get a 1:1 local:remote branch name mapping, but you can rearrange that if you wish. This removes the need for centralised control of branch naming (policy branches) - it is all just local.
I know about http://www.venge.net/mtn-wiki/BranchRenaming, but it seems like that doesn't really work very nicely. (Adding these smell very policy branch-ish).
Looks like they were written before suspend certs. Cheers, Will :-}
[Prev in Thread] | Current Thread | [Next in Thread] |