简体   繁体   中英

What's the difference between “svn merge --reintegrate” and svn merge without reintegrate if I'd like to merge a branch onto the trunk

In the svn book it says merge 's --reintegrate is "to merge all of the source URL's changes into the working copy".

I would like to merge a branch back to the trunk. Some places say that it's "absolutely necessary" to call reintegrate when merging and then delete the branch immediately afterwards, which I think is a hassle. Other places do not mention reintegration at all. I have svn 1.6.11.

So I'm not sure what to do now.

A sync merge is something completely different than a reintegration merge . The former is used to merge all changes made on the parent branch to the target branch (typically a feature branch), that have not already been merged. The latter is used to merge a (feature) branch back into the parent branch. Basically that means a temporary clone of the (feature) branch is created, a sync merge is made from the parent branch to the temporary branch, and finally the parent branch is replaced by the temporary branch. In other words, the temporary branch contains all changes made to the (feature) branch and parent branch.

For some reason, some developers do not understand the difference. So, the SVN developers removed the option --reintegrate in SVN 1.8. With this version, the tool detects automatically, if a sync merge or a reintegration merge should be used.

If you use an older version, you should use the option --reintegrate for reintegration merges . Note that the (feature) branch can still be used after reintegration, if you keep some things in mind. The SVN book explains it well:

Upgrade to svn 1.8 and don't worrry about it anymore, it will automatically figure out what to do.

from the svn 1.8 release notes :

During merges which merge all eligible revisions from another branch, Subversion 1.8 will automatically decide whether or not the merge is reintegrating a branch. Therefore, reintegrating a branch does no longer require the --reintegrate option for correct operation.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM