The following patch to cg-export will simlpy create a tarball if the argument ends in .tar.gz, .tar.bz2, or .tar.
Signed-off-by; Joshua T. Corbin <jcorbin@wunjo.org>
Show changes to diff +25 −0
Index: cg-export =================================================================== --- c7eec90959408a71c465b36e728113a2754f99df/cg-export (mode:100755 sha1:94d419de48a12f1ea1059451ac4cd489f7008916) +++ b839b802f91e79ea7b0bb7dcf3e228659bf96a87/cg-export (mode:100755 sha1:29834b2749b0a8d7c71a4c67325e4f5ece9d28a0) @@ -24,8 +24,33 @@ [ -e "$destdir" ] && die "$destdir already exists." +case $destdir in + *.tar*) + tarfile=$destdir + destdir=${destdir%.tar*} + ;; +esac + mkdir -p $destdir || die "cannot create $destdir" export GIT_INDEX_FILE="$destdir/.git-index" read-tree $id checkout-cache "--prefix=$destdir/" -a rm $GIT_INDEX_FILE + +[ -z "$tarfile" ] && exit 0 + +case $tarfile in + *.tar.gz) + tar -cvzf $tarfile $destdir || die "Failed to create $tarfile" + ;; + *.tar.bz2) + tar -cvjf $tarfile $destdir || die "Failed to create $tarfile" + ;; + *.tar) + tar -cvf $tarfile $destdir || die "Failed to create $tarfile" + ;; + *) + die "Don't know how to make a ${tarfile#$destdir} file" + ;; +esac +rm -fr $destdir