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
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 $key = $file;
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");
}
my $objkey = (!$inbase ? "$objname" :
- "refs/topbloke-bases/$patch").":.topbloke/$file";
+ "$baserefs/$patch").":.topbloke/$file";
my ($got, $data) = git_get_object($objkey);
if ($got eq 'missing') {
- $meta{$file} = undef;
+ $meta{$key} = undef;
} elsif ($got eq 'blob') {
- $meta{$file} = $data;
+ $meta{$key} = $data;
if ($file eq 'deleted' && !$deleted_ok) {
debug("foreach_patch Deleted");
return;
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} =