]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Rcs/mercurial.pm
mercurial username setting patch
[ikiwiki.git] / IkiWiki / Rcs / mercurial.pm
index 82a2fa642646cec3c54ad3be639babeb908ce4fe..da2beb7cdd0e30f0df9f902a62d651c36dfcdd69 100644 (file)
@@ -65,12 +65,23 @@ sub rcs_prepedit ($) { #{{{
        return "";
 } #}}}
 
-sub rcs_commit ($$$) { #{{{
-       my ($file, $message, $rcstoken) = @_;
+sub rcs_commit ($$$;$$) { #{{{
+       my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
+
+       if (defined $user) {
+               $user = possibly_foolish_untaint($user);
+       }
+       elsif (defined $ipaddr) {
+               $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: $!";
        }
@@ -91,6 +102,7 @@ sub rcs_recentchanges ($) { #{{{
        my ($num) = @_;
 
        eval q{use CGI 'escapeHTML'};
+       error($@) if $@;
 
        my @cmdline = ("hg", "-R", $config{srcdir}, "log", "-v", "-l", $num);
        open (my $out, "@cmdline |");