Buildroot branching
From GumstixDocsWiki
You may want to contribute improvements to the buildroot, such as new packages or fixes. Or, you may also want to have a branch of your own, so that you can keep a buildroot set for a particular configuration, i.e. some project based on gumstix boards.
Gumstix provides a public way for you to create a branch for yoursef, deriving from the gumstix's buildroot trunk.
Login
You must create an account at the Gumstix's system, please check http://www.gumstix.org/svn-management/
Merging from trunk to your branch
After creating your username and password on the login page, You'll see some instructions about how you can create your local branch. I'll duplicate this information here for future reference:
Assuming your username is whatever, you'll have your private svn namespace at http://svn.gumstix.com/gumstix-buildroot/branches/users/<b>whatever</b>
In order to create a copy of the buildroot in your namespace, you can use this command:
svn cp http://svn.gumstix.com/gumstix-buildroot/trunk http://svn.gumstix.com/gumstix-buildroot/branches/users/whatever
You'll be asked for your username and password, which are the ones you just registered above (in fact, you may be asked for the password for your login username, if that's not the username you just registered, just type enter: this time it'll ask for the username).
Once this succeeds, you'll have a directory called trunk under your tree, you may checkout it with:
svn co http://svn.gumstix.com/gumstix-buildroot/branches/users/whatever/trunk my-buildroot-trunk
This way you'll have a my-buildroot-trunk under your current directory, you can use it the same way you'd use the default gumstix buildroot, except that you can commit your changes to it, and they'll be published at your private namespace.
Merging
Since the gumstix's published buildroot continues to get commited to and evolve, you may want to merge the mainstream changes into yours.
You must have a working copy, and this example assumes it's up-to-date with your branch. You also must know what was the revision the gumstix's trunk was the last time you branched from it. Let's call it 1340 just for this example.
Make the current directory the one of your working copy, by typing: cd /path/to/your/local-copy , and type:
svn merge http://svn.gumstix.org/gumstix-buildroot/trunk@1340 http://svn.gumstix.org/gumstix-buildroot/trunk@HEAD .
If that goes well (it should), gumstix's changes will be merged to your work copy. It's not uncommon for this operation to generate conflicts (see the svn's manual if you don't know what a conflict is), which you should solve yourself.
Once your tree is working with the merge of gumstix's changes over yours (and that you solved any conflict therein), you can just type:
svn commit
In order to send your changes to your private namespace.
This article is very raw, please enhance it :-)

