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

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
Previous: Peter EriksenNext: Peter Eriksen
Message 2 of 9 in “[RFH] Exploration of an alternative diff_delta() algorithm”
  1. Peter EriksenApr 9, 2006
  2. Nicolas PitreApr 9, 2006
  3. Peter EriksenApr 9, 2006
  4. Nicolas PitreApr 9, 2006
  5. Peter EriksenApr 9, 2006
  6. Nicolas PitreApr 10, 2006
  7. Nicolas PitreApr 9, 2006
  8. Peter EriksenApr 9, 2006
  9. Nicolas PitreApr 9, 2006

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.