darcs-2.10.0: a distributed, interactive, smart revision control system

Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.Set

Synopsis

Documentation

data PatchSet p wStart wY where Source

The patches in a repository are stored in chunks broken up at "clean" tags. A tag is clean if the only patches before it in the current repository ordering are ones that the tag depends on (either directly or indirectly). Each chunk is stored in a separate inventory file on disk.

A PatchSet represents a repo's history as the list of patches since the last clean tag, and then a list of patch lists each delimited by clean tags.

Constructors

PatchSet :: RL (PatchInfoAnd p) wX wY -> RL (Tagged p) wStart wX -> PatchSet p wStart wY 

Instances

Show2 p => Show2 (PatchSet p) 
Show2 p => Show1 (PatchSet p wStart) 
Show2 p => Show (PatchSet p wStart wY) 

data Tagged p wX wZ where Source

A Tagged is a single chunk of a PatchSet. It has a PatchInfo representing a clean tag, the hash of the previous inventory (if it exists), and the list of patches since that previous inventory.

Constructors

Tagged :: PatchInfoAnd p wY wZ -> Maybe String -> RL (PatchInfoAnd p) wX wY -> Tagged p wX wZ 

Instances

Show2 p => Show2 (Tagged p) 
Show2 p => Show1 (Tagged p wX) 
Show2 p => Show (Tagged p wX wZ) 

type SealedPatchSet p wStart = Sealed (PatchSet p wStart) Source

data Origin Source

Origin is a type used to represent the initial context of a repo.

progressPatchSet :: String -> PatchSet p wStart wX -> PatchSet p wStart wX Source

Runs a progress action for each tag and patch in a given PatchSet, using the passed progress message. Does not alter the PatchSet.

tags :: PatchSet p wStart wX -> [PatchInfo] Source

tags returns the PatchInfos corresponding to the tags of a given PatchSet.

appendPSFL :: PatchSet p wStart wX -> FL (PatchInfoAnd p) wX wY -> PatchSet p wStart wY Source

appendPSFL takes a PatchSet and a FL of patches that "follow" the PatchSet, and concatenates the patches into the PatchSet.

newset2RL :: PatchSet p wStart wX -> RL (PatchInfoAnd p) wStart wX Source

newset2RL takes a PatchSet and returns an equivalent, linear RL of patches.

newset2FL :: PatchSet p wStart wX -> FL (PatchInfoAnd p) wStart wX Source

newset2FL takes a PatchSet and returns an equivalent, linear FL of patches.