OGRE Wiki
Support and community documentation for Ogre3D
Ogre Forums
ogre3d.org
Log in
Username:
Password:
CapsLock is on.
Remember me (for 1 year)
Log in
Home
Tutorials
Tutorials Home
Basic Tutorials
Intermediate Tutorials
Mad Marx Tutorials
In Depth Tutorials
Older Tutorials
External Tutorials
Cookbook
Cookbook Home
CodeBank
Snippets
Experiences
Ogre Articles
Libraries
Libraries Home
Alternative Languages
Assembling A Toolset
Development Tools
OGRE Libraries
List of Libraries
Tools
Tools Home
DCC Tools
DCC Tutorials
DCC Articles
DCC Resources
Assembling a production pipeline
Development
Development Home
Roadmap
Building Ogre
Installing the Ogre SDK
Setting Up An Application
Ogre Wiki Tutorial Framework
Frequently Asked Questions
Google Summer Of Code
Help Requested
Ogre Core Articles
Community
Community Home
Projects Using Ogre
Recommended Reading
Contractors
Wiki
Immediate Wiki Tasklist
Wiki Ideas
Wiki Guidelines
Article Writing Guidelines
Wiki Styles
Wiki Page Tracker
Ogre Wiki Help
Ogre Wiki Help Overview
Help - Basic Syntax
Help - Images
Help - Pages and Structures
Help - Wiki Plugins
Toolbox
Freetags
Categories
List Pages
Structures
Trackers
Statistics
Rankings
List Galleries
Ogre Lexicon
Comments
History: Merging Branches
View page
Source of version: 4
(current)
!Merging Branches !!Introduction The OGRE development approach involves maintaining many branches of the codebase, the most common purpose for which is separating new, interface-breaking or riskier development from stable maintenance branches. Branch maintenance requires a reliable procedure for merging between branches. !!General Approach * Branches will be located in subfolders of [https://svn.ogre3d.org/svnroot/ogre/branches] * Branches for stable versions will be named after the major and minor version number, e.g. [https://svn.ogre3d.org/svnroot/ogre/branches/v1-7] * Bugfixes should be committed to the earliest stable branch being maintained and merged forward, through later branches if applicable and into the trunk * New features should be committed to the trunk, or to a branch which has not yet been made officially stable * Branch merging is automated with [http://www.orcaware.com/svn/wiki/Svnmerge.py|svnmerge] !!Setup * You'll need to install the command-line version of [http://subversion.tigris.org/|Subversion] as well as [http://www.orcaware.com/svn/wiki/Svnmerge.py|svnmerge]. * You'll need to permanently accept the SSL cert for the Ogre Subversion server at least once before running svnmerge, so for example do a checkout on the command line (svn co [https://svn.ogre3d.org/svnroot/ogre/trunk] ogre_trunk) and choose to 'Permanently Accept' the certificate. !!Taking a branch * Create the branch from the source (usually) trunk using svn copy, using URLs and not a local copy e.g. {CODE(wrap="1")} svn copy https://svn.ogre3d.org/svnroot/ogre/trunk https://svn.ogre3d.org/svnroot/ogre/branches/v1-7{CODE} * In a working copy of each SVN location you want to be able to merge changes in this new branch ''into'' (ie at least trunk), initialise svnmerge: {CODE(wrap="1")} svnmerge init https://svn.ogre3d.org/svnroot/ogre/branches/v1-7 svn ci -F svnmerge-commit-message.txt {CODE} !!Merging changes If you have committed changes to the branch and want to merge them, perform these steps in a (clean) working copy of the destination (trunk or later branch): * Merge the code changes {CODE(wrap="1")} svnmerge -Shttps://svn.ogre3d.org/svnroot/ogre/branches/v1-7 merge{CODE} * If there were any conflicts, resolve them * Build and test the merged code * Commit the merge {CODE(wrap="1")} svn ci -F svnmerge-commit-message.txt {CODE} !!Why use svnmerge instead of SVN 1.5's merge? Mostly because these procedures predate SVN 1.5, are proven, and svnmerge operates in exactly the same way as SVN 1.5's merge anyway. It's nice not to require SVN 1.5 particularly as it's fairly new.
Search by Tags
Search Wiki by Freetags
Latest Changes
Minimal Ogre Collision
Artifex Terra
OpenMB
Advanced Mogre Framework
MogreSocks
Critter AI
Mogre Add-ons
MOGRE
Mogre MyGUI wrapper
MOGRE Editable Terrain Manager
...more
Search
Find
Advanced
Search Help
Online Users
24 online users