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

RT[1/3]: Alternate Encodings (esp. Delta Compression)

From
KSKris Shannon <kris.shannon.kernel@gmail.com>
Date
Apr 28, 2005, 13:47 UTC
Message-ID
<5d4799ae05042806477eb1e222@mail.gmail.com>
In-Reply-To
<5d4799ae0504280559109cd00e@mail.gmail.com>

If a format is defined for representing delta compression then it would be prudent to make sure that it could be used for encoding both forward and backward deltas (not necessarily in the same delta :) These deltas could then by kept in the objects directory (i.e. 00/a29c403e751c2a2a61eb24fa2249c8956d1c80.xdelta)

Doing delta compression of old versions is something that should be done manually (the subversion people have empirical data to back that up I think but I can't seem to find a link ATM) A command for wiping old versions from a repository to save space could be altered to replace the files with their xdelta equivalents for a reduced space savings but still keeping a full history.

Using delta compression of the new versions (against the old) for efficient bandwidth consumption is another possible area. If these delta's are produced on the fly, they could be cached in the objects directory.

These two different use cases are IMO a good argument for using this as a convention even if it doesn't become a part of git's core (i.e. changing read_sha1_file to transparently expand xdelta's)

If you add .xdelta it would follow that other encodings might be useful, and added to the objects directory in the same way.

-- 
Kris Shannon <kris.shannon.kernel@gmail.com>
Previous: Kris ShannonNext: Kris Shannon
Message 3 of 5 in “RT[0/3]: Some related random thoughts”
  1. Kris ShannonApr 28, 2005
  2. RT[2/3]: Rename/Code-movement TrackingKris Shannon, Apr 28, 2005
  3. RT[1/3]: Alternate Encodings (esp. Delta Compression)Kris Shannon, Apr 28, 2005
  4. RT[3/3]: Reverse lookup of SHA1 referencesKris Shannon, Apr 28, 2005
  5. Kris ShannonApr 29, 2005

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.