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

Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.Repair

Synopsis

Documentation

class Repair p where Source #

Repair and RepairToFL deal with repairing old patches that were were written out due to bugs or that we no longer wish to support. Repair is implemented by collections of patches (FL, Named, PatchInfoAnd) that might need repairing.

Methods

applyAndTryToFix :: ApplyMonad (ApplyState p) m => p wX wY -> m (Maybe (String, p wX wY)) Source #

Instances
RepairToFL p => Repair (FL p) Source # 
Instance details

Defined in Darcs.Patch.Repair

Methods

applyAndTryToFix :: ApplyMonad (ApplyState (FL p)) m => FL p wX wY -> m (Maybe (String, FL p wX wY)) Source #

RepairToFL p => Repair (Named p) Source # 
Instance details

Defined in Darcs.Patch.Named

Methods

applyAndTryToFix :: ApplyMonad (ApplyState (Named p)) m => Named p wX wY -> m (Maybe (String, Named p wX wY)) Source #

Repair (Suspended p) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Container

Methods

applyAndTryToFix :: ApplyMonad (ApplyState (Suspended p)) m => Suspended p wX wY -> m (Maybe (String, Suspended p wX wY)) Source #

RepairToFL p => Repair (WrappedNamed rt p) Source # 
Instance details

Defined in Darcs.Patch.Named.Wrapped

Methods

applyAndTryToFix :: ApplyMonad (ApplyState (WrappedNamed rt p)) m => WrappedNamed rt p wX wY -> m (Maybe (String, WrappedNamed rt p wX wY)) Source #

RepairToFL p => Repair (PatchInfoAnd rt p) Source # 
Instance details

Defined in Darcs.Patch.PatchInfoAnd

Methods

applyAndTryToFix :: ApplyMonad (ApplyState (PatchInfoAnd rt p)) m => PatchInfoAnd rt p wX wY -> m (Maybe (String, PatchInfoAnd rt p wX wY)) Source #

class Apply p => RepairToFL p where Source #

RepairToFL is implemented by single patches that can be repaired (Prim, Patch, RepoPatchV2) There is a default so that patch types with no current legacy problems don't need to have an implementation.

Minimal complete definition

Nothing

Methods

applyAndTryToFixFL :: ApplyMonad (ApplyState p) m => p wX wY -> m (Maybe (String, FL p wX wY)) Source #

Instances
RepairToFL Prim Source # 
Instance details

Defined in Darcs.Patch.Prim.V1.Apply

Methods

applyAndTryToFixFL :: ApplyMonad (ApplyState Prim) m => Prim wX wY -> m (Maybe (String, FL Prim wX wY)) Source #

RepairToFL Prim Source # 
Instance details

Defined in Darcs.Patch.Prim.FileUUID.Apply

Methods

applyAndTryToFixFL :: ApplyMonad (ApplyState Prim) m => Prim wX wY -> m (Maybe (String, FL Prim wX wY)) Source #

RepairToFL Prim Source # 
Instance details

Defined in Darcs.Patch.V2.Prim

Methods

applyAndTryToFixFL :: ApplyMonad (ApplyState Prim) m => Prim wX wY -> m (Maybe (String, FL Prim wX wY)) Source #

RepairToFL Prim Source # 
Instance details

Defined in Darcs.Patch.V1.Prim

Methods

applyAndTryToFixFL :: ApplyMonad (ApplyState Prim) m => Prim wX wY -> m (Maybe (String, FL Prim wX wY)) Source #

RepairToFL DummyPatch Source # 
Instance details

Defined in Darcs.Patch.Dummy

PrimPatch prim => RepairToFL (RepoPatchV1 prim) Source # 
Instance details

Defined in Darcs.Patch.V1.Apply

Methods

applyAndTryToFixFL :: ApplyMonad (ApplyState (RepoPatchV1 prim)) m => RepoPatchV1 prim wX wY -> m (Maybe (String, FL (RepoPatchV1 prim) wX wY)) Source #

RepairToFL (Suspended p) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Container

Methods

applyAndTryToFixFL :: ApplyMonad (ApplyState (Suspended p)) m => Suspended p wX wY -> m (Maybe (String, FL (Suspended p) wX wY)) Source #

PrimPatch prim => RepairToFL (RepoPatchV2 prim) Source # 
Instance details

Defined in Darcs.Patch.V2.RepoPatch

Methods

applyAndTryToFixFL :: ApplyMonad (ApplyState (RepoPatchV2 prim)) m => RepoPatchV2 prim wX wY -> m (Maybe (String, FL (RepoPatchV2 prim) wX wY)) Source #

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

class Check p where Source #

Minimal complete definition

Nothing

Methods

isInconsistent :: p wX wY -> Maybe Doc Source #

Instances
Check DummyPatch Source # 
Instance details

Defined in Darcs.Patch.Dummy

Check p => Check (RL p) Source # 
Instance details

Defined in Darcs.Patch.Repair

Methods

isInconsistent :: RL p wX wY -> Maybe Doc Source #

Check p => Check (FL p) Source # 
Instance details

Defined in Darcs.Patch.Repair

Methods

isInconsistent :: FL p wX wY -> Maybe Doc Source #

Check (RepoPatchV1 prim) Source # 
Instance details

Defined in Darcs.Patch.V1.Core

Methods

isInconsistent :: RepoPatchV1 prim wX wY -> Maybe Doc Source #

Check p => Check (Named p) Source # 
Instance details

Defined in Darcs.Patch.Named

Methods

isInconsistent :: Named p wX wY -> Maybe Doc Source #

Check p => Check (RebaseItem p) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Item

Methods

isInconsistent :: RebaseItem p wX wY -> Maybe Doc Source #

Check p => Check (Suspended p) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Container

Methods

isInconsistent :: Suspended p wX wY -> Maybe Doc Source #

PrimPatch prim => Check (RepoPatchV2 prim) Source # 
Instance details

Defined in Darcs.Patch.V2.RepoPatch

Methods

isInconsistent :: RepoPatchV2 prim wX wY -> Maybe Doc Source #

Check p => Check (WrappedNamed rt p) Source # 
Instance details

Defined in Darcs.Patch.Named.Wrapped

Methods

isInconsistent :: WrappedNamed rt p wX wY -> Maybe Doc Source #