aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Rcs
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-09-03 19:53:23 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-09-03 19:53:23 +0000
commit92065444d982a443d3862f9ce5094bd32faffb85 (patch)
tree5eb504ad535f880a1ddaad3c27224d31a2c24d5f /IkiWiki/Rcs
parent22b414ddc0d0e35ad94c60c96a8ac2c8c5e267d5 (diff)
downloadikiwiki-92065444d982a443d3862f9ce5094bd32faffb85.tar
ikiwiki-92065444d982a443d3862f9ce5094bd32faffb85.tar.gz
* Simplify the data structure returned by rcs_recentchanges to avoid
each rcs plugin needing to form complex strings on its own.
Diffstat (limited to 'IkiWiki/Rcs')
-rw-r--r--IkiWiki/Rcs/Stub.pm29
-rw-r--r--IkiWiki/Rcs/git.pm7
-rw-r--r--IkiWiki/Rcs/svn.pm6
3 files changed, 26 insertions, 16 deletions
diff --git a/IkiWiki/Rcs/Stub.pm b/IkiWiki/Rcs/Stub.pm
index ffd9e1865..01696a8b0 100644
--- a/IkiWiki/Rcs/Stub.pm
+++ b/IkiWiki/Rcs/Stub.pm
@@ -32,15 +32,26 @@ sub rcs_add ($) {
}
sub rcs_recentchanges ($) {
- # Examine the RCS history and generate a data structure for
- # the recentchanges page.
- # This structure is a list of items, each item is a hash reference
- # representing one change to the repo.
- # The hash has keys user (a link to the user making the change),
- # committype (web or the name of the rcs), when (when the change
- # happened, relative to the current time), message (a reference
- # to an array of lines for the commit message), and pages (a
- # reference to an array of links to the pages that were changed).
+ # 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 => [
+ # "commit message line",
+ # "commit message line",
+ # "...",
+ # ],
+ # 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 () {
diff --git a/IkiWiki/Rcs/git.pm b/IkiWiki/Rcs/git.pm
index 271c27af6..a156f0b4e 100644
--- a/IkiWiki/Rcs/git.pm
+++ b/IkiWiki/Rcs/git.pm
@@ -345,7 +345,6 @@ sub rcs_recentchanges ($) { #{{{
eval q{use CGI 'escapeHTML'};
eval q{use Date::Parse};
- eval q{use Time::Duration};
my ($sha1, $type, $when, $diffurl, $user, @pages, @message, @rets);
INFO: foreach my $ci (git_commit_info('HEAD', $num)) {
@@ -356,7 +355,7 @@ sub rcs_recentchanges ($) { #{{{
$sha1 = $ci->{'sha1'};
$type = "web";
- $when = concise(ago(time - $ci->{'author_epoch'}));
+ $when = time - $ci->{'author_epoch'};
foreach my $bit (@{ $ci->{'details'} }) {
my $diffurl = $config{'diffurl'};
@@ -368,7 +367,7 @@ sub rcs_recentchanges ($) { #{{{
$diffurl =~ s/\[\[sha1_to\]\]/$bit->{'sha1_to'}/go;
push @pages, {
- link => htmllink("", "", pagename($file), 1),
+ page => pagename($file),
diffurl => $diffurl,
},
}
@@ -386,7 +385,7 @@ sub rcs_recentchanges ($) { #{{{
push @rets, {
rev => $sha1,
- user => htmllink("", "", $user, 1),
+ user => $user,
committype => $type,
when => $when,
message => [@message],
diff --git a/IkiWiki/Rcs/svn.pm b/IkiWiki/Rcs/svn.pm
index 2d203c7ca..9345b7fd2 100644
--- a/IkiWiki/Rcs/svn.pm
+++ b/IkiWiki/Rcs/svn.pm
@@ -153,7 +153,7 @@ sub rcs_recentchanges ($) { #{{{
my $rev = $logentry->{revision};
my $user = $logentry->{author};
- my $when=concise(ago(time - str2time($logentry->{date}, 'UTC')));
+ my $when=time - str2time($logentry->{date}, 'UTC');
foreach my $msgline (split(/\n/, $logentry->{msg})) {
push @message, { line => escapeHTML($msgline) };
@@ -177,12 +177,12 @@ sub rcs_recentchanges ($) { #{{{
$diffurl=~s/\[\[r1\]\]/$rev - 1/eg;
$diffurl=~s/\[\[r2\]\]/$rev/g;
push @pages, {
- link => htmllink("", "", pagename($file), 1),
+ page => pagename($file),
diffurl => $diffurl,
} if length $file;
}
push @ret, { rev => $rev,
- user => htmllink("", "", $user, 1),
+ user => $user,
committype => $committype,
when => $when,
message => [@message],