From df59b3e3cda1350b4efa36555d48f66b980bce1b Mon Sep 17 00:00:00 2001 From: "http://thm.id.fedoraproject.org/" Date: Tue, 16 Dec 2008 06:54:55 -0500 Subject: [PATCH] --- ...operation_canceled:_Broken_pipe__34__.mdwn | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/bugs/bugfix_for:___34__mtn:_operation_canceled:_Broken_pipe__34__.mdwn diff --git a/doc/bugs/bugfix_for:___34__mtn:_operation_canceled:_Broken_pipe__34__.mdwn b/doc/bugs/bugfix_for:___34__mtn:_operation_canceled:_Broken_pipe__34__.mdwn new file mode 100644 index 000000000..fb407a28a --- /dev/null +++ b/doc/bugs/bugfix_for:___34__mtn:_operation_canceled:_Broken_pipe__34__.mdwn @@ -0,0 +1,21 @@ +When using the monotone as revision control system, a "mtn: operation canceled: Broken pipe" message is printed. Reason is that, in a call to mtn, the pipe is closed before mtn has done all its output. This patch fixes the problem. + + diff -up ikiwiki/IkiWiki/Plugin/monotone.pm.orig ikiwiki/IkiWiki/Plugin/monotone.pm + --- ikiwiki/IkiWiki/Plugin/monotone.pm.orig 2008-11-12 23:45:24.000000000 +0100 + +++ ikiwiki/IkiWiki/Plugin/monotone.pm 2008-12-16 12:41:38.000000000 +0100 + @@ -525,13 +525,12 @@ sub rcs_recentchanges ($) { #{{{ + my $child = open(MTNLOG, "-|"); + if (! $child) { + exec("mtn", "log", "--root=$config{mtnrootdir}", "--no-graph", + - "--brief") || error("mtn log failed to run"); + + "--brief", "--last=$num") || error("mtn log failed to run"); + } + + - while (($num >= 0) and (my $line = )) { + + while (my $line = ) { + if ($line =~ m/^($sha1_pattern)/) { + push @revs, $1; + - $num -= 1; + } + } + close MTNLOG || debug("mtn log exited $?"); -- 2.45.0