git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-svn segmetation fault

From
Wink Saville <wink@saville.com>
Date
Feb 3, 2008, 21:42 UTC
Message-ID
<47A63547.9080801@saville.com>
In-Reply-To
<20080203024225.GA23647@dervierte>
Steven Walter wrote:
Show 30 quoted lines
> 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
Previous: Steven WalterNext: Eric Wong
Message 10 of 12 in “git-svn segmetation fault”
  1. Wink SavilleFeb 1, 2008
  2. Wink SavilleFeb 2, 2008
  3. Steven WalterFeb 2, 2008
  4. Wink SavilleFeb 2, 2008
  5. Steven WalterFeb 2, 2008
  6. Wink SavilleFeb 2, 2008
  7. Steven WalterFeb 2, 2008
  8. Wink SavilleFeb 3, 2008
  9. Steven WalterFeb 3, 2008
  10. Wink SavilleFeb 3, 2008
  11. Eric WongFeb 2, 2008
  12. Wink SavilleFeb 2, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.