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

Safe Haskell | None
Language | Haskell2010

Darcs.Patch.Conflict

# Documentation

class (Effect p, PatchInspect (PrimOf p)) => Conflict p where #

Minimal complete definition

resolveConflicts, conflictedEffect

Methods

resolveConflicts :: p wX wY -> [[Sealed (FL (PrimOf p) wY)]] #

conflictedEffect :: p wX wY -> [IsConflictedPrim (PrimOf p)] #

Instances

Conflict DummyPatch # |
Methods resolveConflicts :: DummyPatch wX wY -> [[Sealed (FL (PrimOf DummyPatch) wY)]] # conflictedEffect :: DummyPatch wX wY -> [IsConflictedPrim (PrimOf DummyPatch)] #
(CommuteNoConflicts p, Conflict p) => Conflict (RL p) # |
Methods resolveConflicts :: RL p wX wY -> [[Sealed (FL (PrimOf (RL p)) wY)]] # conflictedEffect :: RL p wX wY -> [IsConflictedPrim (PrimOf (RL p))] #
(CommuteNoConflicts p, Conflict p) => Conflict (FL p) # |
Methods resolveConflicts :: FL p wX wY -> [[Sealed (FL (PrimOf (FL p)) wY)]] # conflictedEffect :: FL p wX wY -> [IsConflictedPrim (PrimOf (FL p))] #
(CommuteNoConflicts p, Conflict p) => Conflict (Named p) # |
Methods resolveConflicts :: Named p wX wY -> [[Sealed (FL (PrimOf (Named p)) wY)]] # conflictedEffect :: Named p wX wY -> [IsConflictedPrim (PrimOf (Named p))] #
Conflict p => Conflict (Suspended p) # |
Methods resolveConflicts :: Suspended p wX wY -> [[Sealed (FL (PrimOf (Suspended p)) wY)]] # conflictedEffect :: Suspended p wX wY -> [IsConflictedPrim (PrimOf (Suspended p))] #
PrimPatch prim => Conflict (RepoPatchV2 prim) # |
Methods resolveConflicts :: RepoPatchV2 prim wX wY -> [[Sealed (FL (PrimOf (RepoPatchV2 prim)) wY)]] # conflictedEffect :: RepoPatchV2 prim wX wY -> [IsConflictedPrim (PrimOf (RepoPatchV2 prim))] #
(PrimPatchBase p, Invert p, Effect p, FromPrim p, Merge p, Conflict p, CommuteNoConflicts p) => Conflict (RebaseChange p) # |
Methods resolveConflicts :: RebaseChange p wX wY -> [[Sealed (FL (PrimOf (RebaseChange p)) wY)]] # conflictedEffect :: RebaseChange p wX wY -> [IsConflictedPrim (PrimOf (RebaseChange p))] #
(PrimPatchBase p, FromPrim p, Conflict p, CommuteNoConflicts p, Invert p) => Conflict (RebaseSelect p) # |
Methods resolveConflicts :: RebaseSelect p wX wY -> [[Sealed (FL (PrimOf (RebaseSelect p)) wY)]] # conflictedEffect :: RebaseSelect p wX wY -> [IsConflictedPrim (PrimOf (RebaseSelect p))] #
(CommuteNoConflicts p, Conflict p) => Conflict (WrappedNamed rt p) # |
Methods resolveConflicts :: WrappedNamed rt p wX wY -> [[Sealed (FL (PrimOf (WrappedNamed rt p)) wY)]] # conflictedEffect :: WrappedNamed rt p wX wY -> [IsConflictedPrim (PrimOf (WrappedNamed rt p))] #

class CommuteNoConflicts p where #

Minimal complete definition

commuteNoConflicts

Methods

commuteNoConflicts :: (p :> p) wX wY -> Maybe ((p :> p) wX wY) #

If `commuteNoConflicts` `x :> y` succeeds, we know that that `x` commutes past `y` without any conflicts. This function is useful for patch types for which `commute` is defined to always succeed; so we need some way to pick out the specific cases where commutation succeeds without any conflicts.

Instances

CommuteNoConflicts DummyPatch # |
Methods commuteNoConflicts :: (DummyPatch :> DummyPatch) wX wY -> Maybe ((DummyPatch :> DummyPatch) wX wY) #
CommuteNoConflicts p => CommuteNoConflicts (RL p) # |
Methods commuteNoConflicts :: (RL p :> RL p) wX wY -> Maybe ((RL p :> RL p) wX wY) #
CommuteNoConflicts p => CommuteNoConflicts (FL p) # |
Methods commuteNoConflicts :: (FL p :> FL p) wX wY -> Maybe ((FL p :> FL p) wX wY) #
PrimPatch prim => CommuteNoConflicts (RepoPatchV2 prim) # |
Methods commuteNoConflicts :: (RepoPatchV2 prim :> RepoPatchV2 prim) wX wY -> Maybe ((RepoPatchV2 prim :> RepoPatchV2 prim) wX wY) #
CommuteNoConflicts (RebaseChange p) # |
Methods commuteNoConflicts :: (RebaseChange p :> RebaseChange p) wX wY -> Maybe ((RebaseChange p :> RebaseChange p) wX wY) #

listConflictedFiles :: Conflict p => p wX wY -> [FilePath] #

data IsConflictedPrim prim where #

Constructors

IsC :: !ConflictState -> !(prim wX wY) -> IsConflictedPrim prim |

Instances

Show2 prim => Show (IsConflictedPrim prim) # |
Methods showsPrec :: Int -> IsConflictedPrim prim -> ShowS # show :: IsConflictedPrim prim -> String # showList :: [IsConflictedPrim prim] -> ShowS #

data ConflictState #

Constructors

Okay |
Conflicted |
Duplicated |

Instances

Eq ConflictState # |
Methods (==) :: ConflictState -> ConflictState -> Bool # (/=) :: ConflictState -> ConflictState -> Bool #
Ord ConflictState # |
Methods compare :: ConflictState -> ConflictState -> Ordering # (<) :: ConflictState -> ConflictState -> Bool # (<=) :: ConflictState -> ConflictState -> Bool # (>) :: ConflictState -> ConflictState -> Bool # (>=) :: ConflictState -> ConflictState -> Bool # max :: ConflictState -> ConflictState -> ConflictState # min :: ConflictState -> ConflictState -> ConflictState #
Read ConflictState # |
Methods readsPrec :: Int -> ReadS ConflictState # readList :: ReadS [ConflictState] # readPrec :: ReadPrec ConflictState # readListPrec :: ReadPrec [ConflictState] #
Show ConflictState # |
Methods showsPrec :: Int -> ConflictState -> ShowS # show :: ConflictState -> String # showList :: [ConflictState] -> ShowS #

mangleUnravelled :: PrimPatch prim => [Sealed (FL prim wX)] -> Sealed (FL prim wX) #