| darcs | Source code | Contents | Index

Darcs.Patch.Patchy

Synopsis

class (Apply p, Commute p, ShowPatch p, ReadPatch p, Invert p) => Patchy p
class Apply p where

apply :: WriteableDirectory m => [DarcsFlag] -> p -> m ()
applyAndTryToFix :: WriteableDirectory m => p -> m (Maybe (String, p))
applyAndTryToFixFL :: WriteableDirectory m => p -> m (Maybe (String, FL p))

mapMaybeSnd :: (a -> b) -> Maybe (c, a) -> Maybe (c, b)
class Commute p where

commute :: (p :> p) -> Maybe (p :> p)
merge :: (p :\/: p) -> p :/\: p
listTouchedFiles :: p -> [FilePath]
hunkMatches :: (ByteString -> Bool) -> p -> Bool

commuteFL :: Commute p => (p :> FL p) -> Either (Sealed2 p) (FL p :> p)
commuteRL :: Commute p => (RL p :> p) -> Maybe (p :> RL p)
commuteRLFL :: Commute p => (RL p :> FL p) -> Maybe (FL p :> RL p)
mergeFL :: Commute p => (p :\/: FL p) -> FL p :/\: p
toFwdCommute :: (Commute p, Commute q, Monad m) => ((p :< q) -> m (q :< p)) -> (q :> p) -> m (p :> q)
toRevCommute :: (Commute p, Commute q, Monad m) => ((p :> q) -> m (q :> p)) -> (q :< p) -> m (p :< q)
class Commute p => ShowPatch p where

showPatch :: p -> Doc
showNicely :: p -> Doc
showContextPatch :: p -> TreeIO Doc
description :: p -> Doc
summary :: p -> Doc
writePatch :: FilePath -> p -> IO ()
gzWritePatch :: FilePath -> p -> IO ()
thing :: p -> String
things :: p -> String

class ReadPatch p where

readPatch' :: ParserM m => Bool -> m (Maybe (Sealed p))

bracketedFL :: (ReadPatch p, ParserM m) => Word8 -> Word8 -> m (Maybe (Sealed (FL p)))
peekfor :: ParserM m => String -> m a -> m a -> m a
class MyEq p => Invert p where

invert :: p -> p
identity :: p
sloppyIdentity :: p -> EqCheck

invertFL :: Invert p => FL p -> RL p
invertRL :: Invert p => RL p -> FL p

Documentation

class (Apply p, Commute p, ShowPatch p, ReadPatch p, Invert p) => Patchy p | Source

Instances

Patchy Prim
Patchy Patch
Patchy RealPatch
(Conflict p, Patchy p) => Patchy (RL p)
(Conflict p, Patchy p) => Patchy (FL p)
(Conflict p, Effect p, Patchy p) => Patchy (Named p)
RepoPatch p => Patchy (PatchInfoAnd p)

class Apply p where | Source

Methods

apply :: WriteableDirectory m => [DarcsFlag] -> p -> m () | Source

applyAndTryToFix :: WriteableDirectory m => p -> m (Maybe (String, p)) | Source

applyAndTryToFixFL :: WriteableDirectory m => p -> m (Maybe (String, FL p)) | Source

Instances

Apply Prim
Apply Patch
Apply RealPatch
Apply p => Apply (RL p)
Apply p => Apply (FL p)
Apply p => Apply (Named p)
Apply p => Apply (PatchInfoAnd p)

mapMaybeSnd :: (a -> b) -> Maybe (c, a) -> Maybe (c, b) | Source

class Commute p where | Source

Things that can commute.
Methods

commute :: (p :> p) -> Maybe (p :> p) | Source

merge :: (p :\/: p) -> p :/\: p | Source

listTouchedFiles :: p -> [FilePath] | Source

hunkMatches :: (ByteString -> Bool) -> p -> Bool | Source

Instances

Commute Prim
Commute Patch
Commute RealPatch
Commute p => Commute (RL p)
Commute p => Commute (FL p)
Commute p => Commute (Named p)
Commute p => Commute (PatchInfoAnd p)
Commute p => Commute (PatchChoice p)
Commute p => Commute (TaggedPatch p)

commuteFL :: Commute p => (p :> FL p) -> Either (Sealed2 p) (FL p :> p) | Source

commuteRL :: Commute p => (RL p :> p) -> Maybe (p :> RL p) | Source

commuteRLFL :: Commute p => (RL p :> FL p) -> Maybe (FL p :> RL p) | Source

mergeFL :: Commute p => (p :\/: FL p) -> FL p :/\: p | Source

toFwdCommute :: (Commute p, Commute q, Monad m) => ((p :< q) -> m (q :< p)) -> (q :> p) -> m (p :> q) | Source

Swaps the ordered pair type so that commute can be called directly.

toRevCommute :: (Commute p, Commute q, Monad m) => ((p :> q) -> m (q :> p)) -> (q :< p) -> m (p :< q) | Source

Swaps the ordered pair type from the order expected by commute to the reverse order.

class Commute p => ShowPatch p where | Source

Methods

showPatch :: p -> Doc | Source

showNicely :: p -> Doc | Source

showContextPatch :: p -> TreeIO Doc | Source

description :: p -> Doc | Source

summary :: p -> Doc | Source

writePatch :: FilePath -> p -> IO () | Source

gzWritePatch :: FilePath -> p -> IO () | Source

thing :: p -> String | Source

things :: p -> String | Source

Instances

ShowPatch Prim
ShowPatch Patch
ShowPatch RealPatch
(Conflict p, Apply p, ShowPatch p) => ShowPatch (RL p)
(Conflict p, Apply p, Effect p, ShowPatch p) => ShowPatch (FL p)
(Conflict p, ShowPatch p) => ShowPatch (Named p)
(Conflict p, Effect p, ShowPatch p) => ShowPatch (PatchInfoAnd p)

class ReadPatch p where | Source

Methods

readPatch' :: ParserM m => Bool -> m (Maybe (Sealed p)) | Source

Instances

ReadPatch Prim
ReadPatch Patch
ReadPatch RealPatch
ReadPatch p => ReadPatch (RL p)
ReadPatch p => ReadPatch (FL p)
ReadPatch p => ReadPatch (Named p)
ReadPatch p => ReadPatch (PatchInfoAnd p)

bracketedFL :: (ReadPatch p, ParserM m) => Word8 -> Word8 -> m (Maybe (Sealed (FL p))) | Source

peekfor :: ParserM m => String -> m a -> m a -> m a | Source

class MyEq p => Invert p where | Source

Methods

invert :: p -> p | Source

identity :: p | Source

sloppyIdentity :: p -> EqCheck | Source

Instances

Invert Prim
Invert Patch
Invert RealPatch
(Commute p, Invert p) => Invert (RL p)
(Invert p, Commute p) => Invert (FL p)
Invert p => Invert (Named p)
Invert p => Invert (PatchInfoAnd p)
Invert p => Invert (PatchChoice p)
Invert p => Invert (TaggedPatch p)

invertFL :: Invert p => FL p -> RL p | Source

invertRL :: Invert p => RL p -> FL p | Source

Produced by Haddock version 2.4.2