> > We use a lot of project branches, that is, we branch from trunk,
> > develop a feature and then merge it back to trunk. Quite often, we
need
> > to merge a change or two from trunk out to our branch along the way.
> > What I have noticed is that when I go to merge the branch back to
trunk,
> > the changes that were merged from trunk to the branch are included
when
> > I do a 'svn mergeinfo --show-revs eligible <branchname> <trunk>'.
Why is
> > this? Shouldn't the system know that these were merged out and
therefore
> > do not need to be merged in? I do not ever use 'ignore-ancestry'.
> >
> > I end up doing a lot of 'svn merge --record-only's to block the
reverse
> > merges.
>
> If you have a feature branch you should be merging from trunk into the
branch regularly. then
> when you are done with the feature you would do a reintegrate merge
back. I don't see an
> argument on merginfo to specify that you want to do a re-integrate.
>
Svn help mergeinfo does not reference --reintegrate at all. Are you
saying that a merge with the
-reintegrate option may skip some items that mergeinfo lists as
eligible?
Also the help for reintegrate says that the only difference is that it
treats the merge as a lump sum, not as a sequence of mini merges. Are
you saying that if you have done a complete merge out, you can skip the
individual merge ins and just do one big reintegrate? If so, Is doing a
complete merge out first mandatory? (I would think so). Can this model
handle files that were deleted and re-added?
Actually, now that I have written and reread this, I think I answered my
own question. Using reintegrate is orthogonal to using mergeinfo. You
use mergeinfo to pick up changes that have been made in a release branch
that need to be merged to trunk, and you use -reintegrate to merge a
project branch back to its baseline.
I feel like I must have missed that section in the book. Is this not
documented?
Thanks
JLM
Received on 2010-04-01 21:07:41 CEST