On Sat, Feb 23, 2008 at 04:03:44PM -0800, Junio C Hamano wrote:OK, here it is cleaned up a little (adding some missing quotation marks and the proper gitignore) and with a commit message. Possibly t/Makefile should also be getting this information to actually run the test scripts. That would require either: - making the GIT-BUILD-OPTIONS both make and shell parseable, meaning changing SHELL_PATH='$(SHELL_PATH_SQ)' into SHELL_PATH=$(SHELL_PATH) and hoping nobody uses metacharacters - writing two separate files, one for shell and one for make - working some Makefile magic to set variables from the shell; this is not possible in ordinary make, but I suspect there are some GNU-isms we could use -- >8 -- use build-time SHELL_PATH in test scripts The top-level Makefile now creates a GIT-BUILD-OPTIONS file which stores any options selected by the make process that may be of use to further parts of the build process. Specifically, we store the SHELL_PATH so that it can be used by tests to construct shell scripts on the fly. The format of the GIT-BUILD-OPTIONS file is Bourne shell, and it is sourced by test-lib.sh; all tests can rely on just having $SHELL_PATH correctly set in the environment. The GIT-BUILD-OPTIONS file is written every time the toplevel 'make' is invoked. Since the only users right now are the test scripts, there's no drawback to updating its timestamp. If something build-related depends on this, we can do a trick similar to the one used by GIT-CFLAGS. Signed-off-by: Jeff King <peff@peff.net> --- .gitignore | 1 + Makefile | 6 +++++- t/t3404-rebase-interactive.sh | 2 +- t/test-lib.sh | 2 ++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 165b256..4ff2fec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +GIT-BUILD-OPTIONS GIT-CFLAGS GIT-GUI-VARS GIT-VERSION-FILE diff --git a/Makefile b/Makefile index d33a556..ba1aaf8 100644 --- a/Makefile +++ b/Makefile @@ -808,7 +808,7 @@ export TAR INSTALL DESTDIR SHELL_PATH ### Build rules -all:: $(ALL_PROGRAMS) $(BUILT_INS) $(OTHER_PROGRAMS) +all:: $(ALL_PROGRAMS) $(BUILT_INS) $(OTHER_PROGRAMS) GIT-BUILD-OPTIONS ifneq (,$X) $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), $(RM) '$p';) endif @@ -1010,6 +1010,9 @@ GIT-CFLAGS: .FORCE-GIT-CFLAGS echo "$$FLAGS" >GIT-CFLAGS; \ fi +GIT-BUILD-OPTIONS: .FORCE-GIT-BUILD-OPTIONS + @echo SHELL_PATH='$(SHELL_PATH_SQ)' >$@ + ### Detect Tck/Tk interpreter path changes ifndef NO_TCLTK TRACK_VARS = $(subst ','\'',-DTCLTK_PATH='$(TCLTK_PATH_SQ)') @@ -1169,6 +1172,7 @@ endif .PHONY: all install clean strip .PHONY: .FORCE-GIT-VERSION-FILE TAGS tags cscope .FORCE-GIT-CFLAGS +.PHONY: .FORCE-GIT-BUILD-OPTIONS ### Check documentation # diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 62e65d7..049aa37 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -61,7 +61,7 @@ test_expect_success 'setup' ' git tag I ' -echo "#!$SHELL" >fake-editor +echo "#!$SHELL_PATH" >fake-editor.sh cat >> fake-editor.sh <<\EOF case "$1" in */COMMIT_EDITMSG) diff --git a/t/test-lib.sh b/t/test-lib.sh index 83889c4..3c4e21f 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -342,6 +342,8 @@ if ! test -x ../test-chmtime; then exit 1 fi +. ../GIT-BUILD-OPTIONS + # Test repository test=trash rm -fr "$test" -- 1.5.4.2.276.g0ede - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Linus Torvalds | Re: [GIT]: Networking |
| Mark Lord | Re: [Bug #10391] 2.6.25-rc7/8: Another resume regression |
| David Miller | Slow DOWN, please!!! |
| James Bottomley | [Ksummit-2008-discuss] Fixing the Kernel Janitors project |
git: | |
| Ittay Dror | detecting rename->commit->modify->commit |
| Peter Stahlir | Git as a filesystem |
| Junio C Hamano | [ANNOUNCE] GIT 1.5.4 |
| Andreas Hildebrandt | CVS-$Id:$ replacement in git? |
| Gilles Chehade | Re: Real men don't attack straw men |
| carlopmart | About Xen: maybe a reiterative question but .. |
| Christophe Rioux | OpenBSD as host for VMWare Server |
| Kevin Neff | Patching a SSH 'Weakness' |
| David Miller | Re: [BUG] New Kernel Bugs |
| Pavel Emelyanov | [PATCH 4/5] Mark the setup_net as __net_init |
| Chris Snook | [PATCH 0/4] atlx: add atl2 support |
| Jeff Garzik | Re: [RFC][PATCH 1/1] cxgb3i: cxgb3 iSCSI initiator |
| high memory | 4 hours ago | Linux kernel |
| semaphore access speed | 7 hours ago | Applications and Utilities |
| the kernel how to power off the machine | 8 hours ago | Linux kernel |
| Easter Eggs in windows XP | 11 hours ago | Windows |
| Shared swap partition | 12 hours ago | Linux general |
| Root password | 12 hours ago | Linux general |
| Where/when DNOTIFY is used? | 14 hours ago | Linux kernel |
| How to convert Linux Kernel built-in module into a loadable module | 16 hours ago | Linux kernel |
| Linux 2.6.24 and I/O schedulers | 17 hours ago | Linux kernel |
| USB Driver -- Interrupt Polling -- A Little Help Please | 22 hours ago | Linux general |
