Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data FileId = FileId {}
- parseFileId :: String -> FileId
- showFileId :: FileId -> String
- newtype PatchId = PID {}
- pid2string :: PatchId -> String
- data DatedFilePath = DatedFilePath FilePath (Maybe PatchId)
- data PatchMod a
- = PTouch a
- | PCreateFile a
- | PCreateDir a
- | PRename a a
- | PRemove a
- | PInvalid a
- | PDuplicateTouch a
- makePatchID :: PatchInfo -> PatchId
- short :: PatchId -> Word32
Documentation
The FileId for a file consists of the FilePath (creation name) and an index. The index denotes how many files with the same name have been added before (and subsequently deleted or moved)
parseFileId :: String -> FileId Source #
Parse FileId from a string
showFileId :: FileId -> String Source #
Convert FileId to string
The PatchId identifies a patch and can be created from a PatchInfo with makePatchname
pid2string :: PatchId -> String Source #
data DatedFilePath Source #
describes a filepath that is interpreted relative to a certain point in the history of the repository. The point is given by Just pid which denotes the history up to (including) pid or Nothing which denotes the history including the last patch
This is used to track changes to files
PTouch a | |
PCreateFile a | |
PCreateDir a | |
PRename a a | |
PRemove a | |
PInvalid a | This is an invalid patch e.g. there is a patch 'Move Autoconf.lhs Autoconf.lhs.in' where there is no Autoconf.lhs in the darcs repo |
PDuplicateTouch a | this is used for duplicate patches that don't have any effect, but we still want to keep track of them |
makePatchID :: PatchInfo -> PatchId Source #