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

Darcs.Patch.Core

Synopsis

- data Patch where
  - PP :: Prim -> Patch
  - ComP :: FL Patch -> Patch
  - Merger :: Patch -> RL Patch -> Patch -> Patch -> Patch
  - Regrem :: Patch -> RL Patch -> Patch -> Patch -> Patch
- data Named p where
  - NamedP :: !PatchInfo -> ![PatchInfo] -> !p -> Named p
- joinPatchesFL :: FL Patch -> Patch
- concatFL :: FL (FL a) -> FL a
- flattenFL :: Patch -> FL Patch
- nullP :: Patch -> EqCheck
- isNullPatch :: Patch -> Bool
- infopatch :: Patchy p => PatchInfo -> p -> Named p
- nFn :: FilePath -> FilePath
- adddeps :: Named p -> [PatchInfo] -> Named p
- namepatch :: Patchy p => String -> String -> String -> [String] -> p -> IO (Named p)
- anonymous :: Patchy p => p -> IO (Named p)
- mergerUndo :: Patch -> Patch
- isMerger :: Patch -> Bool
- getdeps :: Named p -> [PatchInfo]
- patch2patchinfo :: Named p -> PatchInfo
- patchname :: Named p -> String
- patchcontents :: Named p -> p

# Documentation

data Patch where

Constructors

PP :: Prim -> Patch |
ComP :: FL Patch -> Patch |
Merger :: Patch -> RL Patch -> Patch -> Patch -> Patch |
Regrem :: Patch -> RL Patch -> Patch -> Patch -> Patch |

Instances

Show Patch |
Show2 Patch |
MyEq Patch |
Invert Patch |
ReadPatch Patch |
ShowPatch Patch |
Commute Patch |
Apply Patch |
Patchy Patch |
Effect Patch |
Conflict Patch |
FromPrims Patch |
FromPrim Patch |
RepoPatch Patch |
RepoPatchBase Patch |

data Named p where

The `Named` type adds a patch info about a patch, that is a name.

`NamedP info deps p` represents patch `p` with name `info`. `deps` is a list of dependencies added at the named patch level, compared with the unnamed level (ie, dependencies added with `darcs record --ask-deps`).

Constructors

NamedP :: !PatchInfo -> ![PatchInfo] -> !p -> Named p |

Instances

(Conflict p, ShowPatch p) => Show (Named p) |
MyEq p => MyEq (Named p) |
Invert p => Invert (Named p) |
ReadPatch p => ReadPatch (Named p) |
(Conflict p, ShowPatch p) => ShowPatch (Named p) |
Commute p => Commute (Named p) |
Apply p => Apply (Named p) |
(Conflict p, Effect p, Patchy p) => Patchy (Named p) |
Effect p => Effect (Named p) |
Conflict p => Conflict (Named p) |

joinPatchesFL :: FL Patch -> Patch

concatFL :: FL (FL a) -> FL a

flattenFL :: Patch -> FL Patch

nullP :: Patch -> EqCheck

isNullPatch :: Patch -> Bool

infopatch :: Patchy p => PatchInfo -> p -> Named p

nFn :: FilePath -> FilePath

adddeps :: Named p -> [PatchInfo] -> Named p

namepatch :: Patchy p => String -> String -> String -> [String] -> p -> IO (Named p)

anonymous :: Patchy p => p -> IO (Named p)

mergerUndo :: Patch -> Patch

isMerger :: Patch -> Bool

getdeps :: Named p -> [PatchInfo]

patch2patchinfo :: Named p -> PatchInfo

patchname :: Named p -> String

patchcontents :: Named p -> p