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

Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.Conflict

Documentation

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

Minimal complete definition

resolveConflicts, conflictedEffect

Methods

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

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

Instances

Conflict DummyPatch Source # 
(CommuteNoConflicts p, Conflict p) => Conflict (RL p) Source # 

Methods

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

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

(CommuteNoConflicts p, Conflict p) => Conflict (FL p) Source # 

Methods

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

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

(CommuteNoConflicts p, Conflict p) => Conflict (Named p) Source # 

Methods

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

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

Conflict p => Conflict (Suspended p) Source # 
PrimPatch prim => Conflict (RepoPatchV2 prim) Source # 
(PrimPatchBase p, Invert p, Effect p, FromPrim p, Merge p, Conflict p, CommuteNoConflicts p) => Conflict (RebaseChange p) Source # 
(PrimPatchBase p, FromPrim p, Conflict p, CommuteNoConflicts p, Invert p) => Conflict (RebaseSelect p) Source # 
(CommuteNoConflicts p, Conflict p) => Conflict (WrappedNamed rt p) Source # 

class CommuteNoConflicts p where Source #

Minimal complete definition

commuteNoConflicts

Methods

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

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.

data IsConflictedPrim prim where Source #

Constructors

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

Instances

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