use File::Path qw(make_path remove_tree);
use File::Basename;
+use Data::Dumper;
+
BEGIN {
use Exporter ();
our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
sub foreach_patch ($$$$) {
my ($spec, $deleted_ok, $want, $body) = @_;
+print STDERR Dumper(\@_);
# runs $body->($patch, $parsedname, \%meta)
# where $meta{<metadata filename>} is, for <metadata filename> in @$want:
# undefined if metadata file doesn't exist
# which means to look in the corresponding base branch
my @want = @$want;
my $atfront = sub {
- my $thing = @_;
+ my ($thing) = @_;
@want = ($thing, grep { $_ ne $thing } @want);
};
$atfront->(' patch');
my $parsedname;
my $patch = substr($',19); #');
my $wantix = 0;
+print STDERR Dumper(\@want);
foreach my $wantent (@want) {
my $file = $wantent;
my $stripnl = ($file =~ s/_$//);
my $inbase = ($file =~ s/^B_//);
if ($file eq ' patch') {
+print STDERR "has spc patch\n";
if ($spec) {
+print STDERR "hasspec\n";
$parsedname = parse_patch_name($patch);
if (!patch_matches_spec($parsedname, $spec)) {
debug("foreach_patch mismatch");
our %patches;
+use Data::Dumper;
+
foreach_patch($relatedto || $leaves || !$spec ? { } : $spec,
$deleted || $deleted_only,
[qw(B_deps +included)],
sub {
my ($patch,$parsedname,$meta) = @_;
+
+print Dumper($parsedname);
$patches{$patch}{Meta} = $meta;
$patches{$patch}{ParsedName} = $parsedname;
$patches{$patch}{Deps} =
my $v = $patches{$p};
my $pa = $v->{ParsedName};
my ($msgkind, $msg) = git_get_object("$pa->{Ref}:.topbloke/msg");
- die "$p $msgkind ?" unless $msgkind eq 'blob';
+ if ($msgkind ne 'blob') {
+ warn "$p $msgkind ?";
+ next;
+ }
my $subject =
$msg =~ m/^Subject:\s*(?:\[[^][]*\]\s*)?(.*\S)\s*$/mi
? $1 : "[no subject]";