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

Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.Conflict

Documentation

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

Methods

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

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

Instances
Conflict DummyPatch Source # 
Instance details

Defined in Darcs.Patch.Dummy

(CommuteNoConflicts p, Conflict p) => Conflict (RL p) Source # 
Instance details

Defined in Darcs.Patch.Conflict

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 # 
Instance details

Defined in Darcs.Patch.Conflict

Methods

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

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

PrimPatch prim => Conflict (RepoPatchV1 prim) Source # 
Instance details

Defined in Darcs.Patch.V1.Commute

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

Defined in Darcs.Patch.Named

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 # 
Instance details

Defined in Darcs.Patch.Rebase.Container

(PrimPatchBase p, Invert p, Effect p, FromPrim p, Merge p, Conflict p, CommuteNoConflicts p) => Conflict (RebaseChange p) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Viewing

(PrimPatchBase p, Conflict p, CommuteNoConflicts p, Invert p) => Conflict (RebaseSelect p) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Viewing

PrimPatch prim => Conflict (RepoPatchV2 prim) Source # 
Instance details

Defined in Darcs.Patch.V2.RepoPatch

(CommuteNoConflicts p, Conflict p) => Conflict (WrappedNamed rt p) Source # 
Instance details

Defined in Darcs.Patch.Named.Wrapped

class CommuteNoConflicts p where Source #

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.

Instances
CommuteNoConflicts DummyPatch Source # 
Instance details

Defined in Darcs.Patch.Dummy

CommuteNoConflicts p => CommuteNoConflicts (RL p) Source # 
Instance details

Defined in Darcs.Patch.Conflict

Methods

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

CommuteNoConflicts p => CommuteNoConflicts (FL p) Source # 
Instance details

Defined in Darcs.Patch.Conflict

Methods

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

PrimPatch prim => CommuteNoConflicts (RepoPatchV1 prim) Source # 
Instance details

Defined in Darcs.Patch.V1.Commute

Methods

commuteNoConflicts :: (RepoPatchV1 prim :> RepoPatchV1 prim) wX wY -> Maybe ((RepoPatchV1 prim :> RepoPatchV1 prim) wX wY) Source #

CommuteNoConflicts (RebaseChange p) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Viewing

PrimPatch prim => CommuteNoConflicts (RepoPatchV2 prim) Source # 
Instance details

Defined in Darcs.Patch.V2.RepoPatch

Methods

commuteNoConflicts :: (RepoPatchV2 prim :> RepoPatchV2 prim) wX wY -> Maybe ((RepoPatchV2 prim :> RepoPatchV2 prim) wX wY) Source #

data IsConflictedPrim prim where Source #

Constructors

IsC :: !ConflictState -> !(prim wX wY) -> IsConflictedPrim prim 
Instances
Show2 prim => Show (IsConflictedPrim prim) Source # 
Instance details

Defined in Darcs.Patch.Conflict

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