> > 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