I have been able to manage some long-lived branches in Zookeeper and Mahout using git.
The key was to rebase the branch frequently. That allowed me to spread the complexity of the ultimate merge out into a lot of small decisions, each of which was pretty simple and could be tracked back to a small change in trunk. The branch in Zookeeper was a particularly interesting case since it involved changes to dozens of files with lots of commits from multiple people on the branch and even more changes on the trunk while the branch lasted. The branch was not even a very short-term thing ... from first commit to final merge was 6-7 months. The key here was to not get too far behind. During active periods of development, I rebased almost every day. On Wed, Aug 10, 2011 at 11:21 AM, Luc Maisonobe <luc.maison...@free.fr>wrote: > As for the cost of branching, it is almost trivial. svn copy >> https://fromurl >> https://tourl >> > > The cost of branching is trivial. The cost of merging back is huge.