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

Safe HaskellNone
LanguageHaskell2010

Darcs.Repository.PatchIndex

Synopsis

Documentation

doesPatchIndexExist :: FilePath -> IO Bool Source #

check if patch-index exits for this repository

isPatchIndexDisabled :: FilePath -> IO Bool Source #

check if noPatchIndex exists

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

check if patch-index is in sync with repository

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

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 Source #

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.

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

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] Source #

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)] Source #

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

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)) Source #

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

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

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