update make-release-tarball.sh

latest improvements from https://github.com/meitar/git-archive-all.sh
- support for osx: use gnutar instead of tar to have support for --concatenate
- fix basename 'too many arguments' error when working directory path contains spaces
This commit is contained in:
Felix Ruess
2013-11-18 23:48:35 +01:00
parent affc62ee41
commit d5dd82b6ca
Executable → Regular
+5 -3
View File
@@ -103,6 +103,8 @@ OUT_FILE=$OLD_PWD # assume "this directory" without a name change by default
SEPARATE=0 SEPARATE=0
VERBOSE=0 VERBOSE=0
TARCMD=tar
[[ $(uname) == "Darwin" ]] && TARCMD=gnutar
FORMAT=tar FORMAT=tar
PREFIX= PREFIX=
TREEISH=HEAD TREEISH=HEAD
@@ -177,11 +179,11 @@ fi
if [ $VERBOSE -eq 1 ]; then if [ $VERBOSE -eq 1 ]; then
echo -n "creating superproject archive..." echo -n "creating superproject archive..."
fi fi
git archive --format=$FORMAT --prefix="$PREFIX" $TREEISH > $TMPDIR/$(basename $(pwd)).$FORMAT git archive --format=$FORMAT --prefix="$PREFIX" $TREEISH > $TMPDIR/$(basename "$(pwd)").$FORMAT
if [ $VERBOSE -eq 1 ]; then if [ $VERBOSE -eq 1 ]; then
echo "done" echo "done"
fi fi
echo $TMPDIR/$(basename $(pwd)).$FORMAT >| $TMPFILE # clobber on purpose echo $TMPDIR/$(basename "$(pwd)").$FORMAT >| $TMPFILE # clobber on purpose
superfile=`head -n 1 $TMPFILE` superfile=`head -n 1 $TMPFILE`
if [ $VERBOSE -eq 1 ]; then if [ $VERBOSE -eq 1 ]; then
@@ -227,7 +229,7 @@ fi
if [ $SEPARATE -eq 0 ]; then if [ $SEPARATE -eq 0 ]; then
if [ $FORMAT == 'tar' ]; then if [ $FORMAT == 'tar' ]; then
sed -e '1d' $TMPFILE | while read file; do sed -e '1d' $TMPFILE | while read file; do
tar --concatenate -f "$superfile" "$file" && rm -f "$file" $TARCMD --concatenate -f "$superfile" "$file" && rm -f "$file"
done done
elif [ $FORMAT == 'zip' ]; then elif [ $FORMAT == 'zip' ]; then
sed -e '1d' $TMPFILE | while read file; do sed -e '1d' $TMPFILE | while read file; do