#!/usr/bin/perl # output a list of: # a) files listed in MANIFEST which don't exist # b) files which exist but which aren't in MANIFEST use strict; use warnings; use File::Find; open my $fh, '<', 'MANIFEST' or die "Can't read MANIFEST: $!\n"; my @files = map { (split)[0] } <$fh>; close $fh; for (@files) { print "$_ from MANIFEST doesn't exist\n" if ! -f; } my %files = map { $_ => 1 } @files; find { wanted => sub { my $x = $File::Find::name; $x =~ s/^..//; return if -d; return if $_ eq '.mailmap'; return if $_ eq '.gitignore'; return if $_ eq '.gitattributes'; return if $_ eq '.git_patch'; return if $x =~ /^\.git\b/; return if $x =~ m{^\.github/}; print "$x\t\tnot in MANIFEST\n" if !$files{$x}; }, }, ".";