From 06137b95d419fd62a3c8065430fec302c2680454 Mon Sep 17 00:00:00 2001 From: joey Date: Sun, 26 Nov 2006 19:55:46 +0000 Subject: [PATCH] mercurial username setting patch --- IkiWiki/Rcs/mercurial.pm | 12 ++++++++---- t/mercurial.t | 5 +++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/IkiWiki/Rcs/mercurial.pm b/IkiWiki/Rcs/mercurial.pm index 66ff0996a..da2beb7cd 100644 --- a/IkiWiki/Rcs/mercurial.pm +++ b/IkiWiki/Rcs/mercurial.pm @@ -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: $!"; } diff --git a/t/mercurial.t b/t/mercurial.t index fc9ab68a3..c42e328c2 100755 --- a/t/mercurial.t +++ b/t/mercurial.t @@ -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"; -- 2.26.2