hit-0.6.3: Git operations in haskell

License | BSD-style
Maintainer | Vincent Hanquez <vincent@snarc.org>
Stability | experimental
Portability | unix
Safe Haskell | Safe
Language | Haskell98

Data.Git.Delta

Description

Synopsis

- data Delta = Delta Word64 Word64 [DeltaCmd]
- data DeltaCmd
  - = DeltaCopy ByteString
  - | DeltaSrc Word64 Word64
- deltaParse :: Parser ByteString Delta
- deltaRead :: ByteString -> Maybe Delta
- deltaApply :: ByteString -> Delta -> ByteString

# Documentation

data Delta Source

a delta is a source size, a destination size and a list of delta cmd

Constructors

Delta Word64 Word64 [DeltaCmd] |

Instances

Eq Delta Source |
Show Delta Source |

data DeltaCmd Source

possible commands in a delta

Constructors

DeltaCopy ByteString |
DeltaSrc Word64 Word64 |

Instances

Eq DeltaCmd Source |
Show DeltaCmd Source |

deltaParse :: Parser ByteString Delta Source

parse a delta. format is 2 variable sizes, followed by delta cmds. for each cmd: * if first byte MSB is set, we copy from source. * otherwise, we copy from delta. * extensions are not handled.

deltaRead :: ByteString -> Maybe Delta Source

read one delta from a lazy bytestring.

deltaApply :: ByteString -> Delta -> ByteString Source

apply a delta on a lazy bytestring, returning a new bytestring.