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

Safe Haskell | None
Language | Haskell2010

Darcs.Patch.V1.Core

Synopsis

- data RepoPatchV1 (prim :: Type -> Type -> Type) wX wY where
  - PP :: forall (prim :: Type -> Type -> Type) wX wY. prim wX wY -> RepoPatchV1 prim wX wY
  - Merger :: forall (prim :: Type -> Type -> Type) wX wY wB wC wD. FL (RepoPatchV1 prim) wX wY -> RL (RepoPatchV1 prim) wX wB -> RepoPatchV1 prim wC wX -> RepoPatchV1 prim wC wD -> RepoPatchV1 prim wX wY
  - Regrem :: forall (prim :: Type -> Type -> Type) wY wX wB wC wD. FL (RepoPatchV1 prim) wY wX -> RL (RepoPatchV1 prim) wY wB -> RepoPatchV1 prim wC wY -> RepoPatchV1 prim wC wD -> RepoPatchV1 prim wX wY
- isMerger :: forall (prim :: Type -> Type -> Type) wA wB. RepoPatchV1 prim wA wB -> Bool
- mergerUndo :: forall (prim :: Type -> Type -> Type) wX wY. RepoPatchV1 prim wX wY -> FL (RepoPatchV1 prim) wX wY

# Documentation

data RepoPatchV1 (prim :: Type -> Type -> Type) wX wY where #

The format of a merger is `Merger undos unwindings conflicting original`.

`undos` = the effect of the merger

`unwindings` = TODO: eh?

`conflicting` = the patch we conflict with

`original` = the patch we really are

Constructors

PP :: forall (prim :: Type -> Type -> Type) wX wY. prim wX wY -> RepoPatchV1 prim wX wY |
Merger :: forall (prim :: Type -> Type -> Type) wX wY wB wC wD. FL (RepoPatchV1 prim) wX wY -> RL (RepoPatchV1 prim) wX wB -> RepoPatchV1 prim wC wX -> RepoPatchV1 prim wC wD -> RepoPatchV1 prim wX wY |
Regrem :: forall (prim :: Type -> Type -> Type) wY wX wB wC wD. FL (RepoPatchV1 prim) wY wX -> RL (RepoPatchV1 prim) wY wB -> RepoPatchV1 prim wC wY -> RepoPatchV1 prim wC wD -> RepoPatchV1 prim wX wY |

#### Instances

Instances details

PrimPatch prim => Apply (RepoPatchV1 prim) # |

Instance details

Defined in Darcs.Patch.V1.Apply

Associated Types

type ApplyState (RepoPatchV1 prim) |
Instance details Defined in Darcs.Patch.V1.Apply type ApplyState (RepoPatchV1 prim) = ApplyState prim

Methods

apply :: ApplyMonad (ApplyState (RepoPatchV1 prim)) m => RepoPatchV1 prim wX wY -> m () #

unapply :: ApplyMonad (ApplyState (RepoPatchV1 prim)) m => RepoPatchV1 prim wX wY -> m () #

