SVN 1.5 means svnmerge -> svn merge
Submitted by
jccooper.
on 2008-09-10 17:23.
The new version of SVN is out, and it has (finally) built-in merge tracking. And it's better than svnmerge.
We're been using 'svnmerge' for a while now, to supplement the poor merge handling in SVN. And, in general, it's pretty helpful. Merging to trunk is a bit touchy and complicated (see our instructions on that) and sometimes it can be a bit fragile.SVN 1.5 now has integrated merge tracking, and it seems like a good idea to move to that. Not just because it's more standard, but it's also much prettier. For example,
To merge from trunk to a branch (sync from trunk)::
$ cd BRANCH_WORKING_COPYTo merge a branch to trunk::
$ svn merge URL_TO_TRUNK
$ cd TRUNK_WORKING_COPY # or 'svn switch URL_TO_TRUNK'The former is as easy as 'svnmerge merge', The latter, well, compare to::
$ svn merge --reintegrate URL_TO_BRANCH
$ cd ../PRODUCTAlso, it won't require an init step on branch creation, so we won't have to know we're using it until actually merging.
$ svn switch URL_TO_TRUNK
$ svnmerge init URL_TO_BRANCH
$ svn ci -F svnmerge-commit-message.txt
$ svnmerge merge --bidirectional
$ svn st
$ svn diff
$ svn ci -m"merged branch to trunk; "
$ svnmerge uninit -S BRANCHNAME
$ svn ci -F svnmerge-commit-message.txt
A lot nicer, I think. And being part of SVN, hopefully more stable.
To read more about it, see:
Release Notes
Blog Entry
SVN Book, Merging Chapter
I'm pretty much sold. The only issue using this, I think, is administrative: we need to move everyone to SVN 1.5.1, and also the SVN server. Both versions of the server will work with both versions of the client, but feature availability will be limited if one or the other is on 1.4.
