Re: Understanding Binary Deltas within Packfile
- From
- Luke Robison <robison@arlut.utexas.edu>
- Date
- Mar 20, 2018, 18:34 UTC
- Message-ID
- <751c0493-435c-4a98-4d1c-e3d6677c62d8@arlut.utexas.edu>
- In-Reply-To
- <CACsJy8ABgZy=eJ7niUysb2XZ3qUr3J+jmh_5YWZ1ZDiFCrb0tA@mail.gmail.com>
On 3/20/2018 11:03 AM, Duy Nguyen wrote:
Show 10 quoted lines
> On Tue, Mar 20, 2018 at 4:43 PM, Luke Robison <robison@arlut.utexas.edu> wrote: >> Is there any documentation of the contents of the binary delta datain a >> packfile, and how to interpret them? I found >> https://github.com/git/git/blob/master/Documentation/technical/pack-format.txt >> documenting the packfile itself, but the "compressed delta data" seems >> largely undocumented. The source code of >> https://github.com/git/git/blob/master/diff-delta.c is pretty dense. > The output is consumed by patch_delta() in patch-delta.c if I'm not > mistaken. This function is less than 100 lines, probably much easier > to see the delta format.
Thank you, that was much easier to read, and I've got my prototype working now. I also found this site to be quite helpful: http://stefan.saasen.me/articles/git-clone-in-haskell-from-the-bottom-up/#delta_encoding