X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/13e3bf867157226076fcc14a0d3875fd129a66c7..245126ea49a72c5b021794757f7c172cce4e54f5:/IkiWiki/Rcs/Stub.pm

diff --git a/IkiWiki/Rcs/Stub.pm b/IkiWiki/Rcs/Stub.pm
index 9bbfde352..a460f29a2 100644
--- a/IkiWiki/Rcs/Stub.pm
+++ b/IkiWiki/Rcs/Stub.pm
@@ -3,31 +3,70 @@
 
 use warnings;
 use strict;
+use IkiWiki;
 
 package IkiWiki;
 
 sub rcs_update () {
+	# Update working directory to current version.
+	# (May be more complex for distributed RCS.)
 }
 
 sub rcs_prepedit ($) {
+	# Prepares to edit a file under revision control. Returns a token
+	# that must be passed into rcs_commit when the file is ready
+	# for committing.
+	# The file is relative to the srcdir.
 	return ""
 }
 
-sub rcs_commit ($$$) {
+sub rcs_commit ($$$;$$) {
+	# Tries to commit the page; returns undef on _success_ and
+	# a version of the page with the rcs's conflict markers on failure.
+	# The file is relative to the srcdir.
 	return undef # success
 }
 
 sub rcs_add ($) {
+	# Add a file. The filename is relative to the root of the srcdir.
+	# Note that this should not check the new file in, it should only
+	# prepare for it to be checked in when rcs_commit is called.
 }
 
 sub rcs_recentchanges ($) {
+	# Examine the RCS history and generate a list of recent changes.
+	# The data structure returned for each change is:
+	# {
+	# 	rev => # the RCSs id for this commit
+	# 	user => # name of user who made the change,
+	# 	committype => # either "web" or the name of the rcs,
+	# 	when => # time when the change was made,
+	# 	message => [
+	# 		{ line => "commit message line" },
+	# 		{ line => "commit message line" },
+	# 		# etc,
+	# 	],
+	# 	pages => [
+	# 		{
+	# 			page => # name of page changed,
+	#			diffurl => # optional url to a diff showing 
+	#			           # the changes,
+	# 		},
+	# 		# repeat for each page changed in this commit,
+	# 	],
+	# }
 }
 
-sub rcs_notify () {
+sub rcs_diff ($) {
+	# Optional, used to get diffs for recentchanges.
+	# The parameter is the rev from rcs_recentchanges.
+	# Should return a list of lines of the diff (including \n) in list
+	# context, and the whole diff in scalar context.
 }
 
-sub rcs_getctime () {
-	error "getctime not implemented";
+sub rcs_getctime ($) {
+	# Optional, used to get the page creation time from the RCS.
+	error gettext("getctime not implemented");
 }
 
 1