Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data RebaseSelect p wX wY where
- RSFwd :: FL (RebaseFixup p) wX wY -> Named p wY wZ -> RebaseSelect p wX wZ
- RSRev :: FL (RebaseFixup p) wX wY -> Named p wY wZ -> RebaseSelect p wZ wX
- toRebaseSelect :: PrimPatchBase p => FL (RebaseItem p) wX wY -> FL (RebaseSelect p) wX wY
- fromRebaseSelect :: FL (RebaseSelect p) wX wY -> FL (RebaseItem p) wX wY
- extractRebaseSelect :: (Commute p, Merge p, Invert p, Effect p, FromPrim p, PrimPatchBase p) => FL (RebaseSelect p) wX wY -> (FL (WDDNamed p) :> FL (RebaseFixup p)) wX wY
- reifyRebaseSelect :: forall p wX wY. (PrimPatchBase p, Commute p, Merge p, Invert p, Effect p, FromPrim p) => FL (RebaseSelect p) wX wY -> IO ((FL (WDDNamed p) :> FL (RebaseFixup p)) wX wY)
- partitionUnconflicted :: (PrimPatchBase p, FromPrim p, Effect p, Commute p, Invert p, NameHack p) => FL (RebaseSelect p) wX wY -> (FL (RebaseSelect p) :> RL (RebaseSelect p)) wX wY
- rsToNamed :: RebaseSelect p wX wY -> Sealed2 (Named p)
- data WithDroppedDeps p wX wY = WithDroppedDeps {
- wddPatch :: p wX wY
- wddDependedOn :: [PatchInfo]
- type WDDNamed p = WithDroppedDeps (Named p)
- commuterIdWDD :: CommuteFn p q -> CommuteFn p (WithDroppedDeps q)
- data RebaseChange p wX wY where
- RCFwd :: FL (RebaseFixup p) wX wY -> FL p wY wZ -> RebaseChange p wX wZ
- RCRev :: FL (RebaseFixup p) wX wY -> FL p wY wZ -> RebaseChange p wZ wX
- toRebaseChanges :: PrimPatchBase p => FL (RebaseItem p) wX wY -> FL (PatchInfoAnd (RebaseChange p)) wX wY
Documentation
data RebaseSelect p wX wY where Source
Encapsulate a single patch in the rebase state together with its fixups. Used during interactive selection to make sure that each item presented to the user corresponds to a patch.
RSFwd :: FL (RebaseFixup p) wX wY -> Named p wY wZ -> RebaseSelect p wX wZ | |
RSRev :: FL (RebaseFixup p) wX wY -> Named p wY wZ -> RebaseSelect p wZ wX |
toRebaseSelect :: PrimPatchBase p => FL (RebaseItem p) wX wY -> FL (RebaseSelect p) wX wY Source
Turn a list of rebase items being rebased into a list suitable for use by interactive selection. Each actual patch being rebased is grouped together with any fixups needed.
fromRebaseSelect :: FL (RebaseSelect p) wX wY -> FL (RebaseItem p) wX wY Source
Turn a list of items back from the format used for interactive selection into a normal list
extractRebaseSelect :: (Commute p, Merge p, Invert p, Effect p, FromPrim p, PrimPatchBase p) => FL (RebaseSelect p) wX wY -> (FL (WDDNamed p) :> FL (RebaseFixup 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.
reifyRebaseSelect :: forall p wX wY. (PrimPatchBase p, Commute p, Merge p, Invert p, Effect p, FromPrim p) => FL (RebaseSelect p) wX wY -> IO ((FL (WDDNamed p) :> FL (RebaseFixup p)) wX wY) Source
Like extractRebaseSelect
, but any fixups are "reified" into a separate patch.
partitionUnconflicted :: (PrimPatchBase p, FromPrim p, Effect p, Commute p, Invert p, NameHack p) => FL (RebaseSelect p) wX wY -> (FL (RebaseSelect p) :> RL (RebaseSelect p)) wX wY Source
Split a list of rebase patches into those that will have conflicts if unsuspended and those that won't.
rsToNamed :: RebaseSelect p wX wY -> Sealed2 (Named p) Source
Get hold of the Named
patch inside a RebaseSelect
.
data WithDroppedDeps p 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.
WithDroppedDeps | |
|
PrimPatchBase p => PrimPatchBase (WithDroppedDeps p) | |
Effect p => Effect (WithDroppedDeps p) | |
type PrimOf (WithDroppedDeps p) = PrimOf p |
type WDDNamed p = WithDroppedDeps (Named p) Source
commuterIdWDD :: CommuteFn p q -> CommuteFn p (WithDroppedDeps q) Source
data RebaseChange p wX wY where Source
Used for displaying during 'rebase changes'.
'Named (RebaseChange p)' is very similar to 'RebaseSelect p' but slight
mismatches (Named
embeds an FL
) makes it not completely trivial to merge
them.
RCFwd :: FL (RebaseFixup p) wX wY -> FL p wY wZ -> RebaseChange p wX wZ | |
RCRev :: FL (RebaseFixup p) wX wY -> FL p wY wZ -> RebaseChange p wZ wX |
toRebaseChanges :: PrimPatchBase p => FL (RebaseItem p) wX wY -> FL (PatchInfoAnd (RebaseChange p)) wX wY Source