darcs-2.18.2: a distributed, interactive, smart revision control system
Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.Bundle

Synopsis

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.