[PATCH] mkdelta enhancements (take 2)
authorNicolas Pitre <nico@cam.org>
Mon, 30 May 2005 01:52:19 +0000 (21:52 -0400)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 31 May 2005 00:37:20 +0000 (17:37 -0700)
commit53d4b460858745949287d5bb51f5210b80d86305
treed0d8997016af766cb2a6bb0692fc808a2481e899
parenta3e870f2e2bcacc80d5b81d7b77c15a7928a9082
[PATCH] mkdelta enhancements (take 2)

Although it was described as such, git-mkdelta didn't really attempt to
find the best delta against any previous object in the list, but was
only able to create a delta against the preceeding object.  This patch
reworks the code to fix that limitation and hopefully makes it a bit
clearer than before, including fixing the delta loop detection which was
broken.

This means that

git-mkdelta sha1 sha2 sha3 sha4 sha5 sha6

will now create a sha2 delta against sha1, a sha3 delta against either
sha2 or sha1 and keep the best one, a sha4 delta against either sha3,
sha2 or sha1, etc.  The --max-behind argument limits that search for the
best delta to the specified number of previous objects in the list.  If
no limit is specified it is unlimited (note: it might run out of
memory with long object lists).

Also added a -q (quiet) switch so it is possible to have 3 levels of
output: -q for nothing, -v for verbose, and if none of -q nor -v is
specified then only actual changes on the object database are shown.

Finally the git-deltafy-script has been updated accordingly, and some
bugs fixed (thanks to Stephen C. Tweedie for spotting them).

This version has been toroughly tested and I think it is ready
for public consumption.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
git-deltafy-script [changed mode: 0644->0755]
mkdelta.c