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

Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.Patchy

Synopsis

Documentation

class (Apply p, Commute p, Invert p) => Patchy p

Instances

class Apply p where

Associated Types

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

Methods

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

Instances

Apply DummyPatch 
Apply p => Apply (RL p) 
Apply p => Apply (FL p) 
Apply p => Apply (Named p) 
Apply p => Apply (RebaseName p) 
(PrimPatchBase p, Apply p, (~) ((* -> *) -> *) (ApplyState p) (ApplyState (PrimOf p))) => Apply (RebaseFixup p) 
PrimPatch prim => Apply (RealPatch prim) 
Apply p => Apply (PatchInfoAnd p) 
Apply p => Apply (Rebasing 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) 

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

Minimal complete definition

summary, summaryFL

Methods

showNicely :: p wX wY -> Doc

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