Subject: | Inventory.pm cannpt read patches whose description contains a [ at the beginning of a line |
Darcs::Inventory::read cannot parse patches whose description contains a
'[' character at the beginning of a line, even if there is whitespace.
The following patch (from darcs changes will break read():
Thu Feb 18 18:26:09 EST 2010 roland.haas@physics.gatech.edu
* MakeKrancWithAlts: fix condition for delayGREvolutiontoTime in boundary
[bugfix] in the boundary routine the condition has to be inverted
wrt to interior routine
since read() assumes that any '[', even it is is not in the first
column, starts a new patch. To fix this one can to change
$patch = '' if s/^\b*\[//;
to
$patch = '' if s/^\[//;
in line 16 of Inventory.pm (see attached patch) which should be ok since
at least in my inventory new patches always start with a '[' in column 1.
Distribution name and version: Darcs-Inventory-1.4
Perl version: v5.8.8 built for x86_64-linux-thread-multi
OS: Linux 2.6.18-164.11.1.el5 #1 SMP Wed Jan 6 13:26:04 EST 2010 x86_64
x86_64 x86_64 GNU/Linux
Subject: | inventory.patch |
--- Darcs-Inventory-1.4/lib/Darcs/Inventory.pm 2009-01-24 16:39:29.000000000 -0500
+++ /nethome/rhaas3/lib/perl5/Darcs/Inventory.pm 2010-03-12 07:29:44.000000000 -0500
@@ -13,7 +13,7 @@
next if /^pristine:$/ && !defined $patch;
$patch[-1] .= "\n$1" if /^(hash: .*)$/ && !defined $patch;
(push(@patch, $patch . ($1||"")), undef $patch) if s/^(.*\*[-*]\d{14})?\]//;
- $patch = '' if s/^\s*\[//;
+ $patch = '' if s/^\[//;
$patch .= $_ if defined $patch;
}
close INV;