1

I searched a lot about this topic but did not found a convincing answer.

I have a branch B that is used for Feature F1, F2 and F3. Commits for the features a mixed (e.g. a commit for F1, commit for F2, commit for F1). Feature F1 is now finished should be reintegrated to the trunk but F2 and F3 are not.

As far as I understand it, reintegration to the trunk (using --reintegrate) is different from a normal svn merge and thus svn merge is not usable in this scenario (correct?). The svnbook mentions such a selective merge as cherry-picking but only from trunk/branch to branch. However, --reintegrate would also bring F2 and F3 to the trunk.

How (if possible at all) can I reintegrate selected revisions from branch B to the trunk and then continue to finish the other features in branch B?

Some answers I found mention to svn merge the revisions to trunk and then block those revisions in the branch using --record-only. However, I'm not sure if this is good practice due to the fundamental difference of svn merge and svn merge --reintegrate. Wouldn't svn merge from branch to trunk duplicate the changesets in the trunk that were previously synced to the branch?

wierob
  • 4,299
  • 1
  • 26
  • 27

1 Answers1

0

Can't see any problem here.

Just perform cherry-pick merge from branch to trunk (merge ranges or revisions), next merges will not see at merged changesets again (if server supports mergeinfo)

skyking
  • 13,817
  • 1
  • 35
  • 57
Lazy Badger
  • 94,711
  • 9
  • 78
  • 110
  • If this works, why does the svn doc says that the --reintegrate option is important? What is it's purpose if a simple merge works as well? – wierob Mar 25 '13 at 08:54
  • @wierob - read `svn help merge` about use-case for reintegration and preliminary steps for performing clean reintegration – Lazy Badger Mar 25 '13 at 23:12