On Thu, Jan 31, 2013 at 10:37:14AM -0500, Alfred Perlstein wrote:
> FreeBSD has moved to Subversion a few years ago and it's worked
> very, very well for us.
Thanks! That's encouraging to hear.
> The one area where we are having issues is merging code from project
> branches back into trunk.
>
> The typical workflow is:
> 1) create project branch.
> 2) code code code.
> 3) sync from HEAD (this works great).
> 4) repeat steps 2+3 until feature is complete.
> 5) svn diff and apply to head then commit.
>
> Is there a way to do 5 automatically?
>
> I think the worry is mergeinfo from the project branch coming back
> into HEAD.
>
> Any tips would be appreciated.
I've read the FreeBSD svn merging docs some time ago. I'm not sure if
changes have been made since, but it was probably an older version
of what currently lives at this URL:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.html
Back then I was somewhat worried that apparently the person who wrote them
didn't really understand much about how merges in Subversion work.
There was irrational fear of mergeinfo propagation, to the point where
the recommended practice is to remove mergeinfo before commit, which
any Subversion user with a clue will know is very wrong (expect in very
exceptional circumstances and only if you are equipped with sufficient
expertise to deal with the consequences).
What surprised me also was a complete lack of mention of the --reintegrate
option, which I suspect must be causing quite a lot of grief among FreeBSD
developers due to bogus conflicts during merges back into FreeBSD's head
branch (i.e. the trunk).
We'll need more details to help you in a constructive way, though.
Can you provide more details about your steps 1 to 5, i.e. show the
exact commands you're running in each step? The repository is public,
after all, which will help greatly with identifying and reproducing
specific problems.
I'm happy to provide input for improving FreeBSD's docs to the point
where FreeBSD makes the best possible use of Subversion 1.7's merge
implementation, and can also provide some hints as to how future versions
of Subversion will improve to make life easier in certain cases.
BTW, I went over one of FreeBSD's svn wiki pages a while back, and added
answers to open questions on this page:
https://wiki.freebsd.org/SubversionMissing
One more point, which I like to bring up whenever a FreeBSD person shows
up on our lists: There is an outstanding patch in the FreeBSD ports tree
which should be shepherded into Subversion's upstream sources. I'm happy
to be the upstream point of contact for this but we also need someone
from the FreeBSD project to drive this and digest our feedback. Because
we want this feature to be generally usable and also avoid breaking
functionality that FreeBSD is relying on in their custom patch, of
course. So both sides need to be involved. See here for details:
http://subversion.tigris.org/issues/show_bug.cgi?id=890
(and also the mailing list threads linked from the issue)
Received on 2013-01-31 18:08:59 CET