Subject: Re: git-svn segmetation fault

From: Wink Saville <[email-masked]>
Date: Sun, 03 Feb 2008 13:42:31 -0800

Steven Walter wrote:
> On Sat, Feb 02, 2008 at 05:21:59PM -0800, Wink Saville wrote:
>   
>> What steps would be needed to recreate a "local git repo" from the
>> "git repo on srvr" that I could use against the svn repo?
>>
>> I tried a little test, I cloned my git repo on srvr locally to amc-xx
>> and added the [svn-remote "svn"] section to amc-xx/.git/config
>> and then did a git-svn fetch. From what happened it looks like I
>> just did a git svn clone and didn't save any time.
>>     
>
> After adding the svn-remote section, you'll want to copy
> .git/refs/remotes/origin/master to .git/refs/remotes/git-svn.  After
> doing that, "git svn fetch" should see that you have all the needed
> commits and do a quick rebuild of its metadata.
>
>   
>> Also, a follow up can I create an svn repo from a git repo.
>>     
>
> I've not done it, but it should be possible.  You would create the new
> svn repository with a single empty commit (as empty as SVN would allow).
> Import that revision into your git repository with git-svn.  Then you
> would either rebase or use grafts to make all of your git commits a
> descendent of that single svn commit.  In that way, the next time you
> run "git svn dcommit" it will see all your local git commits as new
> commits to send to subversion.
>
> No guarantees though, as I've not tried it.
>   
Steve,

That worked thanks, I did make some minor adjustments as when
I recloned I used the "-s" switch because my svn repo was in standard
format so rather than copying master to .git/refs/remotes/git-svn I copied
it to .git/refs/remotes/trunk. I also used git svn init to create the 
remotes
section instead of editing .git/config directly. So the following worked
for me:

lcl ~/ $ git clone git://srv/amc.git amc
lcl ~/ $ cd amc
lcl ~/amc $ git svn init -s http://async-msgcomp.googlecode.com/svn
lcl ~/amc $ rm -rf .git/svn
lcl ~/amc $ cp .git/refs/remotes/origin/master .git/refs/remotes/trunk
lcl ~/amc $ git svn fetch

It would seem creating a "git svn connect" command which did the above
might be nice. I took a quick look at git-svn and decided that since I 
don't know
perl and git-svn was almost 5000 LOC it would be dangerous for me to try
to make the change:)

Thanks for all of your help.

Wink