summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/plugins/write.mdwn33
-rw-r--r--doc/todo/web_reversion.mdwn6
2 files changed, 36 insertions, 3 deletions
diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn
index d5bd1dd76..1bd3b0f87 100644
--- a/doc/plugins/write.mdwn
+++ b/doc/plugins/write.mdwn
@@ -1176,9 +1176,9 @@ sense to implement for all RCSs.
It should examine the incoming changes, and do any sanity
checks that are appropriate for the RCS to limit changes to safe file adds,
-removes, and changes. If something bad is found, it should exit
-nonzero, to abort the push. Otherwise, it should return a list of
-files that were changed, in the form:
+removes, and changes. If something bad is found, it should die, to abort
+the push. Otherwise, it should return a list of files that were changed,
+in the form:
{
file => # name of file that was changed
@@ -1191,6 +1191,33 @@ files that were changed, in the form:
The list will then be checked to make sure that each change is one that
is allowed to be made via the web interface.
+#### `rcs_preprevert($)`
+
+This is called by the revert web interface. It is passed a RCS-specific
+change ID, and should determine what the effects would be of reverting
+that change, and return the same data structure as `rcs_receive`.
+
+Like `rcs_receive`, it should do whatever sanity checks are appropriate
+for the RCS to limit changes to safe changes, and die if a change would
+be unsafe to revert.
+
+#### `rcs_revert(@)`
+
+This is called by the revert web interface. It is passed a named
+parameter rev that is the RCS-specific change ID to revert.
+
+Addition named parameters: `message`, and `session` (optional).
+
+It should try to revert the specified rev, which includes committing
+the reversion, and returns undef on _success_ and an error message
+on failure.
+
+#### `rcs_showpatch(@)`
+
+This is passed a named parameter rev that is a RCS-specific
+change ID. It should generate a diff-style patch showing the changes
+made and return it.
+
### PageSpec plugins
It's also possible to write plugins that add new functions to
diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn
index 34947b710..9e5880558 100644
--- a/doc/todo/web_reversion.mdwn
+++ b/doc/todo/web_reversion.mdwn
@@ -65,3 +65,9 @@ Peter Gammie has done an initial implementation of the above.
>> gets used to check whether attachments are allowed -- there really should be a hook for that.
>>
>> Please look it over and tell me what else needs fixing... -- [[peteg]]
+
+>>> I have made my own revert branch and put a few fixes in there. Issues
+>>> I noticed but have not gotten to:
+>>>
+>>> * `rcs_diff` already exists; why add `rcs_showpatch`?
+>>> *