Yes, old versions of svn "suck at merging", but the workflows with merges between multiple branches you describe work well in modern versions of svn with merge tracking. Your "remembering the revision number of the last 'rebase'" is unnecessary in modern svn.
I grant you that switch can take a while on a large code base, as can a checkout of a new working copy. Creating a new branch is contrary to what you say instantaneous in svn due to the cheap copies, however getting that new branch in a new working copy to work on I admit might take a while. A large part of this problem is mitigated if you just have multiple working copies checked out, but not all.
The details on why branching is cheap in svn are described here:
http://svn.apache.org/repos/asf/subversion/trunk/notes/subve...
Part of the problem with svn is that the model is too flexible compared to git: the merge tracking supports tracking partial merges between branches, which is arguably an unnecessary complexity - the svn developers have expressed concern about whether this feature is valuable given the complexity it adds.
For general merge scenarios if you're using mergeinfo correctly, follow the practices laid out in the svn book, you shouldn't find merging particularly difficult or expensive in svn, even if you're doing relatively complicated workflows.
I'm not saying this is easier or works better than svn than git, just that it's doable and not as bad as many people make out. The merging in svn is (too) complex, but once you figure out how it works then it works well. With your "I believe...there is mergeinfo" and loewenskind's "I've done it. Once." I get the impression that neither of you have put the time in to really figure out how it works, but are still arguing against it.
Personally I prefer the way git works. But as someone who uses it everyday, for scenarios like the ones you say are nightmares, I don't think svn is as bad as you make out. There is an argument to be made for using git, but neither you, loewenskind nor the article make it as well as you could.
No comments yet.