it might return the current revision ID of the file, and use that
information later when merging changes.
-#### `rcs_commit($$$;$$)`
+#### `rcs_commit($$$;$$$)`
-Passed a file, message, token (from `rcs_prepedit`), user, and ip address.
+Passed a file, message, token (from `rcs_prepedit`), user, ip address,
+and optionally the username component of the committer's email address.
Should try to commit the file. Returns `undef` on *success* and a version
of the page with the rcs's conflict markers on failure.
-#### `rcs_commit_staged($$$)`
+#### `rcs_commit_staged($$$;$)`
-Passed a message, user, and ip address. Should commit all staged changes.
+Passed a message, user, ip address, and optionally the username component of
+the committer's email address. Should commit all staged changes.
Returns undef on success, and an error message on failure.
Changes can be staged by calls to `rcs_add`, `rcs_remove`, and
{
rev => # the RCSs id for this commit
- user => # name of user who made the change,
+ user => # user who made the change (may be an openid),
+ usershort => # short name of user (optional; not an openid),
+
committype => # either "web" or the name of the rcs,
when => # time when the change was made,
message => [