PrimPatch prim => Commute (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods commute :: (RepoPatchV1 prim :> RepoPatchV1 prim) wX wY -> Maybe ((RepoPatchV1 prim :> RepoPatchV1 prim) 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) #
PrimPatch prim => Conflict (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods isConflicted :: RepoPatchV1 prim wX wY -> Bool # resolveConflicts :: RL (RepoPatchV1 prim) wO wX -> RL (RepoPatchV1 prim) wX wY -> [ConflictDetails (PrimOf (RepoPatchV1 prim)) wY] #
PatchDebug prim => PatchDebug (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Core Methods patchDebugDummy :: RepoPatchV1 prim wX wY -> () #
PrimPatch prim => Effect (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods effect :: RepoPatchV1 prim wX wY -> FL (PrimOf (RepoPatchV1 prim)) wX wY #
(PrimPatch prim, ApplyState prim ~ ApplyState (RepoPatchV1 prim)) => IsHunk (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods isHunk :: RepoPatchV1 prim wX wY -> Maybe (FileHunk (ObjectIdOfPatch (RepoPatchV1 prim)) wX wY) #
PatchListFormat (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Core Methods patchListFormat :: ListFormat (RepoPatchV1 prim) #
FromPrim (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Core Methods fromAnonymousPrim :: PrimOf (RepoPatchV1 prim) wX wY -> RepoPatchV1 prim wX wY # fromPrim :: PatchId (RepoPatchV1 prim) -> PrimOf (RepoPatchV1 prim) wX wY -> RepoPatchV1 prim wX wY # fromPrims :: PatchInfo -> FL (PrimOf (RepoPatchV1 prim)) wX wY -> FL (RepoPatchV1 prim) wX wY #
PrimPatch prim => PrimPatchBase (RepoPatchV1 prim) # |

Instance details

Defined in Darcs.Patch.V1.Core

Associated Types

type PrimOf (RepoPatchV1 prim) |
Instance details Defined in Darcs.Patch.V1.Core type PrimOf (RepoPatchV1 prim) = prim

ToPrim (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Core Methods toPrim :: RepoPatchV1 prim wX wY -> Maybe (PrimOf (RepoPatchV1 prim) wX wY) #
PrimPatch prim => PatchInspect (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods listTouchedFiles :: RepoPatchV1 prim wX wY -> [AnchoredPath] # hunkMatches :: (ByteString -> Bool) -> RepoPatchV1 prim wX wY -> Bool #
Invert prim => Invert (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods invert :: RepoPatchV1 prim wX wY -> RepoPatchV1 prim wY wX #
PrimPatch prim => CleanMerge (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods cleanMerge :: (RepoPatchV1 prim :\/: RepoPatchV1 prim) wX wY -> Maybe ((RepoPatchV1 prim :/\: RepoPatchV1 prim) wX wY) #
PrimPatch prim => Merge (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods merge :: (RepoPatchV1 prim :\/: RepoPatchV1 prim) wX wY -> (RepoPatchV1 prim :/\: RepoPatchV1 prim) wX wY #
PrimPatch prim => ReadPatch (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Read Methods readPatch' :: Parser (Sealed (RepoPatchV1 prim wX)) #
Check (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Core Methods isInconsistent :: RepoPatchV1 prim wX wY -> Maybe Doc #
PrimPatch prim => RepairToFL (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Apply Methods applyAndTryToFixFL :: ApplyMonad (ApplyState (RepoPatchV1 prim)) m => RepoPatchV1 prim wX wY -> m (Maybe (String, FL (RepoPatchV1 prim) wX wY)) #
PrimPatch prim => ShowContextPatch (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Viewing Methods showPatchWithContextAndApply :: ApplyMonad (ApplyState (RepoPatchV1 prim)) m => ShowPatchFor -> RepoPatchV1 prim wX wY -> m Doc #
PrimPatch prim => ShowPatch (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Viewing Methods content :: RepoPatchV1 prim wX wY -> Doc # description :: RepoPatchV1 prim wX wY -> Doc # summary :: RepoPatchV1 prim wX wY -> Doc # summaryFL :: FL (RepoPatchV1 prim) wX wY -> Doc # thing :: RepoPatchV1 prim wX wY -> String # things :: RepoPatchV1 prim wX wY -> String #
ShowPatchBasic prim => ShowPatchBasic (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Show Methods showPatch :: ShowPatchFor -> RepoPatchV1 prim wX wY -> Doc #
PrimPatch prim => Summary (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods conflictedEffect :: RepoPatchV1 prim wX wY -> [IsConflictedPrim (PrimOf (RepoPatchV1 prim))] #
PrimPatch prim => Unwind (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods fullUnwind :: RepoPatchV1 prim wX wY -> Unwound (PrimOf (RepoPatchV1 prim)) wX wY #
Eq2 prim => Eq2 (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods unsafeCompare :: RepoPatchV1 prim wA wB -> RepoPatchV1 prim wC wD -> Bool # (=\/=) :: RepoPatchV1 prim wA wB -> RepoPatchV1 prim wA wC -> EqCheck wB wC # (=/\=) :: RepoPatchV1 prim wA wC -> RepoPatchV1 prim wB wC -> EqCheck wA wB #
Show2 prim => Show2 (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Core Methods showDict2 :: ShowDict (RepoPatchV1 prim wX wY) #
Show2 prim => Show1 (RepoPatchV1 prim wX) # |
Instance details Defined in Darcs.Patch.V1.Core Methods showDict1 :: Dict (Show (RepoPatchV1 prim wX wX0)) #
Show2 prim => Show (RepoPatchV1 prim wX wY) # |
Instance details Defined in Darcs.Patch.V1.Core Methods showsPrec :: Int -> RepoPatchV1 prim wX wY -> ShowS # show :: RepoPatchV1 prim wX wY -> String # showList :: [RepoPatchV1 prim wX wY] -> ShowS #
Eq2 prim => Eq (RepoPatchV1 prim wX wY) # |
Instance details Defined in Darcs.Patch.V1.Commute Methods (==) :: RepoPatchV1 prim wX wY -> RepoPatchV1 prim wX wY -> Bool # (/=) :: RepoPatchV1 prim wX wY -> RepoPatchV1 prim wX wY -> Bool #
type ApplyState (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Apply type ApplyState (RepoPatchV1 prim) = ApplyState prim
type PrimOf (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Core type PrimOf (RepoPatchV1 prim) = prim
type PatchId (RepoPatchV1 prim) # |
Instance details Defined in Darcs.Patch.V1.Core type PatchId (RepoPatchV1 prim) = ()

isMerger :: forall (prim :: Type -> Type -> Type) wA wB. RepoPatchV1 prim wA wB -> Bool #

mergerUndo :: forall (prim :: Type -> Type -> Type) wX wY. RepoPatchV1 prim wX wY -> FL (RepoPatchV1 prim) wX wY #