]> git.wh0rd.org - home.git/commitdiff
git-rewrite-authors: use plain shell to speed up
authorMike Frysinger <vapier@gentoo.org>
Thu, 23 Oct 2014 04:05:57 +0000 (00:05 -0400)
committerMike Frysinger <vapier@gentoo.org>
Thu, 23 Oct 2014 04:05:57 +0000 (00:05 -0400)
.bin/git-rewrite-authors

index e5d4b081e1b813c95e94d5370d6efcc437336c8a..e136e59876d54c26796bd02294c868c6f3c2649b 100755 (executable)
@@ -1,6 +1,7 @@
-#!/bin/bash
+#!/bin/sh
 
-tmp=$(mktemp)
+tmp=$(mktemp -t "${0##*/}.XXXXXX")
+trap "rm -rf '${tmp}'" EXIT
 cat << \EOF > ${tmp}
 decode() {
        awk -vid="$1" -vtype="$2" '$1 == id {
@@ -9,18 +10,20 @@ decode() {
                email = a[2];
                print "export GIT_"type"_NAME='\''" name "'\'';"
                print "export GIT_"type"_EMAIL='\''" email "'\'';"
-       }' ${author_file}
+       }' "${author_file}"
 }
 EOF
 
 for x in cvs-authors authors ; do
-       export author_file=${PWD}/.git/$x
-       [ -e ${author_file} ] && break
+       export author_file="${PWD}/.git/${x}"
+       [ -e "${author_file}" ] && break
+       if [ -L "${author_file}" ] ; then
+               echo "error: ${author_file} is a broken link"
+               exit 1
+       fi
 done
 git filter-branch \
        --env-filter ". ${tmp};"' \
                eval `decode "${GIT_AUTHOR_NAME}" AUTHOR`; \
                eval `decode "${GIT_COMMITTER_NAME}" COMMITTER`; \
 ' "$@"
-
-rm -f $tmp