| darcs | Source code | Contents | Index
Darcs.Patch.Real
Description
Conflictor patches
Synopsis
data RealPatch where
Duplicate :: Non RealPatch -> RealPatch
Etacilpud :: Non RealPatch -> RealPatch
Normal :: Prim -> RealPatch
Conflictor :: [Non RealPatch] -> FL Prim -> Non RealPatch -> RealPatch
InvConflictor :: [Non RealPatch] -> FL Prim -> Non RealPatch -> RealPatch
prim2real :: Prim -> RealPatch
is_consistent :: RealPatch -> Maybe Doc
is_forward :: RealPatch -> Maybe Doc
is_duplicate :: RealPatch -> Bool
pullCommon :: Patchy p => FL p -> FL p -> Common p
mergeUnravelled :: [Sealed (FL Prim)] -> Maybe (FlippedSeal RealPatch)
Documentation
data RealPatch where | 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)`
Constructors
Duplicate :: Non RealPatch -> RealPatch |
Etacilpud :: Non RealPatch -> RealPatch |
Normal :: Prim -> RealPatch |
Conflictor :: [Non RealPatch] -> FL Prim -> Non RealPatch -> RealPatch |
InvConflictor :: [Non RealPatch] -> FL Prim -> Non RealPatch -> RealPatch |
Instances
Show RealPatch
Show2 RealPatch
MyEq RealPatch
Invert RealPatch
ReadPatch RealPatch
ShowPatch RealPatch
Commute RealPatch
Apply RealPatch
Patchy RealPatch
Effect RealPatch
Conflict RealPatch
ToFromPrim RealPatch
FromPrim RealPatch
Nonable RealPatch
RepoPatchBase RealPatch
prim2real :: Prim -> RealPatch | Source
is_consistent :: RealPatch -> Maybe Doc | Source
This is used for unit-testing and for internal sanity checks
is_forward :: RealPatch -> Maybe Doc | Source
This is only used for unit testing
is_duplicate :: RealPatch -> Bool | Source
`is_duplicate` `p` is ' `True` if `p` is either a `Duplicate` or `Etacilpud` patch
pullCommon :: Patchy p => FL p -> FL p -> Common p | Source
`pullCommon` `xs ys` returns the set of patches that can be commuted out of both `xs` and `ys` along with the remnants of both lists
mergeUnravelled :: [Sealed (FL Prim)] -> Maybe (FlippedSeal RealPatch) | Source
Produced by Haddock version 2.4.2