Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Suspended p wX wY where
- Items :: FL (RebaseChange (PrimOf p)) wX wY -> Suspended p wX wX
- countToEdit :: Suspended p wX wY -> Int
- simplifyPush :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => DiffAlgorithm -> RebaseFixup (PrimOf p) wX wY -> Suspended p wY wY -> Suspended p wX wX
- simplifyPushes :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => DiffAlgorithm -> FL (RebaseFixup (PrimOf p)) wX wY -> Suspended p wY wY -> Suspended p wX wX
- addFixupsToSuspended :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => Named p wX wY -> Suspended p wY wY -> Suspended p wX wX
- removeFixupsFromSuspended :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => Named p wX wY -> Suspended p wX wX -> Suspended p wY wY
- addToEditsToSuspended :: RepoPatch p => DiffAlgorithm -> FL (Named p) wX wY -> Suspended p wY wY -> IO (Suspended p wX wX)
Documentation
data Suspended p wX wY where Source #
A single Suspended
patch contains the entire rebase state, in the form
of RebaseItem
s.
The witnesses are such that a Suspended
appears to have no effect.
This behaviour is only kept so we can read old-style rebase patches,
where the entire rebase state was kept in a single patch on disk.
Items :: FL (RebaseChange (PrimOf p)) wX wY -> Suspended p wX wX |
Instances
(Show2 p, Show2 (PrimOf p)) => Show2 (Suspended p) Source # | |
Defined in Darcs.Patch.Rebase.Suspended | |
(PrimPatchBase p, PatchInspect p) => PatchInspect (Suspended p) Source # | |
Defined in Darcs.Patch.Rebase.Suspended listTouchedFiles :: Suspended p wX wY -> [AnchoredPath] Source # hunkMatches :: (ByteString -> Bool) -> Suspended p wX wY -> Bool Source # | |
(PrimPatchBase p, PatchListFormat p, ShowPatchBasic p) => ShowPatchBasic (Suspended p) Source # | |
Defined in Darcs.Patch.Rebase.Suspended | |
(PrimPatchBase p, PatchListFormat p, ReadPatch p, RepoPatch p) => ReadPatch (Suspended p) Source # | |
Defined in Darcs.Patch.Rebase.Suspended | |
(Show2 p, Show2 (PrimOf p)) => Show1 (Suspended p wX) Source # | |
(Show2 p, Show2 (PrimOf p)) => Show (Suspended p wX wY) Source # | |
countToEdit :: Suspended p wX wY -> Int Source #
simplifyPush :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => DiffAlgorithm -> RebaseFixup (PrimOf p) wX wY -> Suspended p wY wY -> Suspended p wX wX Source #
simplifyPushes :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => DiffAlgorithm -> FL (RebaseFixup (PrimOf p)) wX wY -> Suspended p wY wY -> Suspended p wX wX Source #
addFixupsToSuspended :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => Named p wX wY -> Suspended p wY wY -> Suspended p wX wX Source #
add fixups for the name and effect of a patch to a Suspended
removeFixupsFromSuspended :: (PrimPatchBase p, Commute p, FromPrim p, Effect p) => Named p wX wY -> Suspended p wX wX -> Suspended p wY wY Source #
remove fixups (actually, add their inverse) for the name and effect of a patch to a Suspended
addToEditsToSuspended :: RepoPatch p => DiffAlgorithm -> FL (Named p) wX wY -> Suspended p wY wY -> IO (Suspended p wX wX) Source #
Add Named
patches for editing to a Suspended
. The patches to be
suspended are renamed by replacing the junk in their Patchinfo
.
The reason we rename patches immediately when suspending them is that the user may pull an identical copy from a clone, Which means we have the same patch name twice, once in the normal repo and once suspended. Furthermore, they can again suspend that copy, leaving us with multiple copies of the same patch in the rebase state. This is bad because it invalidates most of the invariants for RebaseName fixups. See issue2445 and tests/rebase-repull.sh for examples which lead to crashes when we don't do the renaming here.