fix name of wrapper
[ikiwiki.git] / IkiWiki / Setup / Automator.pm
index b7798fcec09c287ae247bc12d6c9923ae8b3971d..8a451d386319d801b8440b50131cddea6bcdba1f 100644 (file)
@@ -9,12 +9,13 @@ use IkiWiki;
 use IkiWiki::UserInfo;
 use Term::ReadLine;
 use File::Path;
+use Encode;
 
 sub ask ($$) {
        my ($question, $default)=@_;
 
        my $r=Term::ReadLine->new("ikiwiki");
-       $r->readline($question." ", $default);
+       $r->readline(encode_utf8($question)." ", $default);
 }
 
 sub prettydir ($) {
@@ -57,6 +58,9 @@ sub import (@) {
                elsif ($config{rcs} eq 'monotone') {
                        $config{mtn_wrapper}=$config{srcdir}."_MTN/ikiwiki-netsync-hook";
                }
+               elsif ($config{rcs} eq 'darcs') {
+                       $config{darcs_wrapper}=$config{repository}."/_darcs/ikiwiki-wrapper";
+               }
                elsif ($config{rcs} eq 'bzr') {
                        # TODO
                }
@@ -109,11 +113,20 @@ sub import (@) {
                next if $admin=~/^http\?:\/\//; # openid
                
                # Prompt for password w/o echo.
+               my ($password, $password2);
                system('stty -echo 2>/dev/null');
                local $|=1;
                print "\n\nCreating wiki admin $admin ...\n";
-               print "Choose a password: ";
-               chomp(my $password=<STDIN>);
+               for (;;) {
+                       print "Choose a password: ";
+                       chomp($password=<STDIN>);
+                       print "Confirm password: ";
+                       chomp($password2=<STDIN>);
+
+                       last if $password2 eq $password;
+
+                       print "Password mismatch.\n\n";
+               }
                print "\n\n\n";
                system('stty sane 2>/dev/null');