Subversion: Merging a vendor's source code releases into mainline at regular intervals

房东的猫 提交于 2019-12-05 10:37:35

In non-subversion terms, you want to integrate the changes between Vendor X release 1.0 and Vendor X release 1.1 into your trunk.

I would create just one Vendor X branch and use tags to identify version numbers. Whenever you receive a new vendor X version, checkout the branch, copy the new version's files into your working directory, apply svn add and svn delete as appropriate, and commit. Subversion now has the correct diff information for everything vendor X did during the two releases. After that, you can merge the changes between the last two vendor releases (aka the last tweo revisions in the vendor X branch) with the trunk.

IMHO you can avoid merging. Here is it:

  1. Create 1.0 branch
  2. Copy 1.0 to 1.1
  3. Perform all required changes on 1.1
  4. Copy 1.1 to trunk.

If you still insist to merge then:

  1. Create 1.0
  2. Copy 1.0 to trunk
  3. Copy 1.0 to 1.1
  4. Make required changes to 1.1
  5. Merge changes done to 1.1 to trunk. The changes are from start of 1.1 till it's end.

This also maybe helpfull

The solution I followed was:

  1. Created a release/ line for the vendor software.
  2. Added Release 1.0 to the release/ line.
  3. Branched release/ to create trunk/ and then replaced trunk/ with a working copy containing all changes I made after Release 1.0.
  4. Checked out a working copy of release 1.0 and added in release 1.1. Committed.
  5. Merged release/ into trunk/. No tree conflict or merge conflict.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!