Package: ikiwiki Version: 3.141 Severity: wishlist Tags: patch Hi Joey,
I have a few projects which are already in Git repositories, so I don't want the Automator to create repositories (via ikiwiki-makerepo). Could it be possible to split the import subroutine to just only dump the generated setup without performing a full setup? The attached patch is a first attempt for this feature. -- roktas
From 9fa79b9cbdb72ae7a1e596bac399965fb1fab879 Mon Sep 17 00:00:00 2001 From: =?utf-8?q?Recai=20Okta=C5=9F?= <[email protected]> Date: Fri, 19 Jun 2009 17:40:19 +0300 Subject: allow automator to just only dump the generated setup without performing a full setup - use 'dump' (instead of 'import'), e.g. IkiWiki::Setup::Automator->dump(...) - dumps to STDOUT if $config{dumpsetup} is not defined --- IkiWiki/Setup.pm | 14 ++++++++++---- IkiWiki/Setup/Automator.pm | 18 ++++++++++++++++-- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/IkiWiki/Setup.pm b/IkiWiki/Setup.pm index 6ee1120..44632f1 100644 --- a/IkiWiki/Setup.pm +++ b/IkiWiki/Setup.pm @@ -108,14 +108,20 @@ sub getsetup () { } sub dump ($) { - my $file=IkiWiki::possibly_foolish_untaint(shift); + my $file=shift; require IkiWiki::Setup::Standard; my @dump=IkiWiki::Setup::Standard::gendump("Setup file for ikiwiki."); - open (OUT, ">", $file) || die "$file: $!"; - print OUT "$_\n" foreach @dump; - close OUT; + if (defined $file) { + $file=IkiWiki::possibly_foolish_untaint($file); + open (OUT, ">", $file) || die "$file: $!"; + print OUT "$_\n" foreach @dump; + close OUT; + } + else { + print "$_\n" foreach @dump; + } } 1 diff --git a/IkiWiki/Setup/Automator.pm b/IkiWiki/Setup/Automator.pm index 742d676..20b9155 100644 --- a/IkiWiki/Setup/Automator.pm +++ b/IkiWiki/Setup/Automator.pm @@ -24,7 +24,7 @@ sub prettydir ($) { return $dir; } -sub import (@) { +sub gensetup (@) { my $this=shift; IkiWiki::Setup::merge({...@_}); @@ -36,7 +36,7 @@ sub import (@) { # Avoid overwriting any existing files. foreach my $key (qw{srcdir destdir repository dumpsetup}) { - next unless exists $config{$key}; + next unless defined $config{$key}; my $add=""; my $dir=IkiWiki::dirname($config{$key})."/"; my $base=IkiWiki::basename($config{$key}); @@ -74,6 +74,20 @@ sub import (@) { } IkiWiki::checkconfig(); +} + +sub dump (@) { + gensetup(@_); + + # Generate setup file. + require IkiWiki::Setup; + IkiWiki::Setup::dump($config{dumpsetup}); + + exit 0; +} + +sub import (@) { + gensetup(@_); print "\n\nSetting up $config{wikiname} ...\n"; -- 1.6.2.4

