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

Darcs.Repository.Rebase

Synopsis

Createreadwrite rebase patch

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

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

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 () Source #

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

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

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) Source #

Handle rebase format and status

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

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 () Source #

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 () Source #

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) Source #

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

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