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

Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.Rebase.Name

Synopsis

Documentation

data RebaseName p 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 p wX wY 
DelName :: PatchInfo -> RebaseName p wX wY 
Rename :: PatchInfo -> PatchInfo -> RebaseName p wX wY 

commuteNamePrim :: PrimPatchBase p => (RebaseName p :> PrimOf p) wX wY -> (PrimOf p :> RebaseName p) wX wY Source

Commute a name patch and a primitive patch. They trivially commute so this just involves changing the witnesses.

commutePrimName :: PrimPatchBase p => (PrimOf p :> RebaseName p) wX wY -> (RebaseName p :> PrimOf p) wX wY Source

Commute a primitive patch and a name patch. They trivially commute so this just involves changing the witnesses.

commuteNameNamed :: Invert p => CommuteFn (RebaseName p) (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 :: Invert p => CommuteFn (Named p) (RebaseName p) Source

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