Subject: Re: git svn clone a non-standard repository

From: John Locke <[email-masked]>
Date: Thu, 26 Jun 2008 18:06:16 -0700

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