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

Re: To reintegrate or not to be ...

From: Paul Burba <ptburba_at_gmail.com>
Date: Tue, 18 Nov 2008 16:32:25 -0500

On Tue, Nov 18, 2008 at 3:51 PM, Branko Čibej <brane_at_xbc.nu> wrote:
> Stefan Sperling wrote:
>> On Tue, Nov 18, 2008 at 07:28:12PM +0100, Branko ??ibej wrote:
>>
>>> C. Michael Pilato wrote:
>>>
>>>> In fact, for --reintegrate to work, the to-be-reintegrated branch must have had
>>>> all the changes thus far from the target branch merged into it.

>> In fact, for --reintegrate to work, the to-be-reintegrated branch must have had
>> all the changes thus far from the target branch merged into it.

Hi Brane,

I think the confusion here arises from what Mike said above, which is
a bit misleading. It's more accurate to say that if *any* changes
have been merged from trunk to branch, then they must be merged
uniformly across the whole branch, starting at the revision the branch
was created, e.g. no subtree merges were done from trunk to branch,
nor any cherry-picking of revisions such that the branch has
discontinuous ranges merged from trunk.

For example, say we copy 'trunk_at_2' to 'feature_branch' in r3. In r4
we make a change to 'feature_branch'. In r5-7 we make some changes to
'trunk'. Now we update trunk to r7 (as reintegrate requires the
target to be at a uniform revision) and reintegrate FEATURE_BRANCH_URL
to 'trunk'. What happens under the covers is this 2-URL merge:

  TRUNK_URL_at_2 FEATURE_BRANCH_URL_at_7 trunk

That is, the diff between the youngest common ancestor of 'trunk' and
'feature_branch' and
'feature_branch'@the-working-rev-of-the-reintegrate-target is applied
to 'trunk'.

Alternatively we might have merged all available revisions from
'trunk' to 'feature_branch' in r8 and then made some addition changes
to trunk in r9. In that case the reintegrate merge would do this
2-URL merge:

  TRUNK_URL_at_7 FEATURE_BRANCH_URL_at_9 trunk

Here reintegrate uses the mergeinfo on the 'feature_branch' to to
determine that the youngest common ancestor is effectively trunk_at_7,
since we already synchronized 'feature_branch' with trunk up to r7.

Does that clarify things at all?

Paul

>>> Wait -- *all*? Wouldn't that be the sort of moving target that's a
>>> nightmare to keep catching up with?
>>>
>>
>> See this thread:
>> http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=145500
>>
>
> Saw that, which is why I got confused here.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: dev-help_at_subversion.tigris.org
>
>
Received on 2008-11-18 22:32:40 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.