]> sipb.mit.edu Git - ikiwiki.git/commitdiff
mercurial username setting patch
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Sun, 26 Nov 2006 19:55:46 +0000 (19:55 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Sun, 26 Nov 2006 19:55:46 +0000 (19:55 +0000)
IkiWiki/Rcs/mercurial.pm
t/mercurial.t

index 66ff0996a619fd482846d43831954143cff1bf71..da2beb7cdd0e30f0df9f902a62d651c36dfcdd69 100644 (file)
@@ -65,19 +65,23 @@ sub rcs_prepedit ($) { #{{{
        return "";
 } #}}}
 
-sub rcs_commit ($$$) { #{{{
+sub rcs_commit ($$$;$$) { #{{{
        my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
 
        if (defined $user) {
-               $message="web commit by $user".(length $message ? ": $message" : "");
+               $user = possibly_foolish_untaint($user);
        }
        elsif (defined $ipaddr) {
-               $message="web commit from $ipaddr".(length $message ? ": $message" : "");
+               $user = "Anonymous from $ipaddr";
+       }
+       else {
+               $user = "Anonymous";
        }
 
        $message = possibly_foolish_untaint($message);
 
-       my @cmdline = ("hg", "-R", "$config{srcdir}", "commit", "-m", "$message");
+       my @cmdline = ("hg", "-R", "$config{srcdir}", "commit", 
+                      "-m", "$message", "-u", "$user");
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
index fc9ab68a34b8f5578effb284279c8753476e1d9d..c42e328c283bf10936766b9762d958ec6c3023e7 100755 (executable)
@@ -12,7 +12,7 @@ BEGIN {
                }
        }
 }
-use Test::More tests => 9;
+use Test::More tests => 10;
 
 BEGIN { use_ok("IkiWiki"); }
 
@@ -27,7 +27,7 @@ system "hg init $config{srcdir}";
 my $test1 = readfile("t/test1.mdwn");
 writefile('test1.mdwn', $config{srcdir}, $test1);
 IkiWiki::rcs_add("test1.mdwn");
-IkiWiki::rcs_commit("test1.mdwn", "Added the first page", "moo");
+IkiWiki::rcs_commit("test1.mdwn", "Added the first page", "moo", "Joe User");
 
 my @changes;
 @changes = IkiWiki::rcs_recentchanges(3);
@@ -35,6 +35,7 @@ my @changes;
 is($#changes, 0);
 is($changes[0]{message}[0]{"line"}, "Added the first page");
 is($changes[0]{pages}[0]{"page"}, "test1.mdwn");
+is($changes[0]{user}, "Joe User");
        
 # Manual commit
 my $username = "Foo Bar";