Re: git svn clone a non-standard repository
- From
- John Locke <mail@freelock.com>
- Date
- Jun 27, 2008, 01:06 UTC
- 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:
Show 19 quoted lines
> 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