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

Safe HaskellNone

Darcs.Repository.PatchIndex

Synopsis

Documentation

doesPatchIndexExist :: FilePath -> IO Bool

check if patch-index exits for this repository

isPatchIndexDisabled :: FilePath -> IO Bool

check if noPatchIndex exists

isPatchIndexInSync :: (RepoPatch p, ApplyState p ~ Tree) => Repository rt p wR wU wT -> IO Bool

check if patch-index is in sync with repository

canUsePatchIndex :: (RepoPatch p, ApplyState p ~ Tree) => Repository rt p wR wU wT -> IO Bool

see if the default is to use patch index or not | creates Patch index, if it does not exist, and noPatchIndex is not set

canCreatePI :: (RepoPatch p, ApplyState p ~ Tree) => Repository rt p wR wU wT -> IO Bool

Checks whether a patch index can (and should) be created. If we are not in an old-fashioned repo, and if we haven't been told not to, then we should create a patch index if it doesn't already exist.

createPIWithInterrupt :: (IsRepoType rt, RepoPatch p, ApplyState p ~ Tree) => Repository rt p wR wU wT -> IO ()

createOrUpdatePatchIndexDisk :: (IsRepoType rt, RepoPatch p, ApplyState p ~ Tree) => Repository rt p wR wU wT -> IO ()

create or update patch index

filterPatches :: (IsRepoType rt, RepoPatch p, ApplyState p ~ Tree, a ~ PatchInfoAnd rt p) => Repository rt p wR wU wT -> [FilePath] -> [Sealed2 a] -> IO [Sealed2 a]

filter given patches so as to keep only the patches that modify the given files

type PatchFilter rt p = [FilePath] -> [Sealed2 (PatchInfoAnd rt p)] -> IO [Sealed2 (PatchInfoAnd rt p)]

maybeFilterPatches :: (IsRepoType rt, RepoPatch p, ApplyState p ~ Tree) => Repository rt p wR wU wT -> PatchFilter rt p

If a patch index is available, filter given patches so as to keep only the patches that modify the given files. If none is available, return the original input.

getRelevantSubsequence :: (IsRepoType rt, RepoPatch p, ApplyState p ~ Tree, a ~ PatchInfoAnd rt p) => Sealed (RL a wK) -> Repository rt p wR wU wR -> [FileName] -> IO (Sealed (RL a Origin))

piTest :: (IsRepoType rt, RepoPatch p, ApplyState p ~ Tree) => Repository rt p wR wU wT -> IO ()

attemptCreatePatchIndex :: (IsRepoType rt, RepoPatch p, ApplyState p ~ Tree) => Repository rt p wR wU wT -> IO ()

Check if patch index can be created and build it with interrupt.