X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f5a5df14b7daeb032137c293c4db288e84429dfa..60bacd9db2d8ebc8a8778f7fcb93806a36085b05:/IkiWiki/Rcs/Stub.pm?ds=sidebyside

diff --git a/IkiWiki/Rcs/Stub.pm b/IkiWiki/Rcs/Stub.pm
index d3b72b5ea..03757758a 100644
--- a/IkiWiki/Rcs/Stub.pm
+++ b/IkiWiki/Rcs/Stub.pm
@@ -1,26 +1,69 @@
-#!/usr/bin/perl -T
+#!/usr/bin/perl
 # Stubs for no revision control.
 
 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.
 }
 
 sub rcs_recentchanges ($) {
+	# Examine the RCS history and generate a list of recent changes.
+	# The data structure returned for each change is:
+	# {
+	# 	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 () {
+	# This function is called when a change is committed to the wiki,
+	# and ikiwiki is running as a post-commit hook from the RCS.
+	# It should examine the repository to somehow determine what pages
+	# changed, and then send emails to users subscribed to those pages.
+}
+
+sub rcs_getctime ($) {
+	# Optional, used to get the page creation time from the RCS.
+	error gettext("getctime not implemented");
 }
 
 1