February 2023

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728    

Style Credit

Expand Cut Tags

No cut tags
Wednesday, January 31st, 2007 09:56 am
I officially hate SVN.

(Don't get me wrong; it's probably great for power users and people who never merge to/from a branch more than once or twice. Many thanks to [livejournal.com profile] preedmozblog, by the way, for pointing me at a tool that might replace my entire whiteboard for branch merge management. The problem I have with SVN is that when not everyone is a power user, or not everyone knows to track merges on their whiteboard, you get real trouble.)
Wednesday, January 31st, 2007 06:20 pm (UTC)
I assume SVN = subversion? Is it much worse at branching than cvs is? I ask because we currently use cvs at work but some people have been making noises about switching to subversion, and if that will be bad then I should know to bother to object.
Wednesday, January 31st, 2007 07:09 pm (UTC)
For the most part I think it's a lot better than CVS. But if you need to do lots of merges between lots of branches, you probably at *least* want something like svnmerge on top of it (or svk?) to track what's been merged where.

At work, our merging isn't that hairy. (And for the most part only the release manager does merges to release branches, and other branches tend to be developers' private branches.)
Wednesday, January 31st, 2007 07:14 pm (UTC)
Ok. Our merges are pretty straightforward here --- generally bugfixes that got made on a post-release branch that need to be applied to the mainline as well, and occasionally a private developer branch. Thanks for the clarification.
Thursday, February 1st, 2007 12:36 am (UTC)
Sorry I vanished for a bit there. Yes, svn doesn't have to be awful, as long as you're not implementing a large tree of branches (with frequent cross-merging) that's much better suited to a full-time release engineer and an installation of Perforce. Sadly, we're trying to do just that.
Friday, February 2nd, 2007 04:05 am (UTC)
There are other tools such as Mercurial and git that are much better at handling a large number of branches and merging work done in topic branches down into one or more release branches. The problem of course is this requires retraining the entire development population, which is often an impractical proposition.
Wednesday, January 31st, 2007 07:13 pm (UTC)
There's one or two branch-related things I haven't figured out how to do as efficiently with SVN as with CVS.

1) "What branches/tags were made after this patch?" (Which probably should really be, "Which branches/tags include this patch, either by branching after it was checked in, or by merging it in?")

2) "Did branch X include this patch?"

You can go through the logs of the branch(es) and trunk and figure them out (well, maybe not which branches got a patch applied later, unless you set up some careful conventions regarding log messages), but with CVS, you could look at the version numbers for the branches and tags right in the same log.