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

Safe HaskellNone
LanguageHaskell2010

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

Defined in Darcs.Patch.Dummy

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

Defined in Darcs.Patch.Conflict

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

Defined in Darcs.Patch.Conflict

Methods

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

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

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

Defined in Darcs.Patch.V1.Commute

Methods

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

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

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

Defined in Darcs.Patch.Named

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

Defined in Darcs.Patch.Rebase.Viewing

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

Defined in Darcs.Patch.Rebase.Viewing

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

Defined in Darcs.Patch.V2.RepoPatch

Methods

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

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

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

Defined in Darcs.Patch.Named.Wrapped

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

Defined in Darcs.Patch.Dummy

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

Defined in Darcs.Patch.Conflict

Methods

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

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

Defined in Darcs.Patch.Conflict

Methods

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

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

Defined in Darcs.Patch.V1.Commute

Methods

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

CommuteNoConflicts (RebaseChange p) # 
Instance details

Defined in Darcs.Patch.Rebase.Viewing

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

Defined in Darcs.Patch.V2.RepoPatch

Methods

commuteNoConflicts :: (RepoPatchV2 prim :> RepoPatchV2 prim) wX wY -> Maybe ((RepoPatchV2 prim :> RepoPatchV2 prim) 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) # 
Instance details

Defined in Darcs.Patch.Conflict

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