darcs-beta- a distributed, interactive, smart revision control system




data PatchInfo Source

A PatchInfo value contains the metadata of a patch. The date, name, author and log fields are UTF-8 encoded text in darcs 2.4 and later, and just sequences of bytes (decoded with whatever is the locale when displayed) in earlier darcs.

The members with names that start with '_' are not supposed to be used directly in code that does not care how the patch info is stored.

addJunk :: PatchInfo -> IO PatchInfoSource

addJunk adds a line that contains a random number to make the patch unique.

justName :: PatchInfo -> StringSource

Get the name, including an UNDO: prefix if the patch is inverted.

justAuthor :: PatchInfo -> StringSource

Returns the author of a patch.

piName :: PatchInfo -> StringSource

Returns the name of the patch. Unlike justName, it does not preprend UNDO: to the name if the patch is inverted.

piAuthor :: PatchInfo -> StringSource

Returns the author of a patch.

piTag :: PatchInfo -> Maybe StringSource

Get the tag name, if the patch is a tag patch.

piLog :: PatchInfo -> [String]Source

Get the log message of a patch.

showPatchInfo :: PatchInfo -> DocSource

Patch is stored between square brackets.

 [ <patch name>
 <patch author>*<patch date>
  <patch log (may be empty)> (indented one)
  <can have multiple lines in patch log,>
  <as long as they're preceded by a space>
  <and don't end with a square bracket.>

note that below I assume the name has no newline in it.