From: Rene Scharfe Date: Wed, 27 Apr 2005 01:16:25 GMT Subject: Re: [PATCH] make cg-export use tar-tree Message-ID: <426EE7E9.5010108@lsrfire.ath.cx> In-Reply-To: <200504261928.44538.jcorbin@wunjo.org> Joshua T. Corbin schrieb: > Here it is (this time with real tabs instead of two spaces ;) ), requires > Rene's tar-tree patch. Works quite speedily too I might add. Maybe it's just Thunderbird, but I see single spaces instead of tabs there. > + tar=$(mktemp -t cg-export.tar.XXXXXX) > + tar-tree $id "$base" > $tar > + case $ext in > + .tar.gz|.tgz) > + gzip -c9 $tar > $dest > + rm -f $tar > + ;; > + .tar.bz2) > + bzip2 -c $tar > $dest > + rm -f $tar > + ;; > + .tar) > + mv $tar $dest > + ;; > + esac You don't need to create a temporary file using tar-tree. The above can be done like this: case $ext in .tar.gz|.tgz) tar-tree $id "$base" | gzip -9 ;; .tar.bz2) tar-tree $id "$base" | bzip2 ;; .tar) tar-tree $id "$base" ;; esac > $dest This is both shorter and (a bit) faster. More easily readable, too, IMO. Don't fear the pipe. ;-) And I don't think we need to avoid the triplication of tar-tree calls. Thanks, Rene