Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data RebaseItem p wX wY where
- ToEdit :: Named p wX wY -> RebaseItem p wX wY
- Fixup :: RebaseFixup p wX wY -> RebaseItem p wX wY
- simplifyPush :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => DiffAlgorithm -> RebaseFixup p wX wY -> FL (RebaseItem p) wY wZ -> Sealed (FL (RebaseItem p) wX)
- simplifyPushes :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => DiffAlgorithm -> FL (RebaseFixup p) wX wY -> FL (RebaseItem p) wY wZ -> Sealed (FL (RebaseItem p) wX)
- countToEdit :: FL (RebaseItem p) wX wY -> Int
Documentation
data RebaseItem p wX wY where Source #
A single item in the rebase state consists of either a patch that is being edited, or a fixup that adjusts the context so that a subsequent patch that is being edited "makes sense".
ToEdit
holds a patch that is being edited. The name (PatchInfo
) of
the patch will typically be the name the patch had before
it was added to the rebase state; if it is moved back
into the repository it must be given a fresh name to account
for the fact that it will not necessarily have the same
dependencies as the original patch. This is typically
done by changing the Ignore-This
junk.
Fixup
adjusts the context so that a subsequent ToEdit
patch
is correct. Where possible, Fixup
changes are commuted
as far as possible into the rebase state, so any remaining
ones will typically cause a conflict when the ToEdit
patch
is moved back into the repository.
ToEdit :: Named p wX wY -> RebaseItem p wX wY | |
Fixup :: RebaseFixup p wX wY -> RebaseItem p wX wY |
(Show2 p, Show2 (PrimOf p)) => Show2 (RebaseItem p) Source # | |
(PrimPatchBase p, PatchInspect p) => PatchInspect (RebaseItem p) Source # | |
(PrimPatchBase p, PatchListFormat p, ReadPatch p) => ReadPatch (RebaseItem p) Source # | |
(PrimPatchBase p, PatchListFormat p, Apply p, CommuteNoConflicts p, Conflict p, IsHunk p, ShowPatch p) => ShowPatch (RebaseItem p) Source # | |
(PrimPatchBase p, PatchListFormat p, ShowPatchBasic p) => ShowPatchBasic (RebaseItem p) Source # | |
Check p => Check (RebaseItem p) Source # | |
(Show2 p, Show2 (PrimOf p)) => Show1 (RebaseItem p wX) Source # | |
(Show2 p, Show2 (PrimOf p)) => Show (RebaseItem p wX wY) Source # | |
simplifyPush :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => DiffAlgorithm -> RebaseFixup p wX wY -> FL (RebaseItem p) wY wZ -> Sealed (FL (RebaseItem p) 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 :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => DiffAlgorithm -> FL (RebaseFixup p) wX wY -> FL (RebaseItem p) wY wZ -> Sealed (FL (RebaseItem p) wX) Source #
Like simplifyPush
but for a list of fixups.
countToEdit :: FL (RebaseItem p) wX wY -> Int Source #