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

Safe Haskell | None
Language | Haskell2010

Darcs.Repository.Transaction

Synopsis

- revertRepositoryChanges :: forall (p :: Type -> Type -> Type) wU wR. RepoPatch p => Repository 'RO p wU wR -> IO (Repository 'RW p wU wR)
- finalizeRepositoryChanges :: forall (p :: Type -> Type -> Type) wU wR. (RepoPatch p, ApplyState p ~ Tree) => Repository 'RW p wU wR -> DryRun -> IO (Repository 'RO p wU wR)
- upgradeOldStyleRebase :: forall (p :: Type -> Type -> Type) wU wR. (RepoPatch p, ApplyState p ~ Tree) => Repository 'RW p wU wR -> IO ()

# Documentation

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

Slightly confusingly named: as well as throwing away any tentative changes, revertRepositoryChanges also re-initialises the tentative state. It's therefore used before makign any changes to the repo.

finalizeRepositoryChanges :: forall (p :: Type -> Type -> Type) wU wR. (RepoPatch p, ApplyState p ~ Tree) => Repository 'RW p wU wR -> DryRun -> IO (Repository 'RO p wU wR) #

Atomically copy the tentative state to the recorded state, thereby committing the tentative changes that were made so far. This includes inventories, pending, rebase, and the index.

upgradeOldStyleRebase :: forall (p :: Type -> Type -> Type) wU wR. (RepoPatch p, ApplyState p ~ Tree) => Repository 'RW p wU wR -> IO () #

Upgrade a possible old-style rebase in progress to the new style.