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

Idea for git-fast-import

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Jul 20, 2007, 06:59 UTC
Message-ID
<46A05D4B.1050208@alum.mit.edu>

I'm working on a git backend for cvs2svn and had an idea for git-fast-import that would make life a tiny bit easier:

Currently, git-fast-import marks are positive integers. But they are used for two things: marking single-file blobs, and marking commits.

This is a tiny bit awkward, because cvs2svn assigns small integer IDs to these things too, but uses distinct (overlapping) integer series for the two concepts. If it would be trivial to split the marks into two "namespaces" (one for single-file blobs and one for commits), that would make things a little bit more natural. I don't think commit marks can be used interchangeably with blob marks anyway, so it wouldn't be a backwards incompatibility.

Without this feature, I will have to assign a new "mark" integer series that is unrelated to cvs2svn's IDs, which is no big deal at all but will make debugging a little bit harder. So only add this feature if it is really easy for you.

Also, is there a big cost to using "not-quite-consecutive" integers as marks? cvs2svn's CVSRevision IDs are intermingled with IDs for CVSBranches and CVSTags, so the CVSRevisions alone probably only pack the ID space 5%-50% full.

In fact, if there is a big cost to "not-quite-consecutive" integers, then I withdraw my request for separate mark namespaces, since I would have to reallocate mark numbers anyway :-)

Another thing that might help with debugging would be a "comment" command, which git-fast-import should ignore. One could put text about the source of a chunk of git-fast-import stream to relate it back to the front-end concepts when debugging the stream contents by hand.

[I will be out of town until Monday, so don't be surprised that I don't respond right away :-) ]

Thanks, Michael

Next: Shawn O. Pearce
Message 1 of 3 in “Idea for git-fast-import”
  1. Michael HaggertyJul 20, 2007
  2. Shawn O. PearceJul 20, 2007
  3. Michael HaggertyJul 22, 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.