[crossfire] Using svnmerge for backporting to branch?

Raphaël Quinet raphael at gimp.org
Tue Feb 12 09:24:49 CST 2008


Hi,

After applying a trivial bug fix for the manual pages of the clients, I
thought about merging the patch to the 1.x branch.  However, it looks like
all previous merges have been done by hand (hopefully using "svn merge")
instead of using automated tools like "svnmerge" (no space).  Or at least,
I was unable to find the svn properties that are usually stored by
svnmerge when it is used.

I have used svnmerge for gimp, gimp-web and related svn modules and I can
say that it does makes life easier.  The main purpose of this tool is to
keep track of what has already merged between the trunk and a branch and
also what has not been merged (blocked).  This is useful when doing merges
on a regular basis, because you can easily keep track and merge the useful
bug fixes from the trunk without being distracted by the other things that
have already been done or that should be avoided.  (Note that the upcoming
svn 1.5 will have a 'merge tracking' feature that is similar to svnmerge,
but it will take a while until 1.5 is ready to be used by everybody.)

There is an initial investment in using svnmerge: since several merges
were already applied by hand and not recorded in the svn properties,
someone will have to use 'svnmerge init' and mark what has already been
done and what should be blocked.  But once it is done, then anybody can
use 'svnmerge avail' to review the revisions available for merging,
followed by 'svnmerge merge' to merge in some or all available revisions.
There is a quick usage overview and several tutorials available here:
  http://www.orcaware.com/svn/wiki/Svnmerge.py

So my question is... should I start using svnmerge and initialize the
revision tracking?  It does not mean that everybody will be forced to use
svnmerge from now on, because it is always possible to merge stuff by
hand and then later someone else can mark the revision as already merged.
But of course it would be better if most developers who intend to merge
stuff between branch and trunk would feel comfortable with svnmerge.  So
I'd like to get some feedback before investing time in initializing the
merge tracking.

-Raphaël

P.S.: svnmerge is available in most Linux distros.  However, it may be
      part of a package called svn-utils or svn-tools instead of being
      part of the main subversion package.



More information about the crossfire mailing list