App-DiffTarballs
view release on metacpan or search on metacpan
lib/App/DiffTarballs.pm view on Meta::CPAN
},
],
};
sub diff_tarballs {
require Cwd;
require File::Temp;
require ShellQuote::Any::Tiny;
my %args = @_;
return [404, "No such file or directory: $args{tarball1}"]
unless -f $args{tarball1};
return [404, "No such file or directory: $args{tarball2}"]
unless -f $args{tarball2};
my $abs_tarball1 = Cwd::abs_path($args{tarball1});
my $abs_tarball2 = Cwd::abs_path($args{tarball2});
return [404, "No such file or directory: $args{tarball1}"]
unless -f $args{tarball1};
return [404, "No such file or directory: $args{tarball2}"]
unless -f $args{tarball2};
my $dir1 = File::Temp::tempdir(CLEANUP => 1);
my $dir2 = File::Temp::tempdir(CLEANUP => 1);
$CWD = $dir1;
system({log=>1, die=>1}, "tar", "xf", $abs_tarball1);
system({log=>1, die=>1}, "tar", "xf", $abs_tarball2);
return [304, "$args{tarball1} and $args{tarball2} are the same file"]
if $abs_tarball1 eq $abs_tarball2;
( run in 0.767 second using v1.01-cache-2.11-cpan-39bf76dae61 )