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

Is my repository broken?

From
Julian Phillips <julian@quantumfyre.co.uk>
Date
Apr 8, 2008, 22:02 UTC
Message-ID
<Pine.LNX.4.64.0804082246160.8753@kaos.quantumfyre.co.uk>

Having just converted a subversion repository to git using a custom fast-import based script, I realised that I had forgotten to add some users to the mapping table - so I thought that filter-branch would save me from having to redo the 72hr import.

At which point I discovered that I had a number of commits that git didn't like. In particular I had a number of commits with an empty ident, and a number with more than 16 parents (actually mostly these are the same commits - but I don't think that's relevant). When filter-branch tries to process these commits it can't commit them - and so I end up losing a number of refs.

I can fix the empty ident using the msg-filter in filter-branch, and I can 
work around the 16 parent limit by building a custom git with MAX_PARENT = 
32.  However - will having commits with more than 16 parents break things 
for un-modified git?  The commits in question were originally created in 
CVS, so the parenting is kinda 'real' for some value of real - but we are 
talking revision 4000/40000, so I don't mind arbitrarily limiting the 
commits to 16 parents, but I would prefer to avoid redoing the 72hr import 
if possible.  (Perhaps I can also 'fix' the parenting in filter-branch?)

Also, shouldn't fast-import be imposing the same restrictions on what you are allowed to commit that the main git tools do? If not, are such restrictions documented so that I can apply them in my conversion script?

(28G Subversion repository to 7.1G git repository (before repacking) ... not bad :D)

-- 
Julian

  ---
Agnes' Law:
 	Almost everything in life is easier to get into than out of.
Next: Junio C Hamano
Message 1 of 6 in “Is my repository broken?”
  1. Julian PhillipsApr 8, 2008
  2. Junio C HamanoApr 8, 2008
  3. Shawn O. PearceApr 8, 2008
  4. Julian PhillipsApr 8, 2008
  5. Junio C HamanoApr 9, 2008
  6. Julian PhillipsApr 9, 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.