Problem doing SVN Vendor Branch - merge
I am trying to use the svn vendor branch to upgrade the third party library. (We have modified the source code)
I followed all the steps to create the vendor branch::
created the vendor branch for old version 开发者_开发百科(3rd party library) created the vendor branch for latest version (3rd party library) copied the latest version to current folder using (usign svn_load_dirs.pl script)
structure of vendor repository in svn
URL/vendor/library/3.5.0 URL/vendor/library/3.7.0 URL/vendor/library/current
I have the library-3.5.0 used/modified at URL/trunk/library/customized-library
I have a problem when I try to merge the difference between URL/vendor/library/3.7.0 and URL/vendor/library/3.5.0 to URL/trunk/library/customized-library
I am at the folder where URL/trunk/library/customized-library is checked out and I use following command to do the merge
svn merge URL/vendor/library/3.5.0 URL/vendor/library/current . --accept PARAMETERS
when I use theirs-conflict for accept parameter, It ignores all of my changes to the old version and copies files from 3.7.0 when I user mine-conflict, it ignores the files in 3.7.0 when I use postpone, it throws exception "tree conflict"
Thanks Gyan
Your problems exist because 3.5.0 and 3.7.0 have no common ancestry. You create both parallel to each other. What you need to do is use vendor/current as your merge source but only if you checked in current during the time when 3.5.0 was the most recent version.
When overwriting current with 3.7.0 a changeset gets created. This changeset is what you have to apply to your modified version of the library :)
Apart from that you did everything right.
精彩评论