# HG changeset patch # User William Roberts # Date 1282919923 -3600 # Node ID a265a2da5fcb2ec47667e1af48eb20153dc48978 # Parent c62bd4f9dbce33aa80a321f316c3fffddf76bb3e Fix handling of directories of builds diff -r c62bd4f9dbce -r a265a2da5fcb williamr/delete_builds.pl --- a/williamr/delete_builds.pl Fri Aug 27 15:27:06 2010 +0100 +++ b/williamr/delete_builds.pl Fri Aug 27 15:38:43 2010 +0100 @@ -53,10 +53,29 @@ } if (!-d "$dir/output") { - print "Ignoring $dir - not a build\n"; - next; + # not a build - perhaps a directory of builds? + opendir DIR, $dir; + my @files = grep !/^\.\.?$/, readdir DIR; + closedir DIR; + + my @subbuilds = (); + foreach my $file (@files) + { + next if (!-d "$dir/$file"); + next if (!-d "$dir/$file/output"); + push @subbuilds, "$dir/$file"; + } + if (scalar @subbuilds == 0) + { + print "Ignoring $dir - not a build and contains no builds\n"; + next; + } + push @builds, @subbuilds; } - push @builds, $dir; + else + { + push @builds, $dir; + } } foreach my $subdir (@rich_pickings) @@ -74,6 +93,6 @@ foreach my $build (@builds) { $build =~ s/\//\\/g; - print "* rmdir /s/q $build"; + print "* rmdir /s/q $build\n"; system("rmdir","/s/q",$build); }