Jeff King wrote:
On Tue, Jan 01, 2013 at 11:18:46PM -0800, Junio C Hamano wrote:

Jeff King <> writes:

[1] This symlink is doubly wrong, because any use of symbolic links
    in the test scripts needs to depend on the SYMLINKS prereq, and
    this does not.

Yeah, I think we have discussed this once already in

Thanks for the pointer; it looks like nothing productive came of the
earlier discussion. To give a hat trick of failure to this line of
code, I notice that the existing code also does not properly put
quotes around $GIT_BUILD_DIR.

[2] In both the current code and what I showed above, the test
    scripts depend on things in contrib/. This is probably a bad
    idea in general, as the quality of what goes into contrib is
    not as closely watched (especially with respect to things like
    portability). Certainly I would not have known to look more
    carefully at a patch to contrib/svn-fe for breakage to the test

As long as such tests are made skippable with appropriate
prerequisites, I do not think it is bad to have their tests in t/; I
would say it is rather better than having them in contrib/ and leave
it not run by anybody, which happened to some of the stuff in
contrib/ already.

Good point. While my sense of decorum wants to keep contrib totally
split out, from a practical point of view, it is better to have more
people run the tests and report failures than not.

Whether we end up doing something with contrib and tests or not, the
patch below gives a minimal fix in the meantime. Dan, does it fix your

-- >8 --
Subject: [PATCH] t9020: don't run python from $PATH

In t9020, we symlink in a python script from contrib to help
with the testing. However, we don't munge its #!-line, which
means we may run the wrong python (we want the one in
PYTHON_PATH). On top of this, we use a symlink without
checking the SYMLINKS prereq, and we fail to properly quote
GIT_BUILD_DIR, which may have spaces.

Instead of symlinking, let's just write a small script which
will feed the contrib script to PYTHON_PATH. To avoid
quoting issues, we just export the variables the script
needs to run.

Signed-off-by: Jeff King <>
t/ | 5 ++++-
t/         | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/t/ b/t/
index 4f2dfe0..416623b 100755
--- a/t/
+++ b/t/
@@ -14,7 +14,10 @@ export PATH="$HOME:$PATH"

# We override svnrdump by placing a symlink to the svnrdump-emulator
in . export PATH="$HOME:$PATH"

With this patch that comment is no longer true.

-ln -sf $GIT_BUILD_DIR/contrib/svn-fe/ "$HOME/svnrdump"
+write_script svnrdump <<\EOF
+exec "$PYTHON_PATH" "$GIT_BUILD_DIR"/contrib/svn-fe/
"$@" +EOF

init_git () {
 rm -fr .git &&

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to