From: Thomas Rast
Date: Sat, 08 Feb 2014 21:47:16 GMT
Subject: Re: [PATCH 12/13] Makefile: teach scripts to include make variables
Message-ID: <87a9e1l1jv.fsf@thomasrast.ch>
In-Reply-To: <20140205180547.GL15218@sigill.intra.peff.net>
Jeff King writes:
> The current scheme for getting build-time variables into a
> shell script is to munge the script with sed, and stick the
> munged variable into a special sentinel file so that "make"
> knows about the dependency.
>
> Instead, we can combine both functions by generating a shell
> snippet with our value, and then "building" shell scripts by
> concatenating their snippets. "make" then handles the
> dependency automatically, and it's easy to generate tighter
> dependencies.
>
> We demonstrate here by moving the "DIFF" substitution into
> its own snippet, which lets us rebuild only the single
> affected file when it changes.
I can't look right now *why* this happens, but this breaks
./t2300-cd-to-toplevel.sh --valgrind with messages like
expecting success:
(
cd 'repo' &&
. "$(git --exec-path)"/git-sh-setup &&
cd_to_toplevel &&
[ "$(pwd -P)" = "$TOPLEVEL" ]
)
./test-lib.sh: line 414: /home/thomas/g/t/valgrind/bin/git-sh-setup: No such file or directory
not ok 1 - at physical root
#
# (
# cd 'repo' &&
# . "$(git --exec-path)"/git-sh-setup &&
# cd_to_toplevel &&
# [ "$(pwd -P)" = "$TOPLEVEL" ]
# )
#
I don't know why it only affects this test, or why it doesn't break when
within 'git bisect run' -- probably there's something funky going on in
the environment, quite possibly in my own configs.
--
Thomas Rast
tr@thomasrast.ch