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

Safe HaskellNone
LanguageHaskell98

Darcs.Patch.Patchy

Synopsis

Documentation

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

Instances

Patchy Prim 
Patchy Prim 
Patchy DummyPatch 
(IsHunk p, PatchListFormat p, Patchy p) => Patchy (RL p) 
(IsHunk p, PatchListFormat p, Patchy p) => Patchy (FL p) 
PrimPatch prim => Patchy (Patch prim) 
(CommuteNoConflicts p, Conflict p, IsHunk p, PatchListFormat p, PrimPatchBase p, Patchy p, (~) ((* -> *) -> *) (ApplyState p) Tree) => Patchy (Named p) 
(RepoPatch p, (~) ((* -> *) -> *) (ApplyState p) Tree) => Patchy (PatchInfoAnd p) 
PrimPatch prim => Patchy (RealPatch prim) 

class Apply p where

Associated Types

type ApplyState p :: (* -> *) -> *

Methods

apply :: ApplyMonad m (ApplyState p) => p x y -> m ()

Instances

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

class Commute p where

Things that can commute.

Methods

commute :: (p :> p) x y -> Maybe ((p :> p) x y)

class Invert p where

Methods

invert :: p x y -> p y x

Instances

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

showPatch :: ShowPatchBasic p => p x y -> Doc

class ShowPatchBasic p => ShowPatch p where

Minimal complete definition

summary, summaryFL

Methods

showNicely :: p x y -> Doc

showContextPatch :: (Monad m, ApplyMonadTrans m (ApplyState p), ApplyMonad m (ApplyState p)) => p x y -> m Doc

showContextPatch is used to add context to a patch, as diff -u does. Thus, it differs from showPatch only for hunks. It is used for instance before putting it into a bundle. As this unified context is not included in patch representation, this requires access to the tree.

description :: p x y -> Doc

summary :: p x y -> Doc

summaryFL :: FL p x y -> Doc

thing :: p x y -> String

things :: p x y -> String