import-tars: Add support for tarballs compressed with lzma, xz
Also handle the extensions .tlz and .txz, aliases for .tar.lzma and .tar.xz respectively. Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org> Liked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
78d553b7d7
commit
2a94552887
@ -20,7 +20,7 @@ use Getopt::Long;
|
|||||||
|
|
||||||
my $metaext = '';
|
my $metaext = '';
|
||||||
|
|
||||||
die "usage: import-tars [--metainfo=extension] *.tar.{gz,bz2,Z}\n"
|
die "usage: import-tars [--metainfo=extension] *.tar.{gz,bz2,lzma,xz,Z}\n"
|
||||||
unless GetOptions('metainfo=s' => \$metaext) && @ARGV;
|
unless GetOptions('metainfo=s' => \$metaext) && @ARGV;
|
||||||
|
|
||||||
my $branch_name = 'import-tars';
|
my $branch_name = 'import-tars';
|
||||||
@ -49,6 +49,9 @@ foreach my $tar_file (@ARGV)
|
|||||||
} elsif ($tar_name =~ s/\.tar\.Z$//) {
|
} elsif ($tar_name =~ s/\.tar\.Z$//) {
|
||||||
open(I, '-|', 'uncompress', '-c', $tar_file)
|
open(I, '-|', 'uncompress', '-c', $tar_file)
|
||||||
or die "Unable to uncompress -c $tar_file: $!\n";
|
or die "Unable to uncompress -c $tar_file: $!\n";
|
||||||
|
} elsif ($tar_name =~ s/\.(tar\.(lzma|xz)|(tlz|txz))$//) {
|
||||||
|
open(I, '-|', 'xz', '-dc', $tar_file)
|
||||||
|
or die "Unable to xz -dc $tar_file: $!\n";
|
||||||
} elsif ($tar_name =~ s/\.tar$//) {
|
} elsif ($tar_name =~ s/\.tar$//) {
|
||||||
open(I, $tar_file) or die "Unable to open $tar_file: $!\n";
|
open(I, $tar_file) or die "Unable to open $tar_file: $!\n";
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user