darcs-2.1.98.2: a distributed, interactive, smart revision control systemSource codeContentsIndex
Darcs.Patch
Synopsis
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
is_null_patch :: 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 => Slurpy -> p -> 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
is_similar :: Prim -> Prim -> Bool
is_addfile :: Prim -> Bool
is_hunk :: Prim -> Bool
is_setpref :: Prim -> Bool
merger :: String -> Patch -> Patch -> Patch
is_merger :: Patch -> Bool
merge :: Commute p => (p :\/: p) -> p :/\: p
commute :: Commute p => (p :> p) -> Maybe (p :> p)
commutex :: Commute p => (p :< p) -> Maybe (p :< p)
list_touched_files :: Commute p => p -> [FilePath]
unravel :: Patch -> [FL Prim]
elegant_merge :: (Patch :\/: Patch) -> Maybe (Patch :/\: Patch)
resolve_conflicts :: Conflict p => p -> [[Sealed (FL Prim)]]
class Effect p where
effect :: p -> FL Prim
is_binary :: Prim -> Bool
gzWritePatch :: ShowPatch p => FilePath -> p -> IO ()
writePatch :: ShowPatch p => FilePath -> p -> IO ()
is_adddir :: 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
sort_coalesceFL :: FL Prim -> FL Prim
try_to_shrink :: FL Prim -> FL Prim
apply_to_slurpy :: (Apply p, Monad m) => p -> Slurpy -> m Slurpy
patchname :: Named p -> String
patchcontents :: Named p -> p
apply_to_filepaths :: Apply p => p -> [FilePath] -> [FilePath]
force_replace_slurpy :: Prim -> Slurpy -> Maybe Slurpy
apply :: (Apply p, WriteableDirectory m) => [DarcsFlag] -> p -> m ()
patch2patchinfo :: Named p -> PatchInfo
data LineMark
= AddedLine PatchInfo
| RemovedLine PatchInfo
| AddedRemovedLine PatchInfo PatchInfo
| None
type MarkedUpFile = [(ByteString, LineMark)]
markup_file :: Effect p => PatchInfo -> p -> (FilePath, MarkedUpFile) -> (FilePath, MarkedUpFile)
empty_markedup_file :: MarkedUpFile
summary :: ShowPatch p => p -> Doc
summarize :: (Conflict e, Effect e) => e -> Doc
xml_summary :: (Effect p, Patchy p, Conflict p) => Named p -> Doc
adddeps :: Named p -> [PatchInfo] -> Named p
getdeps :: Named p -> [PatchInfo]
list_conflicted_files :: Conflict p => p -> [FilePath]
modernize_patch :: 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
class (Patchy p, Effect p, FromPrims p, Conflict p) => RepoPatch p Source
show/hide Instances
RepoPatch Patch
RepoPatchBase p => RepoPatch (FL p)
data Prim Source
show/hide Instances
data Patch Source
show/hide Instances
data RealPatch Source

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)

