Re: git svn clone a non-standard repository

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: John Locke
Date: Thursday, June 26, 2008 - 11:29 am

Hi, Michael,

Michael J Gruber wrote:
Yup.


I saw your post, and flagged it to see if anybody answered it, yes it 
does seem similar.

That's exactly what happened.

I found in the docs a section on subtrees, and with a bit of trickery, I 
think I'm getting what I want, though it's not simple to update. What 
I've done so far is change .git/config to:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[svn-remote "svn"]
    url = http://svn.dojotoolkit.org/src
    branches = branches/*:refs/remotes/*
    tags = tags/*:refs/remotes/tags/*
[svn-remote "dojo"]
    url = http://svn.dojotoolkit.org/src
    fetch = dojo/trunk:refs/remotes/dojo-trunk
[svn-remote "dijit"]
    url = http://svn.dojotoolkit.org/src
    fetch = dijit/trunk:refs/remotes/dijit-trunk
[svn-remote "dojox"]
    url = http://svn.dojotoolkit.org/src
    fetch = dojox/trunk:refs/remotes/dojox-trunk
[svn-remote "util"]
    url = http://svn.dojotoolkit.org/src
    fetch = util/trunk:refs/remotes/util-trunk


... dojo, dijit, dojox, and util correspond to moduleA-D in my previous 
example. So I have "svn" for the branches, and separate SVN sections for 
the trunk of each module. Then I used git svn fetch 
[dojo|dijit|dojox|util] to suck down those as individual branches.

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"

... repeat for the other modules, and I ended up with my "work" branch 
containing the full trunk for all 4 modules.

Now for tracking the original project. According to the howto, you use 
this syntax to pull down changes:

 git pull -s subtree Bproject master
... when I try git pull -s subtree ./ dojo, I get "Already up to date", 
even though I know there are new changes. Still need to mess around with 
git svn rebase, I guess, to get the updates working correctly.

Cheers,

-- 
John Locke
"Open Source Solutions for Small Business Problems"
published by Charles River Media, June 2004
http://www.freelock.com

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
git svn clone a non-standard repository, John Locke, (Tue Jun 24, 11:32 am)
Re: git svn clone a non-standard repository, Michael J Gruber, (Wed Jun 25, 8:25 am)
Re: git svn clone a non-standard repository, John Locke, (Thu Jun 26, 11:29 am)
Re: git svn clone a non-standard repository, John Locke, (Thu Jun 26, 11:39 am)
Re: git svn clone a non-standard repository, John Locke, (Thu Jun 26, 6:06 pm)