On Sat, Jan 29, 2011 at 06:04:42PM +1000, Michael G Schwern wrote: > What were they doing wrong? They were using Subversion before 2008 when they > introduced built in (and rather lame) merge tracking in 1.5. SVN existed for > SEVEN YEARS with easy branching but difficult merging. You had to try and > make things like svnmerge.py work or use svk or (I'm not making this up) write > your own merge tracker. I had to write a merge tracker for SVN. > > The pre-1.5 merge would only work if you branched, worked and then merged. If > you branched, worked, pulled in some updates from upstream, worked some more, > and then tried to merge you were hosed. SVN did not track your pull, so it > would try to merge the diff from the beginning of the branch, get confused > because it saw the same change twice, and cause bogus conflicts.
I've not actually tried the built-in merging in svn, but I've been caught out by one (hateful) weakness of svnmerge.py - if as part of resolving conflicts, you have to make edits as part of the change that is committed as the merge in to a branch, then those changes are *not* merged back when you fold the branch back into trunk (or wherever). I assume that this is because the design is to track commit numbers, not actual changes. I can't remember what perforce does in such situations. Nicholas Clark
