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

Re: Migrating a git repository to subversion

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
May 16, 2008, 03:01 UTC
Message-ID
<alpine.LFD.1.10.0805151952260.2941@woody.linux-foundation.org>
In-Reply-To
<42dc968d0805151608q2ed89fc8madcd8d341a4ed1df@mail.gmail.com>
On Thu, 15 May 2008, Alf Mikula wrote:
Show 5 quoted lines
> 
> Having said that, I want to demonstrate git's git<--->svn
> capabilities, and currently everybody here has and understands
> Subversion.  So, I want to initialize a Subversion repository with my
> git history from my local git repository.  Here's what I tried:

Hmm. I don't think there is any git2svn thing, but if your history is linear (which is really the only thing SVN can handle, since SVN doesn't really do "merges" in the git sense at all), you could just write some silly script to extract the patches one by one and commit them using SVN.

Or use "tailor", which should be able to convert from pretty much anything into pretty much anything (again, assuming it's linear).

Or, and this gets extra points for being disgusting, use "git-cvsserver" to serve a remote CVS repo, then cvssuck to create a local CVS repo out of it, and then do cvs2svn to create a SVN repo. Ta-daa!

(Ok, that last one really is too ugly to live, but if it works, it really sounds like the true rube-goldberg way to do it, and should be done just because it is there, to paraphrase George Mallory).

			Linus
Previous: Björn SteinbrinkNext: Martin Langhoff
Message 4 of 7 in “Migrating a git repository to subversion”
  1. Alf MikulaMay 15, 2008
  2. Avery PennarunMay 15, 2008
  3. Björn SteinbrinkMay 15, 2008
  4. Linus TorvaldsMay 16, 2008
  5. Martin LanghoffMay 16, 2008
  6. Alf MikulaMay 16, 2008
  7. Imran M YousufMay 16, 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.