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

Split a subversion repo into several git repos

From
ELEivind LM <eivliste@online.no>
Date
Oct 11, 2007, 12:51 UTC
Message-ID
<op.tz09zaizjwclfx@ichi>

Hi, I would like to convert a subversion repository to Git. The subversion repository used to track development of several projects (only slightly related), and I would like to divide the repository into several smaller git repositories.

For example, I want to convert one subversion repository which contains the folders: trunk/projectA trunk/projectB

into two git repositories: projectA.git projectB.git

As far as I have understood, the way to do this is to
1) Convert the entire subversion repository to git with git-svn.
2) Make two copies of the whole new git-repository (projectA.git and  
projectB.git).
3) Use git-rm to remove projectB from projectA.git, and projectA from  
projectB.git.

This works fine, but both git-repositories now carries the history for both projects. If possible, I would like to "clean" the history in the repositories, so that I don't see history information for projectA when I am browsing logs in projectB.git. Has anyone been in the same situation? Do you have suggestions on how it can be solved?

Any help will be greatly appreciated.

Thanks, Eivind

Next: Patrick Doyle
Message 1 of 11 in “Split a subversion repo into several git repos”
  1. Eivind LMOct 11, 2007
  2. Patrick DoyleOct 11, 2007
  3. Eivind LMOct 12, 2007
  4. Jonathan del StrotherOct 11, 2007
  5. Patrick DoyleOct 11, 2007
  6. Karl HasselströmOct 11, 2007
  7. Sam VilainOct 11, 2007
  8. Eivind LMOct 12, 2007
  9. Jonathan del StrotherOct 12, 2007
  10. Eivind LMOct 12, 2007
  11. Sam VilainOct 12, 2007

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.