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

Re: Understanding version 4 packs

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Mar 25, 2007, 17:09 UTC
Message-ID
<Pine.LNX.4.64.0703251004580.6730@woody.linux-foundation.org>
In-Reply-To
<20070325091806.GH25863@spearce.org>
On Sun, 25 Mar 2007, Shawn O. Pearce wrote:
Show 8 quoted lines
> >
> > What happens to the paths, that do not have a correponding entry in the
> > path name table, because they are not among the 65535 most frequent
> > paths in the pack?
> 
> They don't appear in the table.  And any tree that uses them is
> forced to use the "legacy" OBJ_TREE encoding.  Which is what we
> have now in pack v2, and in loose objects.
Would it hurt too much to just make it four bytes, and avoid that issue?

Special cases - and *especially* special cases that are hard to trigger in the first place - equal bugs. And bugs are much much worse than trying to save a little bit of space.

> The author_time field is not present if flags & 128 is true.
> If flags & 128 is false, its present, and uses the same encoding
> as commit_time.  Why is this field optional?  Because its not
> uncommon for it to match commit_time!  ;-)

If the author time is the same as the commit time, most of the time the author is the same as the committer too, no? So the field should be conditional not for the author_time, but for the combination, no?

Our email-parsing tools (which is the most common reason for a committer not being the same as the author) all take the author date from the email. So I don't think author_time == committer_time except when the committer and the author are one and the same person.

			Linus
Previous: Shawn O. PearceNext: Shawn O. Pearce
Message 5 of 19 in “Understanding version 4 packs”
  1. Peter EriksenMar 24, 2007
  2. Nicolas PitreMar 24, 2007
  3. Peter EriksenMar 25, 2007
  4. Shawn O. PearceMar 25, 2007
  5. Linus TorvaldsMar 25, 2007
  6. Shawn O. PearceMar 25, 2007
  7. Nicolas PitreMar 26, 2007
  8. Shawn O. PearceMar 26, 2007
  9. Jakub NarebskiMar 26, 2007
  10. Nicolas PitreMar 26, 2007
  11. Marco CostalbaMar 26, 2007
  12. Nicolas PitreMar 26, 2007
  13. Marco CostalbaMar 26, 2007
  14. Nicolas PitreMar 26, 2007
  15. Nicolas PitreMar 26, 2007
  16. Marco CostalbaMar 27, 2007
  17. Shawn O. PearceMar 27, 2007
  18. Shawn O. PearceMar 25, 2007
  19. Shawn O. PearceMar 25, 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.