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

Safe HaskellNone

Darcs.Patch.Patchy

Synopsis

Documentation

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

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 whereSource

Associated Types

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

Methods

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

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 whereSource

Things that can commute.

Methods

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

class Invert p whereSource

Methods

invert :: p x y -> p y xSource

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) 

class ShowPatchBasic p => ShowPatch p whereSource

Methods

showNicely :: p x y -> DocSource

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

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 -> DocSource

summary :: p x y -> DocSource

summaryFL :: FL p x y -> DocSource

thing :: p x y -> StringSource

things :: p x y -> StringSource