From: Kris Shannon Date: Thu, 28 Apr 2005 13:47:59 GMT Subject: RT[1/3]: Alternate Encodings (esp. Delta Compression) 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