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

Re: Merge and record-only question

From: Stephen Butler <sbutler_at_elego.de>
Date: Wed, 16 May 2012 13:57:45 +0200

On May 16, 2012, at 12:42 , Asher Stern wrote:

>
> Hi.
>
> I have a question about merge, reintegrate and record-only.
>
> We use SVN version 1.6
>
> I am working on trunk, let's call it T.
> My colleague works on a branch (branched from trunk), let's call it B.
>
> We want to merge back, i.e., merge --reintegrate from B to T.

Assuming that B is a "feature branch" that should be kept consistent with T,
your colleague should merge all changes from T to B (early and often).

  http://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html

I see you mention this in step 6, below.

> However, there are some changes in B that we do NOT want to be copied to T.

Then you don't want to use --reintegrate. See the description of the
reintegrate merge in the SVN book.

I'd recommend doing cherrypicking merges from B to T. But you don't have
to trust me. ;-) Just create a temporary local repository, create branches
in it, and see how the merges turn out. Create a shell or batch script to
automate the repetitive steps, and try many alternatives. There are handy
script templates in the "Write a reproduction script" section at

  http://subversion.apache.org/contributing.html#issues

If you have more specific questions, or find a bug, it's much easier for us to
help if you attach your reproduction script.

Regards,
Steve

>
> We considered the following steps:
> 1. merge --reintegrate
> 2. Then, manually, in the working copy of T, revert all unnecessary changes in B that we don't want to be merged into T.
> 3. Then, in the working copy of T: svn commit.
> 4. Then, keeping the branch B alive, by merge --record-only.
> 5. Now we have T and B, but they are NOT identical.
> 6. Continue working separately on T and B, making merges from T to B from time to time, and eventually, after several months, making again merge --reintegrate from B to T.
>
> The question is whether it is possible. Is it OK that T and B will not be identical after the reintegrate, and continue working on B?
> Might such a scenario cause problems in future merges (from T to B and from B to T)?
>
> Thanking you all in advance,
> Asher Stern

--
Stephen Butler
Consultant
elego Software Solutions GmbH
Gustav-Meyer-Allee 25 / Building 12
13355 Berlin, Germany
tel: +49 30 2345 8696 | mobile: +49 163 25 45 015
fax: +49 30 2345 8695 | http://www.elego.de
Geschäftsführer: Olaf Wagner, Michael Diers
Sitz der Gesellschaft: Berlin
Handelsregister: Amtsgericht Charlottenburg HRB 77719
Received on 2012-05-16 13:58:21 CEST

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