- class (Patchy p, Effect p, FromPrims p, Conflict p) => RepoPatch p
- data Prim
- data Patch
- data RealPatch
- data Named p
- class (Apply p, Commute p, ShowPatch p, ReadPatch p, Invert p) => Patchy p
- flattenFL :: Patch -> FL Patch
- joinPatches :: FromPrims p => FL p -> p
- fromPrim :: FromPrim p => Prim -> p
- fromPrims :: FromPrims p => FL Prim -> p
- isNullPatch :: Patch -> Bool
- nullP :: Patch -> EqCheck
- rmfile :: FilePath -> Prim
- addfile :: FilePath -> Prim
- rmdir :: FilePath -> Prim
- adddir :: FilePath -> Prim
- move :: FilePath -> FilePath -> Prim
- hunk :: FilePath -> Int -> [ByteString] -> [ByteString] -> Prim
- tokreplace :: FilePath -> String -> String -> String -> Prim
- namepatch :: Patchy p => String -> String -> String -> [String] -> p -> IO (Named p)
- anonymous :: Patchy p => p -> IO (Named p)
- binary :: FilePath -> ByteString -> ByteString -> Prim
- description :: ShowPatch p => p -> Doc
- showContextPatch :: ShowPatch p => p -> TreeIO Doc
- showPatch :: ShowPatch p => p -> Doc
- showNicely :: ShowPatch p => p -> Doc
- infopatch :: Patchy p => PatchInfo -> p -> Named p
- changepref :: String -> String -> String -> Prim
- thing :: ShowPatch p => p -> String
- things :: ShowPatch p => p -> String
- isSimilar :: Prim -> Prim -> Bool
- primIsAddfile :: Prim -> Bool
- primIsHunk :: Prim -> Bool
- primIsSetpref :: Prim -> Bool
- merger :: String -> Patch -> Patch -> Patch
- isMerger :: Patch -> Bool
- merge :: Commute p => (p :\/: p) -> p :/\: p
- commute :: Commute p => (p :> p) -> Maybe (p :> p)
- listTouchedFiles :: Commute p => p -> [FilePath]
- hunkMatches :: Commute p => (ByteString -> Bool) -> p -> Bool
- unravel :: Patch -> [FL Prim]
- elegantMerge :: (Patch :\/: Patch) -> Maybe (Patch :/\: Patch)
- resolveConflicts :: Conflict p => p -> [[Sealed (FL Prim)]]
- class Effect p where
- primIsBinary :: Prim -> Bool
- gzWritePatch :: ShowPatch p => FilePath -> p -> IO ()
- writePatch :: ShowPatch p => FilePath -> p -> IO ()
- primIsAdddir :: Prim -> Bool
- invert :: Invert p => p -> p
- invertFL :: Invert p => FL p -> RL p
- invertRL :: Invert p => RL p -> FL p
- identity :: Invert p => p
- commuteFL :: Commute p => (p :> FL p) -> Either (Sealed2 p) (FL p :> p)
- commuteRL :: Commute p => (RL p :> p) -> Maybe (p :> RL p)
- readPatch :: ReadPatch p => ByteString -> Maybe (Sealed p, ByteString)
- canonize :: Prim -> FL Prim
- sortCoalesceFL :: FL Prim -> FL Prim
- tryToShrink :: FL Prim -> FL Prim
- applyToSlurpy :: (Apply p, Monad m) => p -> Slurpy -> m Slurpy
- patchname :: Named p -> String
- patchcontents :: Named p -> p
- applyToFilepaths :: Apply p => p -> [FilePath] -> [FilePath]
- forceReplaceSlurpy :: Prim -> Slurpy -> Maybe Slurpy
- apply :: (Apply p, WriteableDirectory m) => [DarcsFlag] -> p -> m ()
- applyToTree :: Apply p => p -> Tree IO -> IO (Tree IO)
- patch2patchinfo :: Named p -> PatchInfo
- data LineMark
- type MarkedUpFile = [(ByteString, LineMark)]
- markupFile :: Effect p => PatchInfo -> p -> (FilePath, MarkedUpFile) -> (FilePath, MarkedUpFile)
- emptyMarkedupFile :: MarkedUpFile
- summary :: ShowPatch p => p -> Doc
- plainSummary :: (Conflict e, Effect e) => e -> Doc
- xmlSummary :: (Effect p, Patchy p, Conflict p) => Named p -> Doc
- adddeps :: Named p -> [PatchInfo] -> Named p
- getdeps :: Named p -> [PatchInfo]
- listConflictedFiles :: Conflict p => p -> [FilePath]
- modernizePatch :: Patch -> Patch
- data DirMark
- = AddedFile
- | RemovedFile
- | MovedFile String
- | ModifiedFile
- | DullFile
- | AddedDir
- | RemovedDir
- | MovedDir !String
- | DullDir
- patchChanges :: Prim -> [(String, DirMark)]
- applyToPop :: PatchInfo -> FL Prim -> Population -> Population
Documentation
Duplicate x
: This patch has no effect since x
is already present in the repository
Etacilpud x: invert (Duplicate x)
Normal prim
: A primitive patch
Conflictor ix xx x
:
ix
is the set of patches:
- that conflict with
x
and also conflict with another patch in the repository - that conflict with a patch that conflict with
x
xx
is the sequence of patches that conflict *only* with x
x
is the current patch
ix
and x
are stored as Non
objects, which include any necessary
context to uniquely define the patch that is referred to.
InvConflictor ix xx x
: like invert (Conflictor ix xx x)
The Named
type adds a patch info about a patch, that is a name.
NamedP info deps p
represents patch p
with name
info
. deps
is a list of dependencies added at the named patch
level, compared with the unnamed level (ie, dependencies added with
darcs record --ask-deps
).
(Conflict p, ShowPatch p) => Show (Named p) | |
MyEq p => MyEq (Named p) | |
Invert p => Invert (Named p) | |
ReadPatch p => ReadPatch (Named p) | |
(Conflict p, ShowPatch p) => ShowPatch (Named p) | |
Commute p => Commute (Named p) | |
Apply p => Apply (Named p) | |
(Conflict p, Effect p, Patchy p) => Patchy (Named p) | |
Effect p => Effect (Named p) | |
Conflict p => Conflict (Named p) |
joinPatches :: FromPrims p => FL p -> pSource
isNullPatch :: Patch -> BoolSource
hunk :: FilePath -> Int -> [ByteString] -> [ByteString] -> PrimSource
binary :: FilePath -> ByteString -> ByteString -> PrimSource
description :: ShowPatch p => p -> DocSource
showContextPatch :: ShowPatch p => p -> TreeIO DocSource
showNicely :: ShowPatch p => p -> DocSource
isSimilar :: Prim -> Prim -> BoolSource
Tells you if two patches are in the same category, human-wise. Currently just returns true if they are filepatches on the same file.
primIsAddfile :: Prim -> BoolSource
primIsHunk :: Prim -> BoolSource
primIsSetpref :: Prim -> BoolSource
listTouchedFiles :: Commute p => p -> [FilePath]Source
hunkMatches :: Commute p => (ByteString -> Bool) -> p -> BoolSource
Patches whose concrete effect which can be expressed as a list of primitive patches.
A minimal definition would be either of effect
or effectRL
.
primIsBinary :: Prim -> BoolSource
primIsAdddir :: Prim -> BoolSource
readPatch :: ReadPatch p => ByteString -> Maybe (Sealed p, ByteString)Source
sortCoalesceFL :: FL Prim -> FL PrimSource
sortCoalesceFL
ps
coalesces as many patches in ps
as
possible, sorting the results according to the scheme defined
in comparePrim
patchcontents :: Named p -> pSource
applyToFilepaths :: Apply p => p -> [FilePath] -> [FilePath]Source
patch2patchinfo :: Named p -> PatchInfoSource
type MarkedUpFile = [(ByteString, LineMark)]Source
markupFile :: Effect p => PatchInfo -> p -> (FilePath, MarkedUpFile) -> (FilePath, MarkedUpFile)Source
plainSummary :: (Conflict e, Effect e) => e -> DocSource
listConflictedFiles :: Conflict p => p -> [FilePath]Source
modernizePatch :: Patch -> PatchSource
info of a directory member
patchChanges :: Prim -> [(String, DirMark)]Source
applyToPop :: PatchInfo -> FL Prim -> Population -> PopulationSource