{"thread":{"id":"14089","subject":"Usage with Subversion, externals","startedAt":"2008-06-22T21:03:01Z","lastAt":"2008-06-22T21:03:01Z","messageCount":1,"participants":["John Locke"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"80641","messageId":"485EBE05.6070402@freelock.com","threadId":"14089","inReplyTo":null,"subject":"Usage with Subversion, externals","fromName":"John Locke","fromEmail":"mail@freelock.com","sentAt":"2008-06-22T21:03:01Z","receivedAt":"2008-06-22T21:03:01Z","isPatch":false,"sender":{"key":"mail@freelock.com","avatar":null},"body":"Hi,\n\nBrand new git user, trying to get my head around how to use this after \nyears of Subversion usage.\n\nI have a project that uses svn:externals to load a dependent library. \nThe external repository, dojo toolkit, has a different layout for trunk \nthan the tagged versions. Right now, I've got these svn externals defined:\n\n> john@shasta:/opt/www/auriga$ svn pg svn:externals public_html/\n> dojo http://svn.dojotoolkit.org/src/tags/release-1.1.1/\n>\n> john@shasta:/opt/www/auriga$ svn pg svn:externals public_html/dojo-trunk/\n> dojo http://svn.dojotoolkit.org/src/dojo/trunk/\n> dijit http://svn.dojotoolkit.org/src/dijit/trunk/\n> dojox http://svn.dojotoolkit.org/src/dojox/trunk/\npublic_html/dojo contains dojo, dijit, dojox, and util directories, \ntagged to the specific version. The dojo svn repository stores trunk \nversions for each of these modules in src/<module>/trunk.\n\nThe problem I'm trying to solve by switching to git is that there are \nsome API changes to Dojo that break the current production version of my \napplication. So I'd like to branch my application and develop it against \nthe Dojo trunk, while still being able to make changes to the mainline \ncode using the stable Dojo tagged version.\n\n\nI've used git svn clone to copy my main application, and I'm also \npulling down the dojo svn repository (would be happy to post this \nsomewhere when it's done).\n\n\nSo: Question 1: how do I get public_html/dojo in my working copy to \ncontain dojo/trunk, dijit/trunk, and dojox/trunk from my external git \nrepository? I'm assuming I use a submodule for this, and git submodule, \nbut I'm wondering how I point git submodule to a particular path in the \nother repository.\n\n... and question 2: How do I set up a different git submodule path (in \nthe same external git repository) when I work on a different branch?\n\n\nI'd like to be able to git checkout the development branch and have it \nswitch the dojo submodule to contain dojo/trunk (aliased as dojo), \ndijit/trunk (aliased as dijit), and dojox/trunk (aliased as dojox). And \nthen when I git checkout the main branch have it switch back to \ntags/release-1.1.1 (which contains dojo, dijit, and dojox without a \ntrunk subdirectory).\n\nAny thoughts?\n\n-- \nJohn Locke\n\"Open Source Solutions for Small Business Problems\"\npublished by Charles River Media, June 2004\nhttp://www.freelock.com\n"}]}