* Patch from Thomas Schwinge to switch from --svn to --rcs=svn, etc,
to pave the way for adding other RCS support. This also changes the setup files, where before they had svn => 1 or svn => 0, now they have rcs => "svn" or rcs => "". * Add a debian/NEWS file with upgrade notes. * Load whatever rcs module is specified, so new ones can be just dropped in as plugins and work. * Add some basic docs about writing RCS modules.master
parent
47cec07e44
commit
12422e9890
|
@ -23,13 +23,14 @@ sub checkconfig () { #{{{
|
||||||
$config{wikistatedir}="$config{srcdir}/.ikiwiki"
|
$config{wikistatedir}="$config{srcdir}/.ikiwiki"
|
||||||
unless exists $config{wikistatedir};
|
unless exists $config{wikistatedir};
|
||||||
|
|
||||||
if ($config{svn}) {
|
if ($config{rcs}) {
|
||||||
require IkiWiki::Rcs::SVN;
|
eval qq{require IkiWiki::Rcs::$config{rcs}};
|
||||||
$config{rcs}=1;
|
if ($@) {
|
||||||
|
error("Failed to load RCS module IkiWiki::Rcs::$config{rcs}: $@");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
require IkiWiki::Rcs::Stub;
|
require IkiWiki::Rcs::Stub;
|
||||||
$config{rcs}=0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach my $plugin (@{$config{plugin}}) {
|
foreach my $plugin (@{$config{plugin}}) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ sub gen_wrapper () { #{{{
|
||||||
asprintf(&newenviron[i++], "%s=%s", "$var", s);
|
asprintf(&newenviron[i++], "%s=%s", "$var", s);
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
if ($config{svn} && $config{notify}) {
|
if ($config{rcs} eq "svn" && $config{notify}) {
|
||||||
# Support running directly as hooks/post-commit by passing
|
# Support running directly as hooks/post-commit by passing
|
||||||
# $2 in REV in the environment.
|
# $2 in REV in the environment.
|
||||||
$envsave.=<<"EOF"
|
$envsave.=<<"EOF"
|
||||||
|
|
|
@ -13,7 +13,7 @@ pure_install:: extra_install
|
||||||
|
|
||||||
extra_build:
|
extra_build:
|
||||||
./ikiwiki doc html --templatedir=templates --underlaydir=basewiki \
|
./ikiwiki doc html --templatedir=templates --underlaydir=basewiki \
|
||||||
--wikiname="ikiwiki" --verbose --nosvn \
|
--wikiname="ikiwiki" --verbose --no-rcs \
|
||||||
--exclude=/discussion --plugin=brokenlinks \
|
--exclude=/discussion --plugin=brokenlinks \
|
||||||
--plugin=pagecount --plugin=orphans
|
--plugin=pagecount --plugin=orphans
|
||||||
./mdwn2man doc/usage.mdwn > ikiwiki.man
|
./mdwn2man doc/usage.mdwn > ikiwiki.man
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
ikiwiki (1.1) unstable; urgency=low
|
||||||
|
|
||||||
|
The --svn and --no-svn switches are removed, instead you should use
|
||||||
|
--rcs=svn or --no-rcs. ikiwiki setup files that set svn => 1 should
|
||||||
|
be changed to set rcs => "svn"; if your setup file sets svn => 0
|
||||||
|
then change it to use rcs => "" to disable svn.
|
||||||
|
|
||||||
|
You will need to rebuild your wiki when upgrading to this version.
|
||||||
|
If you listed your wiki in /etc/ikiwiki/wikilist this will be done
|
||||||
|
automatically.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@debian.org> Tue, 2 May 2006 14:13:59 -0400
|
|
@ -28,8 +28,16 @@ ikiwiki (1.1) UNRELEASED; urgency=low
|
||||||
it, this will allow for adding a unit test suite.
|
it, this will allow for adding a unit test suite.
|
||||||
* Add a unit test for globlist_match().
|
* Add a unit test for globlist_match().
|
||||||
* Smart globlist merging.
|
* Smart globlist merging.
|
||||||
|
* Patch from Thomas Schwinge to switch from --svn to --rcs=svn, etc,
|
||||||
|
to pave the way for adding other RCS support. This also changes the
|
||||||
|
setup files, where before they had svn => 1 or svn => 0, now they have
|
||||||
|
rcs => "svn" or rcs => "".
|
||||||
|
* Add a debian/NEWS file with upgrade notes.
|
||||||
|
* Load whatever rcs module is specified, so new ones can be just dropped in
|
||||||
|
as plugins and work.
|
||||||
|
* Add some basic docs about writing RCS modules.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Tue, 2 May 2006 10:56:33 -0400
|
-- Joey Hess <joeyh@debian.org> Tue, 2 May 2006 14:13:59 -0400
|
||||||
|
|
||||||
ikiwiki (1.0) unstable; urgency=low
|
ikiwiki (1.0) unstable; urgency=low
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,8 @@ use IkiWiki::Setup::Standard {
|
||||||
#diffurl => "http://svn.someurl/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]",
|
#diffurl => "http://svn.someurl/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]",
|
||||||
#templatedir => "/usr/share/ikiwiki/templates",
|
#templatedir => "/usr/share/ikiwiki/templates",
|
||||||
|
|
||||||
# Whether to integrate with svn.
|
#rcs => "", # don't use svn
|
||||||
svn => 1,
|
rcs => "svn", # use svn (the default)
|
||||||
svnrepo => "/svn/wiki",
|
svnrepo => "/svn/wiki",
|
||||||
svnpath => "trunk",
|
svnpath => "trunk",
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
Plugins can be used to add additional features to ikiwiki. It's possible to
|
Plugins can be used to add additional features to ikiwiki. Ikiwiki's
|
||||||
[[write]] your own plugins, or you can install and use plugins contributed by
|
backend RCS support is also pluggable, so support for new revision control
|
||||||
others.
|
systems can be added to ikiwiki. It's possible to [[write]] your own plugins,
|
||||||
|
or you can install and use plugins contributed by others.
|
||||||
|
|
||||||
The ikiiki package includes some standard plugins that are installed and
|
The ikiiki package includes some standard plugins that are installed and
|
||||||
by default. These include [[inline]], [[pagecount]], and [[brokenlinks]].
|
by default. These include [[inline]], [[pagecount]], and [[brokenlinks]].
|
||||||
Of these, [[inline]] is enabled by default.
|
Of these, [[inline]] is enabled by default.
|
||||||
|
|
||||||
To enable other plugins, use the `--plugin` switch described in [[usage]], or the equivilant line in
|
To enable other plugins, use the `--plugin` switch described in [[usage]],
|
||||||
[[ikiwiki.setup]].
|
or the equivalent line in [[ikiwiki.setup]].
|
||||||
|
|
||||||
## Plugin directory
|
## Plugin directory
|
||||||
|
|
||||||
|
@ -23,4 +24,4 @@ for a list of the directories in that path. All plugins are in the
|
||||||
IkiWiki::Plugin namespace, so they go in a IkiWiki/Plugin subdirectory
|
IkiWiki::Plugin namespace, so they go in a IkiWiki/Plugin subdirectory
|
||||||
inside the perl search path. For example, if your perl looks in
|
inside the perl search path. For example, if your perl looks in
|
||||||
`/usr/local/lib/site_perl` for modules, you can locally install ikiwiki
|
`/usr/local/lib/site_perl` for modules, you can locally install ikiwiki
|
||||||
plugins to `/usr/local/lib/site_perl/IkiWiki/Plugin`
|
plugins to `/usr/local/lib/site_perl/IkiWiki/Plugin`
|
||||||
|
|
|
@ -71,3 +71,13 @@ use the following hashes, using a page name as the key:
|
||||||
Many plugins will need to add dependencies to this hash; the best way to do
|
Many plugins will need to add dependencies to this hash; the best way to do
|
||||||
it is by using the IkiWiki::add_depends function, which takes as its
|
it is by using the IkiWiki::add_depends function, which takes as its
|
||||||
parameters the page name and a [[GlobList]] of dependencies to add.
|
parameters the page name and a [[GlobList]] of dependencies to add.
|
||||||
|
|
||||||
|
## RCS plugins
|
||||||
|
|
||||||
|
ikiwiki's support for revision control systems also uses pluggable perl
|
||||||
|
modules. These are in the `IkiWiki::RCS` namespace, for example
|
||||||
|
`IkiWiki::RCS::svn`.
|
||||||
|
|
||||||
|
Each RCS plugin must support all the IkiWiki::rcs_* functions.
|
||||||
|
See IkiWiki::RCS::Stub for the full list of functions. It's ok if
|
||||||
|
rcs_getctime does nothing except for throwing an error.
|
||||||
|
|
|
@ -90,17 +90,18 @@ These options configure the wiki.
|
||||||
Enable email notification of commits. This should be used when running
|
Enable email notification of commits. This should be used when running
|
||||||
ikiwiki as a [[Subversion]] [[post-commit]] hook.
|
ikiwiki as a [[Subversion]] [[post-commit]] hook.
|
||||||
|
|
||||||
* --svn, --nosvn
|
* --rcs=svn, --no-rcs
|
||||||
|
|
||||||
Enable or disable use of [[subversion]]. If subversion is enabled, the
|
Enable or disable use of a revision control system.
|
||||||
`source` directory is assumed to be a working copy, and is automatically
|
|
||||||
updated before building the wiki.
|
|
||||||
|
|
||||||
In [[CGI]] mode, with subversion enabled pages edited via the web will be
|
If you use svn ([[Subversion]]), the `source` directory is assumed to be
|
||||||
committed to subversion. Also, the [[RecentChanges]] link will be placed
|
a working copy, and is automatically updated before building the wiki.
|
||||||
|
|
||||||
|
In [[CGI]] mode, with a revision control system enabled pages edited via
|
||||||
|
the web will be committed. Also, the [[RecentChanges]] link will be placed
|
||||||
on pages.
|
on pages.
|
||||||
|
|
||||||
Subversion is enabled by default.
|
svn is enabled by default.
|
||||||
|
|
||||||
* --svnrepo /svn/wiki
|
* --svnrepo /svn/wiki
|
||||||
|
|
||||||
|
|
7
ikiwiki
7
ikiwiki
|
@ -22,7 +22,7 @@ sub getconfig () { #{{{
|
||||||
wikiname => "wiki",
|
wikiname => "wiki",
|
||||||
default_pageext => ".mdwn",
|
default_pageext => ".mdwn",
|
||||||
cgi => 0,
|
cgi => 0,
|
||||||
svn => 1,
|
rcs => 'svn',
|
||||||
notify => 0,
|
notify => 0,
|
||||||
url => '',
|
url => '',
|
||||||
cgiurl => '',
|
cgiurl => '',
|
||||||
|
@ -58,7 +58,8 @@ sub getconfig () { #{{{
|
||||||
"refresh!" => \$config{refresh},
|
"refresh!" => \$config{refresh},
|
||||||
"getctime" => \$config{getctime},
|
"getctime" => \$config{getctime},
|
||||||
"wrappermode=i" => \$config{wrappermode},
|
"wrappermode=i" => \$config{wrappermode},
|
||||||
"svn!" => \$config{svn},
|
"rcs=s" => \$config{rcs},
|
||||||
|
"no-rcs" => sub { $config{rcs}="" },
|
||||||
"anonok!" => \$config{anonok},
|
"anonok!" => \$config{anonok},
|
||||||
"hyperestraier" => \$config{hyperestraier},
|
"hyperestraier" => \$config{hyperestraier},
|
||||||
"rss!" => \$config{rss},
|
"rss!" => \$config{rss},
|
||||||
|
@ -71,6 +72,8 @@ sub getconfig () { #{{{
|
||||||
"diffurl=s" => \$config{diffurl},
|
"diffurl=s" => \$config{diffurl},
|
||||||
"svnrepo" => \$config{svnrepo},
|
"svnrepo" => \$config{svnrepo},
|
||||||
"svnpath" => \$config{svnpath},
|
"svnpath" => \$config{svnpath},
|
||||||
|
"rcs=s" => \$config{rcs},
|
||||||
|
"no-rcs" => sub { $config{rcs}="" },
|
||||||
"adminemail=s" => \$config{adminemail},
|
"adminemail=s" => \$config{adminemail},
|
||||||
"exclude=s@" => sub {
|
"exclude=s@" => sub {
|
||||||
$config{wiki_file_prune_regexp}=qr/$config{wiki_file_prune_regexp}|$_[1]/;
|
$config{wiki_file_prune_regexp}=qr/$config{wiki_file_prune_regexp}|$_[1]/;
|
||||||
|
|
Loading…
Reference in New Issue