From: John Locke Date: Fri, 27 Jun 2008 01:06:16 GMT Subject: Re: git svn clone a non-standard repository Message-ID: <48643D08.1030904@freelock.com> In-Reply-To: <4863E261.8040508@freelock.com> Okay. I think I've closed the loop, and have this updating successfully, if not necessarily easily. John Locke wrote: > Sorry to respond to my own post, but this section looks wrong: > > John Locke wrote: >> >> >> Now the tricky part: I checked out a new "work" branch, and deleted >> everything in the working copy. Then, 4 steps out of the howto, >> adjusted to pull the particular branch from the current repository >> (instead of an outside one): >> >> git remote add -t dojo -f dojo ./ >> git merge -s ours --no-commit dojo-trunk >> git read-tree --prefix=dojo/ -u dojo-trunk >> git commit -m "merge dojo into subdirectory" > > ... since I added the remotes as svn-remote sections directly in > git-config, I skipped that first line. > > To update, we need a local branch for each submodule: git checkout -b dojo dojo-trunk <- create local branch and switch to it (only create it the first time through) git svn rebase dojo-trunk <- do this to update each local branch from the remote svn repository version--must have corresponding branch checked out. ... now that we've merged the remote changes to a local branch, we can update our work branch from each module's branch: git checkout work git pull -s subtree ./ dojo git pull -s subtree ./ dijit .... -- John Locke "Open Source Solutions for Small Business Problems" published by Charles River Media, June 2004 http://www.freelock.com