darcs-2.18.3: a distributed, interactive, smart revision control system
Safe HaskellSafe-Inferred
LanguageHaskell2010

Darcs.Patch.Rebase.Name

Synopsis

Documentation

data RebaseName wX wY where Source #

A RebaseName encapsulates the concept of the name of a patch, without any contents. This allows us to track explicit dependencies in the rebase state, changing them to follow uses of amend-record or unsuspend on a depended-on patch, and warning the user if any are lost entirely.

Constructors

AddName :: PatchInfo -> RebaseName wX wY 
DelName :: PatchInfo -> RebaseName wX wY 
Rename :: PatchInfo -> PatchInfo -> RebaseName wX wY 

Instances

Instances details
Commute RebaseName Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

PatchInspect RebaseName Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

Invert RebaseName Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

Methods

invert :: RebaseName wX wY -> RebaseName wY wX Source #

ReadPatch RebaseName Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

ShowPatch RebaseName Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

ShowPatchBasic RebaseName Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

Eq2 RebaseName Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

Methods

unsafeCompare :: RebaseName wA wB -> RebaseName wC wD -> Bool Source #

(=\/=) :: RebaseName wA wB -> RebaseName wA wC -> EqCheck wB wC Source #

(=/\=) :: RebaseName wA wC -> RebaseName wB wC -> EqCheck wA wB Source #

Show2 RebaseName Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

Methods

showDict2 :: ShowDict (RebaseName wX wY) Source #

Show1 (RebaseName wX) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

Methods

showDict1 :: Dict (Show (RebaseName wX wX0)) Source #

Show (RebaseName wX wY) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

Methods

showsPrec :: Int -> RebaseName wX wY -> ShowS #

show :: RebaseName wX wY -> String #

showList :: [RebaseName wX wY] -> ShowS #

Eq (RebaseName wX wY) Source # 
Instance details

Defined in Darcs.Patch.Rebase.Name

Methods

(==) :: RebaseName wX wY -> RebaseName wX wY -> Bool #

(/=) :: RebaseName wX wY -> RebaseName wX wY -> Bool #

commuteNamePrim :: (RebaseName :> prim) wX wY -> (prim :> RebaseName) wX wY Source #

Commute a RebaseName and a primitive patch. They trivially commute so this just involves changing the witnesses. This is unsafe if the patch being commuted actually has a name (e.g. Named or PatchInfo - PrimWithName is ok),

commutePrimName :: (prim :> RebaseName) wX wY -> (RebaseName :> prim) wX wY Source #

Commute a primitive patch and a RebaseName. They trivially commute so this just involves changing the witnesses. This is unsafe if the patch being commuted actually has a name (e.g. Named or PatchInfo - PrimWithName is ok),

commuterIdNamed :: CommuteFn p1 p2 -> CommuteFn p1 (Named p2) Source #

Commute an unnamed patch with a named patch. This is unsafe if the second patch actually does have a name (e.g. Named, PatchInfoAnd, etc), as it won't check the explicit dependencies.

commuterNamedId :: CommuteFn p1 p2 -> CommuteFn (Named p1) p2 Source #

Commute an unnamed patch with a named patch. This is unsafe if the first patch actually does have a name (e.g. Named, PatchInfoAnd, etc), as it won't check the explicit dependencies.

commuteNameNamed :: CommuteFn RebaseName (Named p) Source #

Commute a name patch and a named patch. In most cases this is trivial but we do need to check explicit dependencies.

commuteNamedName :: CommuteFn (Named p) RebaseName Source #

Commute a named patch and a name patch. In most cases this is trivial but we do need to check explicit dependencies.