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

Truncating and cleaning a imported git repositary to make it more usable

From
ABAlex Bennee <kernel-hacker@bennee.com>
Date
Mar 28, 2008, 12:35 UTC
Message-ID
<1206707716.9819.15.camel@malory>
Hi,

I've succeeded in porting our whole CVS repository into git (with plenty of swap, cvsps is very memory hungry). Now we have a reference historical repository I need to think about creating one we actually use for day to day use (the .git is currently in the order of 650Mb which is a little heavy for pushing around DSL links willy nilly).

What I need to achieve is fairly simple.
1. Find the common ancestor point for all the product branches I want to
keep in the repo.

Can anyone point me to the magic invocation that would allow this? git-merge-base can find the common point for two commits, do I just have to iteratively use that?

I'm currently working over a terminal link so it would be dead handy if there was a visual way of showing what gitk --all does on the command line.

2. Create a new repo, starting at the common ancestor point
  2(a). I'd need to remove the orphaned old CVS modules which are still
around but not referenced any more.
3. Create the product branches and import ANCESTOR..BRANCH_HEAD into
them

I'm not sure if I could pull directly into the new repo here. I could do it by doing a:

  old_repo: git-format-patch ANCESTOR..BRANCH_HEAD
  new_repo: git-am ../old_repo/0*
But I'm open to newer cleaner ways of dealing with this.

Has anyone done this before? Are there cleaner ways of dealing with this?

-- Alex, homepage: http://www.bennee.com/~alex/ When one knows women one pities men, but when one studies men, one excuses women. -- Horne Tooke

Next: Avery Pennarun
Message 1 of 14 in “Truncating and cleaning a imported git repositary to make it more usable”
  1. Alex BenneeMar 28, 2008
  2. Avery PennarunMar 28, 2008
  3. Alex BenneeMar 28, 2008
  4. Alex BenneeMar 28, 2008
  5. Alex BenneeMar 28, 2008
  6. Johannes SixtMar 28, 2008
  7. Documentation: Another example for git-filter-branchAlex Bennee, Mar 28, 2008
  8. Mike HommeyMar 28, 2008
  9. Alex BenneeMar 29, 2008
  10. Jakub NarebskiMar 29, 2008
  11. Johannes SixtMar 31, 2008
  12. Jeff KingMar 28, 2008
  13. Jeff KingMar 28, 2008
  14. Michael HaggertyMar 29, 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.