Re: [PATCH v6 2/5] git-remote-mediawiki: new git bin-wrapper for developement
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:56
benoit.person@ensimag.fr writes:
quoted hunk
diff --git a/contrib/mw-to-git/bin-wrapper/git b/contrib/mw-to-git/bin-wrapper/git new file mode 100755 index 0000000..aa714a5 --- /dev/null +++ b/contrib/mw-to-git/bin-wrapper/git@@ -0,0 +1,27 @@ +#!/bin/sh + +# git executable wrapper script for Git-Mediawiki to run tests without +# installing all the scripts and perl packages. + +# based on $GIT_ROOT_DIR/wrap-for-bin.sh
I really do not like the smell of this.
As far as I can tell, the only real reason why you need this and
cannot use ../../bin-wrappers/git directly is because the GITPERLLIB
it gives you only points at ../../perl/blib/lib and not this
directory.
Two possible alternatives:
- Is there a reason you would not want to "install" whatever Perl
modules you want to "use" via GITPERLLIB mechanism to
../../perl/blib/lib? Perhaps it will interfere with the real
installation step in ../../perl/Makefile? If that is the case,
then it is not a good idea, but otherwise, that would let you use
../../bin-wrappers/git as-is.
- Perhaps we could do:
GITPERLLIB="${GPLEXTRA+$GPLEXTRA:}@@BUILD_DIR@@/perl/blib/lib"
in wrap-for-bin.sh, so that your instruction can become
GPLEXTRA=$(pwd) ../../bin-wrappers/git whatever-mw-thing
and you do not have to have this file? We would also need to
"unset GPLEXTRA" at the beginning of test-lib.sh if we were to do
this.
How does a developer (or user) use this script? From your Makefile
(e.g. "make test")? Manually following some written instruction?
In either case, the latter option feels a lot more sensible
alternative without having to maintain this extra copy of wrap-for-bin
that can easily go out of sync.
+
+
+GIT_ROOT_DIR=../../..
+GIT_EXEC_PATH=$(cd "$(dirname "$0")" && cd ${GIT_ROOT_DIR} && pwd)
+
+echo $GIT_EXEC_PATH
+
+if test -n "$NO_SET_GIT_TEMPLATE_DIR"
+then
+ unset GIT_TEMPLATE_DIR
+else
+ GIT_TEMPLATE_DIR="$GIT_EXEC_PATH"'/templates/blt'
+ export GIT_TEMPLATE_DIR
+fi
+# Hack to make the `use lib` call works with multiple paths
+GITPERLLIB="$GIT_EXEC_PATH"'/contrib/mw-to-git:'"$GIT_EXEC_PATH"'/perl/blib/lib'
+GIT_TEXTDOMAINDIR="$GIT_EXEC_PATH"'/po/build/locale'
+PATH="$GIT_EXEC_PATH"'/contrib/mw-to-git:'"$GIT_EXEC_PATH"'/bin-wrappers:'"$PATH"
+export GIT_EXEC_PATH GITPERLLIB PATH GIT_TEXTDOMAINDIR
+
+exec "${GIT_EXEC_PATH}/git" "$@"