# [PATCH] import-tars: Add support for tarballs compressed with lzma, xz

3 messages from 2009-10-20 to 2009-10-20. Participants: Ingmar Vanhassel, Johannes Schindelin.
Thread: https://gitlist.dev/t/21292

## Ingmar Vanhassel, 2009-10-20 08:59

Subject: [PATCH] import-tars: Add support for tarballs compressed with lzma, xz
Message-ID: <1256029177-22503-1-git-send-email-ingmar@exherbo.org>
URL: https://gitlist.dev/e/1256029177-22503-1-git-send-email-ingmar%40exherbo.org

```
Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
---
 contrib/fast-import/import-tars.perl |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/contrib/fast-import/import-tars.perl b/contrib/fast-import/import-tars.perl
index 7001862..95438e1 100755
--- a/contrib/fast-import/import-tars.perl
+++ b/contrib/fast-import/import-tars.perl
@@ -20,7 +20,7 @@ use Getopt::Long;
 
 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;
 
 my $branch_name = 'import-tars';
@@ -49,6 +49,9 @@ foreach my $tar_file (@ARGV)
 	} elsif ($tar_name =~ s/\.tar\.Z$//) {
 		open(I, '-|', 'uncompress', '-c', $tar_file)
 			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$//) {
 		open(I, $tar_file) or die "Unable to open $tar_file: $!\n";
 	} else {
-- 
1.6.5.1

```

## Johannes Schindelin, 2009-10-20 09:56

Subject: Re: [PATCH] import-tars: Add support for tarballs compressed with lzma, xz
Message-ID: <alpine.DEB.1.00.0910201155260.4985@pacific.mpi-cbg.de>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0910201155260.4985%40pacific.mpi-cbg.de
In-Reply-To: <1256029177-22503-1-git-send-email-ingmar@exherbo.org>

```
Hi,

On Tue, 20 Oct 2009, Ingmar Vanhassel wrote:

> Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>

Nice!  Maybe you want to mention in the commit message that it handles 
also .txz and .tlz, for convenience.  (I was looking specifically for that 
support in the patch, fully prepared to suggest to add it...)

Ciao,
Dscho

```

## Ingmar Vanhassel, 2009-10-20 10:29

Subject: [PATCH] import-tars: Add support for tarballs compressed with lzma, xz
Message-ID: <1256034572-14228-1-git-send-email-ingmar@exherbo.org>
URL: https://gitlist.dev/e/1256034572-14228-1-git-send-email-ingmar%40exherbo.org
In-Reply-To: <alpine.DEB.1.00.0910201155260.4985@pacific.mpi-cbg.de>

```
Also handle the extensions .tlz and .txz, aliases for .tar.lzma and
.tar.xz respectively.

Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
---
 contrib/fast-import/import-tars.perl |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

> Nice!  Maybe you want to mention in the commit message that it handles
> also .txz and .tlz, for convenience.  (I was looking specifically for that
> support in the patch, fully prepared to suggest to add it...)

Right, thanks!

diff --git a/contrib/fast-import/import-tars.perl b/contrib/fast-import/import-tars.perl
index 7001862..95438e1 100755
--- a/contrib/fast-import/import-tars.perl
+++ b/contrib/fast-import/import-tars.perl
@@ -20,7 +20,7 @@ use Getopt::Long;
 
 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;
 
 my $branch_name = 'import-tars';
@@ -49,6 +49,9 @@ foreach my $tar_file (@ARGV)
 	} elsif ($tar_name =~ s/\.tar\.Z$//) {
 		open(I, '-|', 'uncompress', '-c', $tar_file)
 			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$//) {
 		open(I, $tar_file) or die "Unable to open $tar_file: $!\n";
 	} else {
-- 
1.6.5.1

```
