aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorAmitai Schlair <schmonz-web-ikiwiki@schmonz.com>2012-01-22 10:31:49 -0500
committerAmitai Schlair <schmonz-web-ikiwiki@schmonz.com>2012-01-22 10:44:50 -0500
commit8e99750545596e44e49b665268f861b1272422ed (patch)
treee5d34f907629e052846fbcccef9732874fefcd9a /IkiWiki/Plugin
parentea04eb410289f9a3919e25d280079d5cfb35d3f0 (diff)
downloadikiwiki-8e99750545596e44e49b665268f861b1272422ed.tar
ikiwiki-8e99750545596e44e49b665268f861b1272422ed.tar.gz
No functional change: sort sub definitions.
In the code: * general plugin API calls (in plugins/write order), * VCS plugin API calls (in plugins/write order), then * internal support routines (in alphabetical order). In the tests: * general meta-behavior (in no particular order, yet), * general plugin API calls (in plugins/write order), * VCS plugin API calls (in plugins/write order), then * internal support routines (in semi-logical order).
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/cvs.pm124
1 files changed, 67 insertions, 57 deletions
diff --git a/IkiWiki/Plugin/cvs.pm b/IkiWiki/Plugin/cvs.pm
index 71566d212..97a568c0e 100644
--- a/IkiWiki/Plugin/cvs.pm
+++ b/IkiWiki/Plugin/cvs.pm
@@ -35,10 +35,14 @@ use IkiWiki;
use File::chdir;
+
+# GENERAL PLUGIN API CALLS
+
sub import {
- hook(type => "genwrapper", id => "cvs", call => \&genwrapper);
hook(type => "checkconfig", id => "cvs", call => \&checkconfig);
hook(type => "getsetup", id => "cvs", call => \&getsetup);
+ hook(type => "genwrapper", id => "cvs", call => \&genwrapper);
+
hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
hook(type => "rcs", id => "rcs_prepedit", call => \&rcs_prepedit);
hook(type => "rcs", id => "rcs_commit", call => \&rcs_commit);
@@ -52,17 +56,6 @@ sub import {
hook(type => "rcs", id => "rcs_getmtime", call => \&rcs_getmtime);
}
-sub genwrapper () {
- return <<EOF;
- {
- int j;
- for (j = 1; j < argc; j++)
- if (strstr(argv[j], "New directory") != NULL)
- exit(0);
- }
-EOF
-}
-
sub checkconfig () {
if (! defined $config{cvspath}) {
$config{cvspath}="ikiwiki";
@@ -132,36 +125,19 @@ sub getsetup () {
},
}
-sub cvs_info ($$) {
- my $field=shift;
- my $file=shift;
-
- local $CWD = $config{srcdir};
-
- my $info=`cvs status $file`;
- my ($ret)=$info=~/^\s*$field:\s*(\S+)/m;
- return $ret;
+sub genwrapper () {
+ return <<EOF;
+ {
+ int j;
+ for (j = 1; j < argc; j++)
+ if (strstr(argv[j], "New directory") != NULL)
+ exit(0);
+ }
+EOF
}
-sub cvs_runcvs(@) {
- my @cmd = @_;
- unshift @cmd, 'cvs', '-Q';
-
- local $CWD = $config{srcdir};
-
- open(my $savedout, ">&STDOUT");
- open(STDOUT, ">", "/dev/null");
- my $ret = system(@cmd);
- open(STDOUT, ">&", $savedout);
-
- return ($ret == 0) ? 1 : 0;
-}
-sub cvs_is_controlling {
- my $dir=shift;
- $dir=$config{srcdir} unless defined($dir);
- return (-d "$dir/CVS") ? 1 : 0;
-}
+# VCS PLUGIN API CALLS
sub rcs_update () {
return unless cvs_is_controlling;
@@ -183,24 +159,6 @@ sub rcs_prepedit ($) {
return defined $rev ? $rev : "";
}
-sub commitmessage (@) {
- my %params=@_;
-
- if (defined $params{session}) {
- if (defined $params{session}->param("name")) {
- return "web commit by ".
- $params{session}->param("name").
- (length $params{message} ? ": $params{message}" : "");
- }
- elsif (defined $params{session}->remote_addr()) {
- return "web commit from ".
- $params{session}->remote_addr().
- (length $params{message} ? ": $params{message}" : "");
- }
- }
- return $params{message};
-}
-
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.
@@ -493,4 +451,56 @@ sub rcs_getmtime ($) {
error "rcs_getmtime is not implemented for cvs\n"; # TODO
}
+
+# INTERNAL SUPPORT ROUTINES
+
+sub commitmessage (@) {
+ my %params=@_;
+
+ if (defined $params{session}) {
+ if (defined $params{session}->param("name")) {
+ return "web commit by ".
+ $params{session}->param("name").
+ (length $params{message} ? ": $params{message}" : "");
+ }
+ elsif (defined $params{session}->remote_addr()) {
+ return "web commit from ".
+ $params{session}->remote_addr().
+ (length $params{message} ? ": $params{message}" : "");
+ }
+ }
+ return $params{message};
+}
+
+sub cvs_info ($$) {
+ my $field=shift;
+ my $file=shift;
+
+ local $CWD = $config{srcdir};
+
+ my $info=`cvs status $file`;
+ my ($ret)=$info=~/^\s*$field:\s*(\S+)/m;
+ return $ret;
+}
+
+sub cvs_is_controlling {
+ my $dir=shift;
+ $dir=$config{srcdir} unless defined($dir);
+ return (-d "$dir/CVS") ? 1 : 0;
+}
+
+sub cvs_runcvs(@) {
+ my @cmd = @_;
+ unshift @cmd, 'cvs', '-Q';
+
+ local $CWD = $config{srcdir};
+
+ open(my $savedout, ">&STDOUT");
+ open(STDOUT, ">", "/dev/null");
+ my $ret = system(@cmd);
+ open(STDOUT, ">&", $savedout);
+
+ return ($ret == 0) ? 1 : 0;
+}
+
1