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

Safe Haskell | None
Language | Haskell2010

Darcs.Repository.InternalTypes

Synopsis

- data Repository rt p wRecordedstate wUnrecordedstate wTentativestate = Repo !String !RepoFormat !Pristine Cache
- data Pristine
  - = NoPristine
  - | PlainPristine
  - | HashedPristine
- extractCache :: Repository rt p wR wU wT -> Cache
- modifyCache :: forall rt p wR wU wT. RepoPatch p => Repository rt p wR wU wT -> (Cache -> Cache) -> Repository rt p wR wU wT

# Documentation

data Repository rt p wRecordedstate wUnrecordedstate wTentativestate #

A `Repository` is a token representing the state of a repository on disk. It is parameterized by the patch type in the repository, and witnesses for the recorded state of the repository (i.e. what darcs get would retrieve), the unrecorded state (what's in the working directory now), and the tentative state, which represents work in progress that will eventually become the new recorded state unless something goes wrong.

Constructors

Repo !String !RepoFormat !Pristine Cache |

Instances

Show (Repository rt p wRecordedstate wUnrecordedstate wTentativestate) # |
Methods showsPrec :: Int -> Repository rt p wRecordedstate wUnrecordedstate wTentativestate -> ShowS # show :: Repository rt p wRecordedstate wUnrecordedstate wTentativestate -> String # showList :: [Repository rt p wRecordedstate wUnrecordedstate wTentativestate] -> ShowS #

data Pristine #

Constructors

NoPristine |
PlainPristine |
HashedPristine |

Instances

Eq Pristine # |
Methods (==) :: Pristine -> Pristine -> Bool # (/=) :: Pristine -> Pristine -> Bool #
Show Pristine # |
Methods showsPrec :: Int -> Pristine -> ShowS # show :: Pristine -> String # showList :: [Pristine] -> ShowS #

extractCache :: Repository rt p wR wU wT -> Cache #

modifyCache :: forall rt p wR wU wT. RepoPatch p => Repository rt p wR wU wT -> (Cache -> Cache) -> Repository rt p wR wU wT #

`modifyCache` `repository function` modifies the cache of `repository` with `function`, remove duplicates and sort the results with `compareByLocality`.