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

Safe HaskellNone

Darcs.Patch.Patchy

Synopsis

Documentation

class (Apply p, Commute 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 (RepoPatchV1 prim) 
(Patchy p, ~ ((* -> *) -> *) (ApplyState p) Tree) => Patchy (Named p) 
Apply p => Patchy (RebaseName p) 
PrimPatch prim => Patchy (RepoPatchV2 prim) 
(PrimPatchBase p, Apply p, ~ ((* -> *) -> *) (ApplyState p) (ApplyState (PrimOf p)), Invert p) => Patchy (RebaseChange p) 
(PrimPatchBase p, PatchListFormat p, Conflict p, FromPrim p, Effect p, CommuteNoConflicts p, IsHunk p, Patchy p, ~ ((* -> *) -> *) (ApplyState p) (ApplyState (PrimOf p))) => Patchy (RebaseSelect p) 
(Patchy p, ~ ((* -> *) -> *) (ApplyState p) Tree) => Patchy (WrappedNamed rt p) 
(Patchy p, ~ ((* -> *) -> *) (ApplyState p) Tree) => Patchy (PatchInfoAnd rt p) 

class Apply p where

Associated Types

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

Methods

apply :: ApplyMonad (ApplyState p) m => p wX wY -> m ()

Instances

Apply Prim 
Apply Prim 
Apply DummyPatch 
Apply p => Apply (RL p) 
Apply p => Apply (FL p) 
PrimPatch prim => Apply (RepoPatchV1 prim) 
Apply p => Apply (Named p) 
Apply p => Apply (RebaseName p) 
PrimPatch prim => Apply (RepoPatchV2 prim) 
(PrimPatchBase p, Apply p, ~ ((* -> *) -> *) (ApplyState p) (ApplyState (PrimOf p))) => Apply (RebaseFixup p) 
Apply p => Apply (Suspended p) 
(PrimPatchBase p, Invert p, Apply p, ~ ((* -> *) -> *) (ApplyState p) (ApplyState (PrimOf p))) => Apply (RebaseChange p) 
(PrimPatchBase p, Invert p, Apply p, ~ ((* -> *) -> *) (ApplyState p) (ApplyState (PrimOf p))) => Apply (RebaseSelect p) 
Apply p => Apply (WrappedNamed rt p) 
Apply p => Apply (PatchInfoAnd rt p) 

class Commute p where

Commute represents things that can be (possibly) commuted.

Methods

commute :: (p :> p) wX wY -> Maybe ((p :> p) wX wY)

class Invert p where

Methods

invert :: p wX wY -> p wY wX

showPatch :: ShowPatchBasic p => p wX wY -> Doc

class ShowPatchBasic p => ShowPatch p where

Methods

showNicely :: p wX wY -> Doc

showContextPatch :: (Monad m, ApplyMonad (ApplyState p) m) => p wX wY -> 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 wX wY -> Doc

summary :: p wX wY -> Doc

summaryFL :: FL p wX wY -> Doc

thing :: p wX wY -> String

things :: p wX wY -> String