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

From: Kris Shannon <[email-masked]>
Date: Thu, 28 Apr 2005 23:47:59 +1000

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 <[email-masked]>