* 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"
|
||||
unless exists $config{wikistatedir};
|
||||
|
||||
if ($config{svn}) {
|
||||
require IkiWiki::Rcs::SVN;
|
||||
$config{rcs}=1;
|
||||
if ($config{rcs}) {
|
||||
eval qq{require IkiWiki::Rcs::$config{rcs}};
|
||||
if ($@) {
|
||||
error("Failed to load RCS module IkiWiki::Rcs::$config{rcs}: $@");
|
||||
}
|
||||
}
|
||||
else {
|
||||
require IkiWiki::Rcs::Stub;
|
||||
$config{rcs}=0;
|
||||
}
|
||||
|
||||
foreach my $plugin (@{$config{plugin}}) {
|
||||
|
|
|
@ -36,7 +36,7 @@ sub gen_wrapper () { #{{{
|
|||
asprintf(&newenviron[i++], "%s=%s", "$var", s);
|
||||
EOF
|
||||
}
|
||||
if ($config{svn} && $config{notify}) {
|
||||
if ($config{rcs} eq "svn" && $config{notify}) {
|
||||
# Support running directly as hooks/post-commit by passing
|
||||
# $2 in REV in the environment.
|
||||
$envsave.=<<"EOF"
|
||||
|
|
|
@ -13,7 +13,7 @@ pure_install:: extra_install
|
|||
|
||||
extra_build:
|
||||
./ikiwiki doc html --templatedir=templates --underlaydir=basewiki \
|
||||
--wikiname="ikiwiki" --verbose --nosvn \
|
||||
--wikiname="ikiwiki" --verbose --no-rcs \
|
||||
--exclude=/discussion --plugin=brokenlinks \
|
||||
--plugin=pagecount --plugin=orphans
|
||||
./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.
|
||||
* Add a unit test for globlist_match().
|
||||
* 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
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ use IkiWiki::Setup::Standard {
|
|||
#diffurl => "http://svn.someurl/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]",
|
||||
#templatedir => "/usr/share/ikiwiki/templates",
|
||||
|
||||
# Whether to integrate with svn.
|
||||
svn => 1,
|
||||
#rcs => "", # don't use svn
|
||||
rcs => "svn", # use svn (the default)
|
||||
svnrepo => "/svn/wiki",
|
||||
svnpath => "trunk",
|
||||
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
Plugins can be used to add additional features to ikiwiki. It's possible to
|
||||
[[write]] your own plugins, or you can install and use plugins contributed by
|
||||
others.
|
||||
Plugins can be used to add additional features to ikiwiki. Ikiwiki's
|
||||
backend RCS support is also pluggable, so support for new revision control
|
||||
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
|
||||
by default. These include [[inline]], [[pagecount]], and [[brokenlinks]].
|
||||
Of these, [[inline]] is enabled by default.
|
||||
|
||||
To enable other plugins, use the `--plugin` switch described in [[usage]], or the equivilant line in
|
||||
[[ikiwiki.setup]].
|
||||
To enable other plugins, use the `--plugin` switch described in [[usage]],
|
||||
or the equivalent line in [[ikiwiki.setup]].
|
||||
|
||||
## Plugin directory
|
||||
|
||||
|
|
|
@ -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
|
||||
it is by using the IkiWiki::add_depends function, which takes as its
|
||||
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
|
||||
ikiwiki as a [[Subversion]] [[post-commit]] hook.
|
||||
|
||||
* --svn, --nosvn
|
||||
* --rcs=svn, --no-rcs
|
||||
|
||||
Enable or disable use of [[subversion]]. If subversion is enabled, the
|
||||
`source` directory is assumed to be a working copy, and is automatically
|
||||
updated before building the wiki.
|
||||
Enable or disable use of a revision control system.
|
||||
|
||||
In [[CGI]] mode, with subversion enabled pages edited via the web will be
|
||||
committed to subversion. Also, the [[RecentChanges]] link will be placed
|
||||
If you use svn ([[Subversion]]), the `source` directory is assumed to be
|
||||
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.
|
||||
|
||||
Subversion is enabled by default.
|
||||
svn is enabled by default.
|
||||
|
||||
* --svnrepo /svn/wiki
|
||||
|
||||
|
|
7
ikiwiki
7
ikiwiki
|
@ -22,7 +22,7 @@ sub getconfig () { #{{{
|
|||
wikiname => "wiki",
|
||||
default_pageext => ".mdwn",
|
||||
cgi => 0,
|
||||
svn => 1,
|
||||
rcs => 'svn',
|
||||
notify => 0,
|
||||
url => '',
|
||||
cgiurl => '',
|
||||
|
@ -58,7 +58,8 @@ sub getconfig () { #{{{
|
|||
"refresh!" => \$config{refresh},
|
||||
"getctime" => \$config{getctime},
|
||||
"wrappermode=i" => \$config{wrappermode},
|
||||
"svn!" => \$config{svn},
|
||||
"rcs=s" => \$config{rcs},
|
||||
"no-rcs" => sub { $config{rcs}="" },
|
||||
"anonok!" => \$config{anonok},
|
||||
"hyperestraier" => \$config{hyperestraier},
|
||||
"rss!" => \$config{rss},
|
||||
|
@ -71,6 +72,8 @@ sub getconfig () { #{{{
|
|||
"diffurl=s" => \$config{diffurl},
|
||||
"svnrepo" => \$config{svnrepo},
|
||||
"svnpath" => \$config{svnpath},
|
||||
"rcs=s" => \$config{rcs},
|
||||
"no-rcs" => sub { $config{rcs}="" },
|
||||
"adminemail=s" => \$config{adminemail},
|
||||
"exclude=s@" => sub {
|
||||
$config{wiki_file_prune_regexp}=qr/$config{wiki_file_prune_regexp}|$_[1]/;
|
||||
|
|
Loading…
Reference in New Issue