darcs-2.18.2: a distributed, interactive, smart revision control system

Safe Haskell | None
Language | Haskell2010

Darcs.Patch.Rebase.Legacy.Wrapped

Synopsis

- data WrappedNamed (p :: Type -> Type -> Type) wX wY where
  - NormalP :: forall (p :: Type -> Type -> Type) wX wY. !(Named p wX wY) -> WrappedNamed p wX wY
  - RebaseP :: forall (p :: Type -> Type -> Type) wX. (PrimPatchBase p, FromPrim p, Effect p) => !PatchInfo -> !(Suspended p wX) -> WrappedNamed p wX wX
- fromRebasing :: forall (p :: Type -> Type -> Type) wX wY. WrappedNamed p wX wY -> Named p wX wY

# Documentation

data WrappedNamed (p :: Type -> Type -> Type) wX wY where #

A patch that lives in a repository where an old-style rebase is in progress. Such a repository will consist of `Normal` patches along with exactly one `Suspended` patch.

It is here only so that we can upgrade an old-style rebase.

`NormalP` represents a normal patch within a respository where a rebase is in progress. `NormalP p` is given the same on-disk representation as `p`, so a repository can be switched into and out of rebasing mode simply by adding or removing a `RebaseP` patch and setting the appropriate format flag.

Note that the witnesses are such that the `RebaseP` patch has no effect on the context of the rest of the repository; in a sense the patches within it are dangling off to one side from the main repository.

Constructors

NormalP :: forall (p :: Type -> Type -> Type) wX wY. !(Named p wX wY) -> WrappedNamed p wX wY |
RebaseP :: forall (p :: Type -> Type -> Type) wX. (PrimPatchBase p, FromPrim p, Effect p) => !PatchInfo -> !(Suspended p wX) -> WrappedNamed p wX wX |

#### Instances

Instances details

RepoPatch p => ReadPatch (WrappedNamed p) # |
Instance details Defined in Darcs.Patch.Rebase.Legacy.Wrapped Methods readPatch' :: Parser (Sealed (WrappedNamed p wX)) #

fromRebasing :: forall (p :: Type -> Type -> Type) wX wY. WrappedNamed p wX wY -> Named p wX wY #