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

Re: [PATCH] Documentation/git-bundle.txt: Dumping contents of any bundle

From
Shawn O. Pearce <spearce@spearce.org>
Date
Jan 2, 2009, 07:15 UTC
Message-ID
<20090102071519.GA14472@spearce.org>
In-Reply-To
<878wputvnt.fsf@jidanni.org>
jidanni@jidanni.org wrote:
> JK> diff --git a/builtin-unpack-objects.c b/builtin-unpack-objects.c
> OK, I wish you luck in the fruition of the new --dump-delta option, and
> can proofread the man pages involved, otherwise this is no area for
> junior programmer me.

This is rather insane. There's very little data inside of a delta. That's sort of the point of that level of compression, it takes up very little disk space and yet describes the change made. Almost nobody is going to want the delta without the base object it applies onto. No user of git is going to need that. I'd rather not carry dead code around in the tree for something nobody will ever use.

FWIW, most Git deltas are "copy" instructions, they list a position and count in the base to copy data *from*. These take up less space then "insert" instructions, where new text is placed into the file. As the delta generator favors a smaller delta, it tends to create deltas that use the "copy" instruction more often than the "insert" instruction. So there is *very* little data in the delta, just ranges to copy from somewhere else. Without that other place (the delta base) all you can do is guess about those bits. Which you can do just as well with a few flips of a fair coin. :-)

-- 
Shawn.
Previous: jidanni@jidanni.orgNext: Jeff King
Message 14 of 32 in “How to extract files out of a "git bundle", no matter what?”
  1. jidanni@jidanni.orgDec 19, 2008
  2. Shawn O. PearceDec 19, 2008
  3. Mark LevedahlDec 19, 2008
  4. jidanni@jidanni.orgDec 19, 2008
  5. Jeff KingDec 19, 2008
  6. jidanni@jidanni.orgDec 19, 2008
  7. Jeff KingDec 19, 2008
  8. Documentation/git-bundle.txt: Dumping contents of any bundlejidanni@jidanni.org, Jan 1, 2009
  9. Johannes SchindelinJan 1, 2009
  10. Jeff KingJan 1, 2009
  11. jidanni@jidanni.orgJan 1, 2009
  12. Jeff KingJan 1, 2009
  13. jidanni@jidanni.orgJan 2, 2009
  14. Shawn O. PearceJan 2, 2009
  15. Jeff KingJan 2, 2009
  16. jidanni@jidanni.orgJan 2, 2009
  17. git ls-tree prints wacko file sizes if it can't find the blobjidanni@jidanni.org, Jan 1, 2009
  18. jidanni@jidanni.orgJan 1, 2009
  19. Handle sha1_object_info failures in ls-tree -lAlex Riesen, Jan 1, 2009
  20. git-bundle(1): add no references required simplest casejidanni@jidanni.org, Jan 26, 2009
  21. Junio C HamanoJan 26, 2009
  22. git-bundle(1): add no references required simplest casejidanni@jidanni.org, Jan 29, 2009
  23. jidanni@jidanni.orgFeb 1, 2009
  24. Johannes SchindelinFeb 2, 2009
  25. Junio C HamanoFeb 2, 2009
  26. jidanni@jidanni.orgFeb 4, 2009
  27. Junio C HamanoFeb 4, 2009
  28. jidanni@jidanni.orgFeb 4, 2009
  29. git-bundle doc: update examplesNanako Shiraishi, Feb 4, 2009
  30. Jeff KingFeb 4, 2009
  31. Junio C HamanoFeb 4, 2009
  32. Junio C HamanoDec 19, 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.