X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/cb0c642aed71ec8af797e8c59c61f6ea882cf541..1d1767192c80548755655cfe1ce8e503b392c7c1:/IkiWiki/Rcs/mercurial.pm?ds=sidebyside diff --git a/IkiWiki/Rcs/mercurial.pm b/IkiWiki/Rcs/mercurial.pm index e4cc6deb3..bfe6ba49c 100644 --- a/IkiWiki/Rcs/mercurial.pm +++ b/IkiWiki/Rcs/mercurial.pm @@ -1,13 +1,13 @@ #!/usr/bin/perl +package IkiWiki; + use warnings; use strict; use IkiWiki; use Encode; use open qw{:utf8 :std}; -package IkiWiki; - sub mercurial_log($) { my $out = shift; my @infos; @@ -72,16 +72,19 @@ sub rcs_commit ($$$;$$) { #{{{ $user = possibly_foolish_untaint($user); } elsif (defined $ipaddr) { - $user = "Anonymous from $ipaddr"; + $user = "Anonymous from ".possibly_foolish_untaint($ipaddr); } else { $user = "Anonymous"; } $message = possibly_foolish_untaint($message); + if (! length $message) { + $message = "no message given"; + } - my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "commit", - "-m", "$message", "-u", "$user"); + my @cmdline = ("hg", "-q", "-R", $config{srcdir}, "commit", + "-m", $message, "-u", $user); if (system(@cmdline) != 0) { warn "'@cmdline' failed: $!"; } @@ -92,7 +95,7 @@ sub rcs_commit ($$$;$$) { #{{{ sub rcs_add ($) { # {{{ my ($file) = @_; - my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "add", "$file"); + my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "add", "$config{srcdir}/$file"); if (system(@cmdline) != 0) { warn "'@cmdline' failed: $!"; } @@ -101,10 +104,8 @@ sub rcs_add ($) { # {{{ sub rcs_recentchanges ($) { #{{{ my ($num) = @_; - eval q{use CGI 'escapeHTML'}; - error($@) if $@; - - my @cmdline = ("hg", "-R", $config{srcdir}, "log", "-v", "-l", $num); + my @cmdline = ("hg", "-R", $config{srcdir}, "log", "-v", "-l", $num, + "--style", "default"); open (my $out, "@cmdline |"); eval q{use Date::Parse}; @@ -138,7 +139,7 @@ sub rcs_recentchanges ($) { #{{{ rev => $info->{"changeset"}, user => $user, committype => "mercurial", - when => time - str2time($info->{"date"}), + when => str2time($info->{"date"}), message => [@message], pages => [@pages], }; @@ -147,7 +148,7 @@ sub rcs_recentchanges ($) { #{{{ return @ret; } #}}} -sub rcs_notify () { #{{{ +sub rcs_diff ($) { #{{{ # TODO } #}}} @@ -156,7 +157,8 @@ sub rcs_getctime ($) { #{{{ # XXX filename passes through the shell here, should try to avoid # that just in case - my @cmdline = ("hg", "-R", $config{srcdir}, "log", "-v", "-l", '1', $file); + my @cmdline = ("hg", "-R", $config{srcdir}, "log", "-v", "-l", '1', + "--style", "default", "$config{srcdir}/$file"); open (my $out, "@cmdline |"); my @log = mercurial_log($out);