darcs-2.18.3: a distributed, interactive, smart revision control system
Safe HaskellSafe-Inferred
LanguageHaskell2010

Darcs.Repository.Rebase

Synopsis

Createreadwrite rebase patch

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

withTentativeRebase :: RepoPatch p => Repository rt p wU wR -> Repository rt p wU wR' -> (Suspended p wR -> Suspended p wR') -> IO () Source #

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

withManualRebaseUpdate :: 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 :: 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 :: 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 :: 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 wA wB. RepoPatch p => RL (PiaW p) wA wB -> Maybe ((RL (PatchInfoAnd p) :> Dup (Suspended p)) wA wB) Source #

checkOldStyleRebaseStatus :: 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.