show/hide Instances
data Named p Source
show/hide Instances
class (Apply p, Commute p, ShowPatch p, ReadPatch p, Invert p) => Patchy p Source
show/hide Instances
flattenFL :: Patch -> FL PatchSource
joinPatches :: FromPrims p => FL p -> pSource
fromPrim :: FromPrim p => Prim -> pSource
fromPrims :: FromPrims p => FL Prim -> pSource
is_null_patch :: Patch -> BoolSource
nullP :: Patch -> EqCheckSource
rmfile :: FilePath -> PrimSource
addfile :: FilePath -> PrimSource
rmdir :: FilePath -> PrimSource
adddir :: FilePath -> PrimSource
move :: FilePath -> FilePath -> PrimSource
hunk :: FilePath -> Int -> [ByteString] -> [ByteString] -> PrimSource
tokreplace :: FilePath -> String -> String -> String -> PrimSource
namepatch :: Patchy p => String -> String -> String -> [String] -> p -> IO (Named p)Source
anonymous :: Patchy p => p -> IO (Named p)Source
binary :: FilePath -> ByteString -> ByteString -> PrimSource
description :: ShowPatch p => p -> DocSource
showContextPatch :: ShowPatch p => Slurpy -> p -> DocSource
showPatch :: ShowPatch p => p -> DocSource
showNicely :: ShowPatch p => p -> DocSource
infopatch :: Patchy p => PatchInfo -> p -> Named pSource
changepref :: String -> String -> String -> PrimSource
thing :: ShowPatch p => p -> StringSource
things :: ShowPatch p => p -> StringSource
is_similar :: Prim -> Prim -> BoolSource
is_addfile :: Prim -> BoolSource
is_hunk :: Prim -> BoolSource
is_setpref :: Prim -> BoolSource
merger :: String -> Patch -> Patch -> PatchSource
is_merger :: Patch -> BoolSource
merge :: Commute p => (p :\/: p) -> p :/\: pSource
commute :: Commute p => (p :> p) -> Maybe (p :> p)Source
commutex :: Commute p => (p :< p) -> Maybe (p :< p)Source
list_touched_files :: Commute p => p -> [FilePath]Source
unravel :: Patch -> [FL Prim]Source
elegant_merge :: (Patch :\/: Patch) -> Maybe (Patch :/\: Patch)Source
resolve_conflicts :: Conflict p => p -> [[Sealed (FL Prim)]]Source
class Effect p whereSource
Methods
effect :: p -> FL PrimSource
show/hide Instances
is_binary :: Prim -> BoolSource
gzWritePatch :: ShowPatch p => FilePath -> p -> IO ()Source
writePatch :: ShowPatch p => FilePath -> p -> IO ()Source
is_adddir :: Prim -> BoolSource
invert :: Invert p => p -> pSource
invertFL :: Invert p => FL p -> RL pSource
invertRL :: Invert p => RL p -> FL pSource
identity :: Invert p => pSource
commuteFL :: Commute p => (p :> FL p) -> Either (Sealed2 p) (FL p :> p)Source
commuteRL :: Commute p => (RL p :> p) -> Maybe (p :> RL p)Source
readPatch :: ReadPatch p => ByteString -> Maybe (Sealed p, ByteString)Source
canonize :: Prim -> FL PrimSource
sort_coalesceFL :: FL Prim -> FL PrimSource
sort_coalesceFL ps coalesces as many patches in ps as possible, sorting the results according to the scheme defined in comparePrim
try_to_shrink :: FL Prim -> FL PrimSource
apply_to_slurpy :: (Apply p, Monad m) => p -> Slurpy -> m SlurpySource
patchname :: Named p -> StringSource
patchcontents :: Named p -> pSource
apply_to_filepaths :: Apply p => p -> [FilePath] -> [FilePath]Source
force_replace_slurpy :: Prim -> Slurpy -> Maybe SlurpySource
apply :: (Apply p, WriteableDirectory m) => [DarcsFlag] -> p -> m ()Source
patch2patchinfo :: Named p -> PatchInfoSource
data LineMark Source
Constructors
AddedLine PatchInfo
RemovedLine PatchInfo
AddedRemovedLine PatchInfo PatchInfo
None
show/hide Instances
type MarkedUpFile = [(ByteString, LineMark)]Source
markup_file :: Effect p => PatchInfo -> p -> (FilePath, MarkedUpFile) -> (FilePath, MarkedUpFile)Source
empty_markedup_file :: MarkedUpFileSource
summary :: ShowPatch p => p -> DocSource
summarize :: (Conflict e, Effect e) => e -> DocSource
xml_summary :: (Effect p, Patchy p, Conflict p) => Named p -> DocSource
adddeps :: Named p -> [PatchInfo] -> Named pSource
getdeps :: Named p -> [PatchInfo]Source
list_conflicted_files :: Conflict p => p -> [FilePath]Source
modernize_patch :: Patch -> PatchSource
data DirMark Source
info of a directory member
Constructors
AddedFile
RemovedFile
MovedFile String
ModifiedFile
DullFile
AddedDir
RemovedDir
MovedDir !String
DullDir
show/hide Instances
patchChanges :: Prim -> [(String, DirMark)]Source
applyToPop :: PatchInfo -> FL Prim -> Population -> PopulationSource
Produced by Haddock version 2.4.2