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

Re: SVN -> Git *but* with special changes

From
SBStephen Bash <bash@genarts.com>
Date
Sep 28, 2011, 17:10 UTC
Message-ID
<16808473.33899.1317229852319.JavaMail.root@mail.hq.genarts.com>
In-Reply-To
<1317227849979-6840904.post@n2.nabble.com>
----- Original Message -----
Show 11 quoted lines
> From: "Abscissa" <bus_nabble_git@semitwist.com>
> To: git@vger.kernel.org
> Sent: Wednesday, September 28, 2011 12:37:29 PM
> Subject: SVN -> Git *but* with special changes
>
> I have a couple big projects in SVN that I'd like to convert to Git.
> Being in SVN, they've operated under a couple assumptions that are 
> not true under Git. These assumptions are:
> 
> 1. Directories can exist even if there's nothing in them (just like
> any filesystem).
What requires the empty directories to exist?  The build system?  Can you just let them go away in Git and fix it downstream in the user's working copy?
 
> 2. Keeping binary files in version control isn't a big deal because
> the whole repo doesn't get copied to everyone's system or use up 
> people's GitHub storage space.
I'd eliminate these on the SVN side before converting to Git.  If you have svnadmin access to the SVN repo svnadmin dump, svndumpfilter, svnadmin load is a pretty easy process.
Show 8 quoted lines
> The SVN repos have been relying on those, but both are false under
> Git, so I need to do a "modified" conversion, rather than just a 
> straight one.
> 
> So, how can I convert an SVN repo to Git, and have the conversion add
> dummy files to empty directories and exclude specific files? (Also, 
> there are tags and branches to be converted too, in the SVN-standard 
> "tags" and "branches" directories.)
To do the actual conversion, svn-fe and git fast-import are by far the quickest way to get the data into Git.  Filtering into tags and branches is a bit of a trick though [1].  git-svn has (IMO) a good branching UI, but can be very slow for large repositories.
[1] http://thread.gmane.org/gmane.comp.version-control.git/158940/focus=159151 : note this thread is almost a year out of date now, and even I know much better ways to go about this now -- but the scripts are not written.

HTH, Stephen

Previous: AbscissaNext: Matthieu Moy
Message 2 of 21 in “SVN -> Git *but* with special changes”
  1. AbscissaSep 28, 2011
  2. Stephen BashSep 28, 2011
  3. Matthieu MoySep 28, 2011
  4. Jeff KingSep 28, 2011
  5. AbscissaSep 28, 2011
  6. AbscissaJan 7, 2012
  7. Jeff KingSep 28, 2011
  8. AbscissaJan 8, 2012
  9. Jeff KingJan 8, 2012
  10. AbscissaJan 8, 2012
  11. AbscissaJan 8, 2012
  12. Carlos Martín NietoJan 8, 2012
  13. Andreas SchwabJan 8, 2012
  14. Adam BorowskiJan 8, 2012
  15. AbscissaJan 8, 2012
  16. AbscissaJan 8, 2012
  17. AbscissaJan 12, 2012
  18. AbscissaJan 14, 2012
  19. Michael HaggertyJan 9, 2012
  20. Thomas HochsteinJan 8, 2012
  21. Thomas HochsteinJan 8, 2012

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.