with various funky
+ # whitespace.
+ my ($indent)=$params{text}=~/( +)$/;
+ $indent="" unless defined $indent;
+ return "
\n\n$params{text}\n$indent
";
} # }}}
sub format (@) { #{{{
diff --git a/IkiWiki/Rcs/Stub.pm b/IkiWiki/Rcs/Stub.pm
index e408d5ac3..087f2508c 100644
--- a/IkiWiki/Rcs/Stub.pm
+++ b/IkiWiki/Rcs/Stub.pm
@@ -20,7 +20,7 @@ sub rcs_prepedit ($) {
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.
diff --git a/IkiWiki/Rcs/git.pm b/IkiWiki/Rcs/git.pm
index 46adf1657..05eaa8d78 100644
--- a/IkiWiki/Rcs/git.pm
+++ b/IkiWiki/Rcs/git.pm
@@ -294,12 +294,19 @@ sub rcs_prepedit ($) { #{{{
return git_sha1($file);
} #}}}
-sub rcs_commit ($$$) { #{{{
+sub rcs_commit ($$$;$$) { #{{{
# Try to commit the page; returns undef on _success_ and
# a version of the page with the rcs's conflict markers on
# failure.
- my ($file, $message, $rcstoken) = @_;
+ my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
+
+ if (defined $user) {
+ $message="web commit by $user".(length $message ? ": $message" : "");
+ }
+ elsif (defined $ipaddr) {
+ $message="web commit from $ipaddr".(length $message ? ": $message" : "");
+ }
# XXX: Wiki directory is in the unlocked state when starting this
# action. But it takes time for a Git process to finish its job
diff --git a/IkiWiki/Rcs/mercurial.pm b/IkiWiki/Rcs/mercurial.pm
index 36972c560..66ff0996a 100644
--- a/IkiWiki/Rcs/mercurial.pm
+++ b/IkiWiki/Rcs/mercurial.pm
@@ -66,7 +66,14 @@ sub rcs_prepedit ($) { #{{{
} #}}}
sub rcs_commit ($$$) { #{{{
- my ($file, $message, $rcstoken) = @_;
+ my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
+
+ if (defined $user) {
+ $message="web commit by $user".(length $message ? ": $message" : "");
+ }
+ elsif (defined $ipaddr) {
+ $message="web commit from $ipaddr".(length $message ? ": $message" : "");
+ }
$message = possibly_foolish_untaint($message);
diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm
index fbf6b2c9e..597295d44 100644
--- a/IkiWiki/Rcs/svn.pm
+++ b/IkiWiki/Rcs/svn.pm
@@ -60,13 +60,22 @@ sub rcs_prepedit ($) { #{{{
}
} #}}}
-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.
my $file=shift;
my $message=shift;
my $rcstoken=shift;
+ my $user=shift;
+ my $ipaddr=shift;
+
+ if (defined $user) {
+ $message="web commit by $user".(length $message ? ": $message" : "");
+ }
+ elsif (defined $ipaddr) {
+ $message="web commit from $ipaddr".(length $message ? ": $message" : "");
+ }
if (-d "$config{srcdir}/.svn") {
# Check to see if the page has been changed by someone
diff --git a/IkiWiki/Rcs/tla.pm b/IkiWiki/Rcs/tla.pm
index be5ec0601..7254eb1a7 100644
--- a/IkiWiki/Rcs/tla.pm
+++ b/IkiWiki/Rcs/tla.pm
@@ -38,10 +38,19 @@ sub rcs_prepedit ($) { #{{{
}
} #}}}
-sub rcs_commit ($$$) { #{{{
+sub rcs_commit ($$$;$$) { #{{{
my $file=shift;
my $message=shift;
my $rcstoken=shift;
+ my $user=shift;
+ my $ipaddr=shift;
+
+ if (defined $user) {
+ $message="web commit by $user".(length $message ? ": $message" : "");
+ }
+ elsif (defined $ipaddr) {
+ $message="web commit from $ipaddr".(length $message ? ": $message" : "");
+ }
if (-d "$config{srcdir}/{arch}") {
# Check to see if the page has been changed by someone
diff --git a/debian/changelog b/debian/changelog
index 02ea0b7b1..7d609b254 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -40,8 +40,11 @@ ikiwiki (1.34) UNRELEASED; urgency=low
* Daemonize before sending commit mails, as that can also take a long
time/hang if the mail server is unhappy.
* Factor out commit mail sending code into new function.
+ * Change rcs_commit, it is now passed the name of the user doing the commit
+ and their IP address, and needs to construct its own commit message
+ containing them, or do something more appropriate for the given RCS.
- -- Joey Hess
Tue, 21 Nov 2006 19:25:14 -0500
+ -- Joey Hess Wed, 22 Nov 2006 09:08:37 -0500
ikiwiki (1.33) unstable; urgency=low
diff --git a/doc/index.mdwn b/doc/index.mdwn
index 479cc4668..22709f88d 100644
--- a/doc/index.mdwn
+++ b/doc/index.mdwn
@@ -18,7 +18,8 @@ Thanks! --[[Joey]]
"""]]
* [[Setup]] has a tutorial for setting up ikiwiki, and [[Usage]] documents
- the parameters and usage of the ikiwiki program.
+ the parameters and usage of the ikiwiki program. There are some
+ [[examples]] of things you can do with ikiwiki.
* [[Security]] lists potential security problems. ikiwiki is still being
developed, and is being written with security as a priority, so don't