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

Safe Haskell | None
Language | Haskell2010

Darcs.Patch.Bundle

Synopsis

- data Bundle (p :: Type -> Type -> Type) wX wY where
  - Bundle :: forall (p :: Type -> Type -> Type) wX wY. (FL (PatchInfoAnd p) :> FL (PatchInfoAnd p)) wX wY -> Bundle p wX wY
- makeBundle :: forall (p :: Type -> Type -> Type) wStart wX wY. (RepoPatch p, ApplyMonadTrans (ApplyState p) IO, ObjectId (ObjectIdOfPatch p)) => Maybe (ApplyState p IO) -> PatchSet p wStart wX -> FL (Named p) wX wY -> IO Doc
- parseBundle :: forall (p :: Type -> Type -> Type) wX. RepoPatch p => ByteString -> Either String (Sealed (Bundle p wX))
- interpretBundle :: forall (p :: Type -> Type -> Type) wT wA wB. Commute p => PatchSet p Origin wT -> Bundle p wA wB -> Either String (PatchSet p Origin wB)
- readContextFile :: forall (p :: Type -> Type -> Type) wX. Commute p => PatchSet p Origin wX -> FilePath -> IO (SealedPatchSet p Origin)
- minContext :: forall (p :: Type -> Type -> Type) wStart wB wC. RepoPatch p => PatchSet p wStart wB -> FL (PatchInfoAnd p) wB wC -> Sealed ((PatchSet p :> FL (PatchInfoAnd p)) wStart)

# Documentation

data Bundle (p :: Type -> Type -> Type) wX wY where #

A `Bundle` is a context together with some patches. The context consists of unavailable patches.

Constructors

Bundle :: forall (p :: Type -> Type -> Type) wX wY. (FL (PatchInfoAnd p) :> FL (PatchInfoAnd p)) wX wY -> Bundle p wX wY |

makeBundle :: forall (p :: Type -> Type -> Type) wStart wX wY. (RepoPatch p, ApplyMonadTrans (ApplyState p) IO, ObjectId (ObjectIdOfPatch p)) => Maybe (ApplyState p IO) -> PatchSet p wStart wX -> FL (Named p) wX wY -> IO Doc #

parseBundle :: forall (p :: Type -> Type -> Type) wX. RepoPatch p => ByteString -> Either String (Sealed (Bundle p wX)) #

interpretBundle :: forall (p :: Type -> Type -> Type) wT wA wB. Commute p => PatchSet p Origin wT -> Bundle p wA wB -> Either String (PatchSet p Origin wB) #

Interpret a `Bundle` in the context of a `PatchSet`. This means we match up a possible tag in the context of the `Bundle`. This fails if the tag couldn't be found.

readContextFile :: forall (p :: Type -> Type -> Type) wX. Commute p => PatchSet p Origin wX -> FilePath -> IO (SealedPatchSet p Origin) #

minContext :: forall (p :: Type -> Type -> Type) wStart wB wC. RepoPatch p => PatchSet p wStart wB -> FL (PatchInfoAnd p) wB wC -> Sealed ((PatchSet p :> FL (PatchInfoAnd p)) wStart) #

Minimize the context of an `FL` of patches to be packed into a bundle.