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

Re: Breaking up repositories

From
Josh Triplett <josh@freedesktop.org>
Date
May 31, 2007, 15:53 UTC
Message-ID
<465EEF96.6050307@freedesktop.org>
Jason Sewall wrote:
Show 8 quoted lines
> I recently imported my subversion repo with git-svn and I'm curious
> what the best way to break up the monolithic repo (my many disparate
> projects from my single svn repo) into individual git repos of their
> own.
> 
>  I'm still trying to get a grasp on the considerable git toolbox and I
> can't seem to find the functionality I'm describing, but I'm sure it
> exists - I heard Linus talk about it in that Google talk on git!

In the specific case of git-svn, you can probably give git-svn the appropriate paths to import each project separately; that may do what you want, depending on your repository layout.

In the general case, if you want to split a subtree of a git repo into a git repo, you want git-split, by Jamey Sharp and I: <http://people.freedesktop.org/~jamey/git-split> From a copy of the git repo you want to split, just run "git-split subdir", optionally with a newest and oldest commit, and it will output the sha1 of the new top commit for use as the new branch ref. Remove all other branches, reflogs, and other references to the old commits, and use prune or gc to get rid of old objects. Repeat as desired for other subdirs.

We really need to fix some things in git-split and get it merged into git.
- Josh Triplett
Next: Andy Parkins
Message 1 of 3 in “Re: Breaking up repositories”
  1. Josh TriplettMay 31, 2007
  2. Andy ParkinsJun 1, 2007
  3. Jakub NarebskiJun 1, 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.