开发者

Copy updates from external project to custom fork in subversion

I currently am customizing an open-source forum to suit a开发者_如何学Cn organisation I do volunteer work for. The forum creators just released an update and I would like to merge it into my trunk.

My current directory structure has just the standard, plus an additional directory /dependencies/ svn:externals as "external_project http://svn.url/branches/from/external/project/version" so that there is a directory /dependencies/external_project

I copied the project to the trunk a while ago and started modifiing. I would like to merge the changes from the update to my trunk.

I've tried copying the files without subversion, commiting and merging from the previous reversion. This works fine for the files in the trunk, but doesn't work for the subdirectories subclipse shows them as external. Two- or three-way merging gives the error

"http://svn.url/branches/from/external/project/version" location does not correspond with "http://my.server/repo/" location

What is the correct way to do this?


It sounds like what you are really after is the management of what the SVN Book calls a 'vendor branch'. The short summary is that you maintain a local copy of the vendor code in SVN, and you branch from it to make your customizations. When vendor updates are released, you update your local vendor copy and then merge back into your customization branch (as opposed to merging your customizations into the local vendor tree).

A good example, and a helper script for managing the vendor code, is available in Chapter 4 of the SVN Book: http://svnbook.red-bean.com/nightly/en/svn.advanced.vendorbr.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