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

Safe Haskell | None
Language | Haskell2010

Darcs.Repository.Rebase

Contents

- Createreadwrite rebase patch
- Handle rebase format and status
- Handle old-style rebase

Synopsis

- readTentativeRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> IO (Suspended p wR)
- writeTentativeRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> Suspended p wR -> IO ()
- withTentativeRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR wR'. RepoPatch p => Repository rt p wU wR -> Repository rt p wU wR' -> (Suspended p wR -> Suspended p wR') -> IO ()
- readRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> IO (Suspended p wR)
- finalizeTentativeRebase :: IO ()
- revertTentativeRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> IO ()
- withManualRebaseUpdate :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR wR' x. RepoPatch p => Repository rt p wU wR -> (Repository rt p wU wR -> IO (Repository rt p wU wR', FL (RebaseFixup (PrimOf p)) wR' wR, x)) -> IO (Repository rt p wU wR', x)
- checkHasRebase :: forall (rt :: AccessType) (p :: Type -> Type -> Type) wU wR. Repository rt p wU wR -> IO ()
- displayRebaseStatus :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> IO ()
- updateRebaseFormat :: forall (p :: Type -> Type -> Type) wU wR. RepoPatch p => Repository 'RW p wU wR -> IO ()
- extractOldStyleRebase :: forall (p :: Type -> Type -> Type) wA wB. RepoPatch p => RL (PiaW p) wA wB -> Maybe ((RL (PatchInfoAnd p) :> Dup (Suspended p)) wA wB)
- checkOldStyleRebaseStatus :: forall (rt :: AccessType) (p :: Type -> Type -> Type) wU wR. Repository rt p wU wR -> IO ()

# Createreadwrite rebase patch

readTentativeRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> IO (Suspended p wR) #

writeTentativeRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> Suspended p wR -> IO () #

withTentativeRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR wR'. RepoPatch p => Repository rt p wU wR -> Repository rt p wU wR' -> (Suspended p wR -> Suspended p wR') -> IO () #

readRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> IO (Suspended p wR) #

finalizeTentativeRebase :: IO () #

revertTentativeRebase :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> IO () #

withManualRebaseUpdate :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR wR' x. RepoPatch p => Repository rt p wU wR -> (Repository rt p wU wR -> IO (Repository rt p wU wR', FL (RebaseFixup (PrimOf p)) wR' wR, x)) -> IO (Repository rt p wU wR', x) #

# Handle rebase format and status

checkHasRebase :: forall (rt :: AccessType) (p :: Type -> Type -> Type) wU wR. Repository rt p wU wR -> IO () #

Fail unless we already have some suspended patches. Not essential, since all rebase commands should be happy to work with an empty rebase state.

displayRebaseStatus :: forall (p :: Type -> Type -> Type) (rt :: AccessType) wU wR. RepoPatch p => Repository rt p wU wR -> IO () #

Report the rebase status if there is (still) a rebase in progress after the command has finished running. To be called via `finally` for every `RepoJob`.

updateRebaseFormat :: forall (p :: Type -> Type -> Type) wU wR. RepoPatch p => Repository 'RW p wU wR -> IO () #

Rebase format update for all commands that modify the repo, except rebase upgrade. This is called by `finalizeRepositoryChanges`.

# Handle old-style rebase

extractOldStyleRebase :: forall (p :: Type -> Type -> Type) wA wB. RepoPatch p => RL (PiaW p) wA wB -> Maybe ((RL (PatchInfoAnd p) :> Dup (Suspended p)) wA wB) #

checkOldStyleRebaseStatus :: forall (rt :: AccessType) (p :: Type -> Type -> Type) wU wR. Repository rt p wU wR -> IO () #

Fail if there is an old-style rebase present. To be called initially for every command except rebase upgrade.