Safe Haskell | None |
---|---|
Language | Haskell2010 |
Darcs.Patch.Rebase.Change
Synopsis
- data RebaseChange (prim :: Type -> Type -> Type) wX wY where
- RC :: forall (prim :: Type -> Type -> Type) wX wY1 wY. FL (RebaseFixup prim) wX wY1 -> Named prim wY1 wY -> RebaseChange prim wX wY
- extractRebaseChange :: forall (p :: Type -> Type -> Type) wX wY. RepoPatch p => DiffAlgorithm -> FL (RebaseChange (PrimOf p)) wX wY -> (FL (WDDNamed p) :> FL (RebaseFixup (PrimOf p))) wX wY
- reifyRebaseChange :: forall (p :: Type -> Type -> Type) wX wY. FromPrim p => String -> FL (RebaseChange (PrimOf p)) wX wY -> IO ((FL (WDDNamed p) :> FL (RebaseFixup (PrimOf p))) wX wY)
- partitionUnconflicted :: forall (prim :: Type -> Type -> Type) wX wY. Commute prim => FL (RebaseChange prim) wX wY -> (FL (RebaseChange prim) :> RL (RebaseChange prim)) wX wY
- rcToPia :: forall (prim :: Type -> Type -> Type) wX wY. RebaseChange prim wX wY -> Sealed2 (PatchInfoAnd prim)
- data WithDroppedDeps (p :: Type -> Type -> Type) wX wY = WithDroppedDeps {
- wddPatch :: p wX wY
- wddDependedOn :: [PatchInfo]
- type WDDNamed (p :: Type -> Type -> Type) = WithDroppedDeps (Named p)
- commuterIdWDD :: forall (p :: Type -> Type -> Type) (q :: Type -> Type -> Type). CommuteFn p q -> CommuteFn p (WithDroppedDeps q)
- simplifyPush :: forall (prim :: Type -> Type -> Type) wX wY wZ. PrimPatch prim => DiffAlgorithm -> RebaseFixup prim wX wY -> FL (RebaseChange prim) wY wZ -> Sealed (FL (RebaseChange prim) wX)
- simplifyPushes :: forall (prim :: Type -> Type -> Type) wX wY wZ. PrimPatch prim => DiffAlgorithm -> FL (RebaseFixup prim) wX wY -> FL (RebaseChange prim) wY wZ -> Sealed (FL (RebaseChange prim) wX)
- addNamedToRebase :: forall (p :: Type -> Type -> Type) wX wY wZ. RepoPatch p => DiffAlgorithm -> Named p wX wY -> FL (RebaseChange (PrimOf p)) wY wZ -> Sealed (FL (RebaseChange (PrimOf p)) wX)
Documentation
data RebaseChange (prim :: Type -> Type -> Type) wX wY where Source #
Constructors
RC :: forall (prim :: Type -> Type -> Type) wX wY1 wY. FL (RebaseFixup prim) wX wY1 -> Named prim wY1 wY -> RebaseChange prim wX wY |
Instances
extractRebaseChange :: forall (p :: Type -> Type -> Type) wX wY. RepoPatch p => DiffAlgorithm -> FL (RebaseChange (PrimOf p)) wX wY -> (FL (WDDNamed p) :> FL (RebaseFixup (PrimOf p))) wX wY Source #
Turn a selected rebase patch back into a patch we can apply to the main repository, together with residual fixups that need to go back into the rebase state (unless the rebase is now finished). Any fixups associated with the patch will turn into conflicts.
reifyRebaseChange :: forall (p :: Type -> Type -> Type) wX wY. FromPrim p => String -> FL (RebaseChange (PrimOf p)) wX wY -> IO ((FL (WDDNamed p) :> FL (RebaseFixup (PrimOf p))) wX wY) Source #
Like extractRebaseChange
, but any fixups are "reified" into a separate patch.
partitionUnconflicted :: forall (prim :: Type -> Type -> Type) wX wY. Commute prim => FL (RebaseChange prim) wX wY -> (FL (RebaseChange prim) :> RL (RebaseChange prim)) wX wY Source #
Split a list of rebase patches into those that will have conflicts if unsuspended and those that won't.
rcToPia :: forall (prim :: Type -> Type -> Type) wX wY. RebaseChange prim wX wY -> Sealed2 (PatchInfoAnd prim) Source #
Get hold of the Named
patch inside a RebaseChange
and wrap it in a
PatchInfoAnd
.
data WithDroppedDeps (p :: Type -> Type -> Type) wX wY Source #
A patch, together with a list of patch names that it used to depend on, but were lost during the rebasing process. The UI can use this information to report them to the user.
Constructors
WithDroppedDeps | |
Fields
|
Instances
Effect p => Effect (WithDroppedDeps p) Source # | |||||
Defined in Darcs.Patch.Rebase.Change Methods effect :: WithDroppedDeps p wX wY -> FL (PrimOf (WithDroppedDeps p)) wX wY Source # | |||||
PrimPatchBase p => PrimPatchBase (WithDroppedDeps p) Source # | |||||
Defined in Darcs.Patch.Rebase.Change Associated Types
| |||||
type PrimOf (WithDroppedDeps p) Source # | |||||
Defined in Darcs.Patch.Rebase.Change |
type WDDNamed (p :: Type -> Type -> Type) = WithDroppedDeps (Named p) Source #
commuterIdWDD :: forall (p :: Type -> Type -> Type) (q :: Type -> Type -> Type). CommuteFn p q -> CommuteFn p (WithDroppedDeps q) Source #
simplifyPush :: forall (prim :: Type -> Type -> Type) wX wY wZ. PrimPatch prim => DiffAlgorithm -> RebaseFixup prim wX wY -> FL (RebaseChange prim) wY wZ -> Sealed (FL (RebaseChange prim) wX) Source #
Given a list of rebase items, try to push a new fixup as far as possible into
the list as possible, using both commutation and coalescing. If the fixup
commutes past all the ToEdit
patches then it is dropped entirely.
simplifyPushes :: forall (prim :: Type -> Type -> Type) wX wY wZ. PrimPatch prim => DiffAlgorithm -> FL (RebaseFixup prim) wX wY -> FL (RebaseChange prim) wY wZ -> Sealed (FL (RebaseChange prim) wX) Source #
Like simplifyPush
but for a list of fixups.
addNamedToRebase :: forall (p :: Type -> Type -> Type) wX wY wZ. RepoPatch p => DiffAlgorithm -> Named p wX wY -> FL (RebaseChange (PrimOf p)) wY wZ -> Sealed (FL (RebaseChange (PrimOf p)) wX) Source #