[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: --reintegrate merge problems

From: Paul Burba <ptburba_at_gmail.com>
Date: Fri, 5 Jun 2009 10:39:52 -0400

On Wed, Jun 3, 2009 at 11:35 AM, Brian Rieck <BRieck_at_sandcherry.com> wrote:

> Subtree mergeinfo in and of itself shouldn't cause problems for
> reintegrate, unless it was created from subtree merges (i.e. someone
> merged -rM:N from trunk/some/child to branch/some/child, but rM:N was
> never merged to the rest of branch.
>
> If I'm reading this right it is bad to cherry pick some changes from trunk to a branch unless you eventually merge all of trunk to the branch? I actually thought this was okay.

Brian,

It's definitely not ok if you plan to use reintegrate to merge the
branch back to trunk. In fact reintegrate should never work if you do
this.

Always keep in mind that reintegrate is not really a "new" feature,
rather it is just a wrapper around a 2-URL merge (if you are not
familiar with what that means see
http://blogs.open.collab.net/svn/2008/07/subversion-merg.html).
Reintegrate has several safety checks to prevent you from shooting
yourself in the foot, and basically they are exist to ensure this
model is being followed:

1) Copy trunk_at_N to branch

2A) Make changes on branch

2B) Make changes on trunk

2C) Periodically merge *all* available revisions from trunk to branch
(no cherry picking!).

    e.g. svn merge %TRUNK_URL% branch_WC
                                         ^^^^
    No revision range specified, this is sometimes called a 'sync' merge.

3) Repeat 2 as needed

4) Reintegrate the branch back to trunk

   e.g. e.g. svn merge %BRANCH_URL% trunk_WC --reintegrate

One thing regarding terminology, at least how I use it:

'subtree merge' - A merge targeting a subtree of a branch.
e.g. svn merge %TRUNK_URL%/some/child/path branc_wc/some/child/path

'cherry pick' - Merge some *explicit* revision or set of revisions.
Might be a subtree merge or might be to the root of a branch. e.g.
svn merge %TRUNK_URL% branch_wc -c578

Paul

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2359724

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-06-05 16:41:20 CEST

This is an archived mail posted to the Subversion Users mailing list.