Re: [RFH] Exploration of an alternative diff_delta() algorithm
- From
Nicolas Pitre <nico@cam.org>
- Date
- Apr 9, 2006, 17:14 UTC
- Message-ID
- <Pine.LNX.4.64.0604091307460.2215@localhost.localdomain>
- In-Reply-To
- <20060409143117.GA23908@erlang.gbar.dtu.dk>
On Sun, 9 Apr 2006, Peter Eriksen wrote:
Show 38 quoted lines
> Greetings Gitlings, > > I've been trying to implement an alternative algorithm > for diff_delta(). I'm getting close to something that > works, but now I'm stuck! I think it has something to > do with pack-objects.c, but I'm not sure. Here's the > first test that fails: > > *** t5500-fetch-pack.sh *** > * FAIL 1: 1st pull > git-fetch-pack -v .. B A > log.txt 2>&1 > * FAIL 2: fsck > git-fsck-objects --full > fsck.txt 2>&1 > * FAIL 3: new object count after 1st pull > test 33 = 0 > * FAIL 4: minimal count > test 33 = 0 > * FAIL 5: repack && prune-packed in client > (git-repack && git-prune-packed)2>>log.txt > * ok 5: 2nd pull > * ok 6: fsck > * FAIL 7: new object count after 2nd pull > test 192 = 198 > * FAIL 8: minimal count > test 192 = 198 > * FAIL 9: repack && prune-packed in client > (git-repack && git-prune-packed)2>>log.txt > * ok 9: 3rd pull > * ok 10: fsck > * FAIL 11: new object count after 3rd pull > test 3 = 228 > * FAIL 12: minimal count > test 3 = 30 > * failed 8 among 12 test(s) > > I've been looking all around the current diff_delta(), and I > can't see, what I'm missing. Any ideas? The file is meant to > replace the current diff-delta.c.
Nothing outside diff-delta.c and patch-delta.c is aware of the delta data format. So if your version is meant to be a transparent replacement then it should pass all tests. If it doesn't then it is broken.
To help you play around you could try the test-delta utility (make test-delta to build it).
So:
test-delta -d file1 file2 delta_file test-delta -p file1 delta_file file3 cmp file2 file3
You should always have file3 identical to file2.
Nicolas