summaryrefslogtreecommitdiff
path: root/IkiWiki/Setup/Automator.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Setup/Automator.pm')
-rw-r--r--IkiWiki/Setup/Automator.pm35
1 files changed, 23 insertions, 12 deletions
diff --git a/IkiWiki/Setup/Automator.pm b/IkiWiki/Setup/Automator.pm
index 7af93e73c..2dcb424e5 100644
--- a/IkiWiki/Setup/Automator.pm
+++ b/IkiWiki/Setup/Automator.pm
@@ -15,6 +15,7 @@ sub ask ($$) {
my ($question, $default)=@_;
my $r=Term::ReadLine->new("ikiwiki");
+ $r->ornaments("md,me");
$r->readline(encode_utf8($question)." ", $default);
}
@@ -37,19 +38,22 @@ sub sanitize_wikiname ($) {
sub import (@) {
my $this=shift;
+ $config{setuptype}='Standard';
IkiWiki::Setup::merge({@_});
- # Avoid overwriting any existing files.
- foreach my $key (qw{srcdir destdir repository dumpsetup}) {
- next unless exists $config{$key};
- my $add="";
- my $dir=IkiWiki::dirname($config{$key})."/";
- my $base=IkiWiki::basename($config{$key});
- while (-e $dir.$add.$base) {
- $add=1 if ! $add;
- $add++;
+ if (! $config{force_overwrite}) {
+ # Avoid overwriting any existing files.
+ foreach my $key (qw{srcdir destdir repository dumpsetup}) {
+ next unless exists $config{$key};
+ my $add="";
+ my $dir=IkiWiki::dirname($config{$key})."/";
+ my $base=IkiWiki::basename($config{$key});
+ while (-e $dir.$add.$base) {
+ $add=1 if ! $add;
+ $add++;
+ }
+ $config{$key}=$dir.$add.$base;
}
- $config{$key}=$dir.$add.$base;
}
# Set up wrapper
@@ -68,9 +72,15 @@ sub import (@) {
}
elsif ($config{rcs} eq 'bzr') {
# TODO
+ print STDERR "warning: do not know how to set up the bzr_wrapper hook!\n";
}
elsif ($config{rcs} eq 'mercurial') {
# TODO
+ print STDERR "warning: do not know how to set up the mercurial_wrapper hook!\n";
+ }
+ elsif ($config{rcs} eq 'tla') {
+ # TODO
+ print STDERR "warning: do not know how to set up the tla_wrapper hook!\n";
}
elsif ($config{rcs} eq 'cvs') {
$config{cvs_wrapper}=$config{repository}."/CVSROOT/post-commit";
@@ -120,9 +130,10 @@ sub import (@) {
IkiWiki::run_hooks(checkconfig => sub { shift->() });
};
if ($@) {
+ my $err=$@;
print STDERR sprintf(gettext("** Disabling plugin %s, since it is failing with this message:"),
$plugin)."\n";
- print STDERR "$@\n";
+ print STDERR "$err\n";
push @{$bakconfig{disable_plugins}}, $plugin;
}
}
@@ -141,7 +152,7 @@ sub import (@) {
# Create admin user(s).
foreach my $admin (@{$config{adminuser}}) {
- next if $admin=~/^http\?:\/\//; # openid
+ next if defined IkiWiki::openiduser($admin);
# Prompt for password w/o echo.
my ($password, $password2);