Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data PatchSet rt p wStart wY where
- data Tagged rt p wX wZ where
- Tagged :: PatchInfoAnd rt p wY wZ -> Maybe String -> RL (PatchInfoAnd rt p) wX wY -> Tagged rt p wX wZ
- type SealedPatchSet rt p wStart = Sealed (PatchSet rt p wStart)
- data Origin
- progressPatchSet :: String -> PatchSet rt p wStart wX -> PatchSet rt p wStart wX
- tags :: PatchSet rt p wStart wX -> [PatchInfo]
- emptyPatchSet :: PatchSet rt p wX wX
- appendPSFL :: PatchSet rt p wStart wX -> FL (PatchInfoAnd rt p) wX wY -> PatchSet rt p wStart wY
- patchSet2RL :: PatchSet rt p wStart wX -> RL (PatchInfoAnd rt p) wStart wX
- patchSet2FL :: PatchSet rt p wStart wX -> FL (PatchInfoAnd rt p) wStart wX
- patchSetfMap :: (forall wW wZ. PatchInfoAnd rt p wW wZ -> IO a) -> PatchSet rt p wW' wZ' -> IO [a]
Documentation
data PatchSet rt 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.
data Tagged rt 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.
Tagged :: PatchInfoAnd rt p wY wZ -> Maybe String -> RL (PatchInfoAnd rt p) wX wY -> Tagged rt p wX wZ |
type SealedPatchSet rt p wStart = Sealed (PatchSet rt p wStart) Source #
progressPatchSet :: String -> PatchSet rt p wStart wX -> PatchSet rt 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.
emptyPatchSet :: PatchSet rt p wX wX Source #
appendPSFL :: PatchSet rt p wStart wX -> FL (PatchInfoAnd rt p) wX wY -> PatchSet rt p wStart wY Source #
appendPSFL
takes a PatchSet
and a FL
of patches that "follow" the
PatchSet, and concatenates the patches into the PatchSet.
patchSet2RL :: PatchSet rt p wStart wX -> RL (PatchInfoAnd rt p) wStart wX Source #
patchSet2RL
takes a PatchSet
and returns an equivalent, linear RL
of
patches.
patchSet2FL :: PatchSet rt p wStart wX -> FL (PatchInfoAnd rt p) wStart wX Source #
patchSet2FL
takes a PatchSet
and returns an equivalent, linear FL
of
patches.
patchSetfMap :: (forall wW wZ. PatchInfoAnd rt p wW wZ -> IO a) -> PatchSet rt p wW' wZ' -> IO [a] Source #