| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Darcs.Patch.Named
Description
Named patches group a set of changes with meta data (PatchInfo) and
explicit dependencies (created using `darcs tag` or using --ask-deps).
While the data constructor NamedP is exported for technical reasons, code
outside this modules should (and generally does) treat it as an abstract
data type. The only exception is the rebase implementation i.e. the modules
under Darcs.Patch.Rebase.
Synopsis
- data Named (p :: Type -> Type -> Type) wX wY where
- infopatch :: forall (p :: Type -> Type -> Type) wX wY. FromPrim p => PatchInfo -> FL (PrimOf p) wX wY -> Named p wX wY
- adddeps :: forall (p :: Type -> Type -> Type) wX wY. Named p wX wY -> [PatchInfo] -> Named p wX wY
- setinfo :: forall (p :: Type -> Type -> Type) wX wY. PatchInfo -> Named p wX wY -> Named p wX wY
- anonymous :: forall (p :: Type -> Type -> Type) wX wY. FromPrim p => FL (PrimOf p) wX wY -> IO (Named p wX wY)
- class HasDeps (p :: Type -> Type -> Type) where
- patch2patchinfo :: forall (p :: Type -> Type -> Type) wX wY. Named p wX wY -> PatchInfo
- patchname :: forall (p :: Type -> Type -> Type) wX wY. Named p wX wY -> String
- patchcontents :: forall (p :: Type -> Type -> Type) wX wY. Named p wX wY -> FL p wX wY
- fmapNamed :: (forall wA wB. p wA wB -> q wA wB) -> Named p wX wY -> Named q wX wY
- fmapFL_Named :: forall (p :: Type -> Type -> Type) wA wB (q :: Type -> Type -> Type) wC wD. (FL p wA wB -> FL q wC wD) -> Named p wA wB -> Named q wC wD
- mergerIdNamed :: forall (p1 :: Type -> Type -> Type) (p2 :: Type -> Type -> Type). MergeFn p1 p2 -> MergeFn p1 (Named p2)
- data ShowDepsFormat
- data ShowWhichDeps
- showDependencies :: ShowWhichDeps -> ShowDepsFormat -> [PatchInfo] -> Doc
Documentation
data Named (p :: Type -> Type -> Type) wX wY where #
The Named type adds a patch info about a patch, that is a name.
NamedP info deps p represents patch p with name
info. deps is a list of dependencies added at the named patch
level, compared with the unnamed level (ie, dependencies added with
darcs record --ask-deps).
Constructors
| NamedP :: forall (p :: Type -> Type -> Type) wX wY. !PatchInfo -> ![PatchInfo] -> !(FL p wX wY) -> Named p wX wY |
Instances
| Apply p => Apply (Named p) # | |||||
Defined in Darcs.Patch.Named Associated Types
Methods apply :: ApplyMonad (ApplyState (Named p)) m => Named p wX wY -> m () # unapply :: ApplyMonad (ApplyState (Named p)) m => Named p wX wY -> m () # | |||||
| Commute p => Commute (Named p) # | |||||
| (Commute p, Conflict p, Summary p, PrimPatchBase p, PatchListFormat p, ShowPatch p) => Conflict (Named p) # | This instance takes care of handling the interaction between conflict resolution and explicit dependencies. A conflict involves a set of two or more patches and the general rule is that the conflict is considered resolved if there is another (later) patch that (transitively) depends on each of the (mutually) conflicting patches. This principle extends to explicit dependencies between In general a Named A [] a Named B [] (b1;b2) Named C [] c Named D [A,B] _ where, at the RepoPatch level, When we decide that a set of conflicting Named patches is resolved, we move the RepoPatches contained in them to the context of the resolution. For all other named patches, we must commute as much of their contents as possible past the ones marked as resolved, using commutation at the RepoPatch level (i.e. ignoring explicit dependencies). | ||||
Defined in Darcs.Patch.Named Methods isConflicted :: Named p wX wY -> Bool # resolveConflicts :: RL (Named p) wO wX -> RL (Named p) wX wY -> [ConflictDetails (PrimOf (Named p)) wY] # | |||||
| (Commute p, Conflict p, Summary p, PrimPatchBase p, PatchListFormat p, ShowPatch p) => Conflict (PatchInfoAnd p) # | |||||
Defined in Darcs.Patch.PatchInfoAnd Methods isConflicted :: PatchInfoAnd p wX wY -> Bool # resolveConflicts :: RL (PatchInfoAnd p) wO wX -> RL (PatchInfoAnd p) wX wY -> [ConflictDetails (PrimOf (PatchInfoAnd p)) wY] # | |||||
| PatchDebug p => PatchDebug (Named p) # | |||||
Defined in Darcs.Patch.Named Methods patchDebugDummy :: Named p wX wY -> () # | |||||
| Effect p => Effect (Named p) # | |||||
| IsHunk (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
| PatchListFormat (Named p) # | |||||
Defined in Darcs.Patch.Named Methods patchListFormat :: ListFormat (Named p) # | |||||
| PrimPatchBase p => PrimPatchBase (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
| Ident (Named p) # | |||||
| PatchInspect p => PatchInspect (Named p) # | |||||
Defined in Darcs.Patch.Named Methods listTouchedFiles :: Named p wX wY -> [AnchoredPath] # hunkMatches :: (ByteString -> Bool) -> Named p wX wY -> Bool # | |||||
| CleanMerge p => CleanMerge (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
| Merge p => Merge (Named p) # | |||||
| HasDeps (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
| (ReadPatch p, PatchListFormat p) => ReadPatch (Named p) # | |||||
Defined in Darcs.Patch.Named Methods readPatch' :: Parser (Sealed (Named p wX)) # | |||||
| Check p => Check (Named p) # | |||||
Defined in Darcs.Patch.Named Methods isInconsistent :: Named p wX wY -> Maybe Doc # | |||||
| RepairToFL p => Repair (Named p) # | |||||
Defined in Darcs.Patch.Named Methods applyAndTryToFix :: ApplyMonad (ApplyState (Named p)) m => Named p wX wY -> m (Maybe (String, Named p wX wY)) # | |||||
| RepairToFL p => Repair (PatchInfoAnd p) # | |||||
Defined in Darcs.Patch.PatchInfoAnd Methods applyAndTryToFix :: ApplyMonad (ApplyState (PatchInfoAnd p)) m => PatchInfoAnd p wX wY -> m (Maybe (String, PatchInfoAnd p wX wY)) # | |||||
| (Apply p, IsHunk p, PatchListFormat p, ObjectId (ObjectIdOfPatch p), ShowContextPatch p) => ShowContextPatch (Named p) # | |||||
Defined in Darcs.Patch.Named Methods showPatchWithContextAndApply :: ApplyMonad (ApplyState (Named p)) m => ShowPatchFor -> Named p wX wY -> m Doc # | |||||
| (Summary p, PatchListFormat p, PrimPatchBase p, ShowPatch p) => ShowPatch (Named p) # | |||||
| (PatchListFormat p, ShowPatchBasic p) => ShowPatchBasic (Named p) # | |||||
Defined in Darcs.Patch.Named Methods showPatch :: ShowPatchFor -> Named p wX wY -> Doc # | |||||
| Summary p => Summary (Named p) # | |||||
Defined in Darcs.Patch.Named Methods conflictedEffect :: Named p wX wY -> [IsConflictedPrim (PrimOf (Named p))] # | |||||
| (PrimPatchBase p, Unwind p) => Unwind (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
| (Commute p, Eq2 p) => Eq2 (Named p) # | |||||
| Show2 p => Show2 (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
| Show2 p => Show2 (PatchInfoAnd p) # | |||||
Defined in Darcs.Patch.PatchInfoAnd Methods showDict2 :: ShowDict (PatchInfoAnd p wX wY) # | |||||
| Show2 p => Show1 (Named p wX) # | |||||
| Show2 p => Show1 (PatchInfoAnd p wX) # | |||||
Defined in Darcs.Patch.PatchInfoAnd Methods showDict1 :: Dict (Show (PatchInfoAnd p wX wX0)) # | |||||
| Show2 p => Show (Named p wX wY) # | |||||
| type ApplyState (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
| type PrimOf (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
| type PatchId (Named p) # | |||||
Defined in Darcs.Patch.Named | |||||
infopatch :: forall (p :: Type -> Type -> Type) wX wY. FromPrim p => PatchInfo -> FL (PrimOf p) wX wY -> Named p wX wY #
adddeps :: forall (p :: Type -> Type -> Type) wX wY. Named p wX wY -> [PatchInfo] -> Named p wX wY #
anonymous :: forall (p :: Type -> Type -> Type) wX wY. FromPrim p => FL (PrimOf p) wX wY -> IO (Named p wX wY) #
class HasDeps (p :: Type -> Type -> Type) where #
This slightly ad-hoc class is here so we can call getdeps with patch
types that wrap a Named, such as RebaseChange.
Instances
| HasDeps (Named p) # | |
Defined in Darcs.Patch.Named | |
| HasDeps (RebaseChange prim) # | |
Defined in Darcs.Patch.Rebase.Change Methods getdeps :: RebaseChange prim wX wY -> [PatchInfo] # | |
fmapFL_Named :: forall (p :: Type -> Type -> Type) wA wB (q :: Type -> Type -> Type) wC wD. (FL p wA wB -> FL q wC wD) -> Named p wA wB -> Named q wC wD #
mergerIdNamed :: forall (p1 :: Type -> Type -> Type) (p2 :: Type -> Type -> Type). MergeFn p1 p2 -> MergeFn p1 (Named p2) #
data ShowDepsFormat #
Constructors
| ShowDepsVerbose | |
| ShowDepsSummary |
Instances
| Eq ShowDepsFormat # | |
Defined in Darcs.Patch.Named Methods (==) :: ShowDepsFormat -> ShowDepsFormat -> Bool # (/=) :: ShowDepsFormat -> ShowDepsFormat -> Bool # | |
data ShowWhichDeps #
Support for rebase
Constructors
| ShowNormalDeps | |
| ShowDroppedDeps |
Instances
| Eq ShowWhichDeps # | |
Defined in Darcs.Patch.Named Methods (==) :: ShowWhichDeps -> ShowWhichDeps -> Bool # (/=) :: ShowWhichDeps -> ShowWhichDeps -> Bool # | |
showDependencies :: ShowWhichDeps -> ShowDepsFormat -> [PatchInfo] -> Doc #