Add force_overwrite setting to make setup automator overwrite existing files/directories.
authorJoey Hess <joey@gnu.kitenet.net>
Sat, 27 Feb 2010 21:26:13 +0000 (16:26 -0500)
committerJoey Hess <joey@gnu.kitenet.net>
Sat, 27 Feb 2010 21:26:18 +0000 (16:26 -0500)
This can be useful if you're driving the setup automator from another
program.

IkiWiki/Setup/Automator.pm
debian/changelog

index 9fee4dcb754e9a345d7426c38eab77a65c1d61c2..79a610e20e1d50905e0a76e73bf13b080d3c7c3e 100644 (file)
@@ -40,17 +40,19 @@ sub import (@) {
        my $this=shift;
        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
index 1960a1226fba798fdc62a67df87625e0abdfff24..bdbd818e1c7212ee0c988944cc48835d878ee795 100644 (file)
@@ -4,6 +4,8 @@ ikiwiki (3.20100213) UNRELEASED; urgency=low
   * Rebuild wikis on upgrade to this version to get the comment counts
     added to existing pages.
   * Loosen regexp, to allow empty quoted parameters in directives.
+  * Add force_overwrite setting to make setup automator overwrite existing
+    files/directories.
 
  -- Joey Hess <joeyh@debian.org>  Sun, 14 Feb 2010 17:02:10 -0500