Page "BloodhoundVendorBranchUpgrade" was added by gjm Content: -------8<------8<------8<------8<------8<------8<------8<------8<-------- = Vendor Branch Upgrade Procedure =
The following workflow is based on http://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html but specified in terms of the trac vendor branch and put here for convenience. == Upgrading the trac vendor branch == NOTE: The following instructions should work when using subversion >= 1.7. For those using 1.6 or less, you will have to be more careful about how you swap the new version in and you may have to manually find files and directories that have been removed. 1. Check out a copy of the vendor branch: {{{ #!sh svn co https://svn.apache.org/repos/asf/incubator/bloodhound/trunk bloodhound svn co https://svn.apache.org/repos/asf/incubator/bloodhound/vendor/trac cd trac }}} 1. Locally remove the current directory and replace with the new version: {{{ #!sh rm -rf current/ svn export http://svn.edgewall.org/repos/trac/tags/trac-1.0.1/ current/ # add new files svn stat | grep "^?" | awk '{print $2}' | xargs svn add # remove deleted files svn stat | grep "^\!" | awk '{print $2}' | xargs svn delete }}} 1. Commit and tag the vendor drop: {{{ #!sh svn commit -m "importing trac-1.0.1" svn copy https://svn.apache.org/repos/asf/incubator/bloodhound/vendor/trac/current https://svn.apache.org/repos/asf/incubator/bloodhound/vendor/trac/1.0.1 -m "tagging trac 1.0.1" svn up }}} 1. Merge the changes into the trunk copy: {{{ #!sh cd ../bloodhound # first merge argument is the remote repo path to the previous tagged version # second merge argument is the remote repo path to the newly updated current branch svn merge ^/incubator/bloodhound/vendor/trac/1.0 ^/incubator/bloodhound/vendor/trac/current trac }}} the above may throw up conflicts due to changes that we have made in bloodhound trunk. 1. test test test - note that even when there are no merge conflicts, there may still be errors introduced. 1. commit {{{ #!sh svn commit -m "merging trac-1.0.1 into the main branch" }}} == Creating a new vendor branch == If it is decided that we need to make custom changes to a new external project, requiring a new vendor branch, this is how it can be accomplished. {{{ #!sh svn import /path/to/vendorcode-x.y.z https://svn.apache.org/repos/asf/incubator/bloodhound/vendor/vendorcode/current -m "importing initial x.y.z vendor drop of vendorcode" svn copy https://svn.apache.org/repos/asf/incubator/bloodhound/vendor/vendorcode/current https://svn.apache.org/repos/asf/incubator/bloodhound/vendor/vendorcode/x.y.z -m "tagging vendorcode-x.y.z" svn copy https://svn.apache.org/repos/asf/incubator/bloodhound/vendor/vendorcode/x.y.z https://svn.apache.org/repos/asf/incubator/bloodhound/trunk/vendorcode -m "bringing vendorcode-x.y.z into trunk" }}} Development can then continue in the {{{trunk/vendorcode}}} area and upgrading {{{vendorcode}}} to a new version follows a similar path to that described above. -------8<------8<------8<------8<------8<------8<------8<------8<-------- -- Page URL: <https://issues.apache.org/bloodhound/wiki/BloodhoundVendorBranchUpgrade> Apache Bloodhound <https://issues.apache.org/bloodhound/> The Apache Bloodhound (incubating) issue tracker This is an automated message. Someone added your email address to be notified of changes on 'BloodhoundVendorBranchUpgrade' page. If it was not you, please report to .
