wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR
authorJunio C Hamano <gitster@pobox.com>
Wed, 3 Mar 2010 00:27:03 +0000 (16:27 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 3 Mar 2010 00:27:03 +0000 (16:27 -0800)
With bash on some platforms (e.g. FreeBSD 8.0), exporting an unset
variable does not "unexport" it.  The called process gets an empty
string from getenv(3) instead of NULL.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
wrap-for-bin.sh

index aece782a85c2fdbc4c2dfe3dcb242ddf56581a22..09feb1f7373367866668f3ac7c121e49bdde8096 100644 (file)
@@ -7,10 +7,15 @@
 # @@BUILD_DIR@@ and @@PROG@@.
 
 GIT_EXEC_PATH='@@BUILD_DIR@@'
-test -z "$NO_SET_GIT_TEMPLATE_DIR" &&
+if test -n "$NO_SET_GIT_TEMPLATE_DIR"
+then
+       unset GIT_TEMPLATE_DIR
+else
        GIT_TEMPLATE_DIR='@@BUILD_DIR@@/templates/blt'
+       export GIT_TEMPLATE_DIR
+fi
 GITPERLLIB='@@BUILD_DIR@@/perl/blib/lib'
 PATH='@@BUILD_DIR@@/bin-wrappers:'"$PATH"
-export GIT_EXEC_PATH GIT_TEMPLATE_DIR GITPERLLIB PATH
+export GIT_EXEC_PATH GITPERLLIB PATH
 
 exec "${GIT_EXEC_PATH}/@@PROG@@" "$@"