{"thread":{"id":"37998","subject":"[PATCH] t0090: mark add-interactive test with PERL prerequisite","startedAt":"2014-11-18T17:22:31Z","lastAt":"2014-11-18T23:10:24Z","messageCount":11,"participants":["Jeff King","Jonathan Nieder","Pete Wyckoff"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"252090","messageId":"20141118172231.GA16387@peff.net","threadId":"37998","inReplyTo":null,"subject":"[PATCH] t0090: mark add-interactive test with PERL prerequisite","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-11-18T17:22:31Z","receivedAt":"2014-11-18T17:22:31Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"The add-interactive system is built in perl. If you build\nwith NO_PERL, running \"git commit --interactive\" will exit\nwith an error and the test will fail.\n\nSigned-off-by: Jeff King <peff@peff.net>\n---\nNoticed by Michael while working around gitweb failures by setting\nNO_PERL. :)\n\nIt didn't reproduce for me in my existing build directory, presumably\nbecause I had an old git-add--interactive build product lying around.\nBut running the tests in a clean clone with NO_PERL set reproduces\neasily.\n\n t/t0090-cache-tree.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/t/t0090-cache-tree.sh b/t/t0090-cache-tree.sh\nindex 158cf4f..067f4c6 100755\n--- a/t/t0090-cache-tree.sh\n+++ b/t/t0090-cache-tree.sh\n@@ -131,7 +131,7 @@ test_expect_success 'second commit has cache-tree' '\n \ttest_cache_tree\n '\n \n-test_expect_success 'commit --interactive gives cache-tree on partial commit' '\n+test_expect_success PERL 'commit --interactive gives cache-tree on partial commit' '\n \tcat <<-\\EOT >foo.c &&\n \tint foo()\n \t{\n-- \n2.1.2.596.g7379948\n"},{"id":"252091","messageId":"20141118172932.GA31672@peff.net","threadId":"37998","inReplyTo":"20141118172231.GA16387@peff.net","subject":"[PATCH] t960[34]: mark cvsimport tests as requiring perl","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-11-18T17:29:32Z","receivedAt":"2014-11-18T17:29:32Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"Git-cvsimport is written in perl, which understandably\ncauses the tests to fail if you build with NO_PERL (which\nwill avoid building cvsimport at all). The earlier cvsimport\ntests in t9600-t9602 are all marked with a PERL\nprerequisite, but these ones are not.\n\nThe one in t9603 was likely not noticed because it is an\nexpected failure anyway.\n\nThe ones in t9604 have been around for a long time, but it\nis likely that the combination of NO_PERL and having cvsps\ninstalled is rare enough that nobody noticed.\n\nSigned-off-by: Jeff King <peff@peff.net>\n---\nIt would probably make sense to have these scripts just\nskip_all if NO_PERL is set, but I opted to follow the pattern\nset by t9600, etc. If somebody feels like spending time refactoring the\ncvsimport test harness, be my guest.\n\n t/t9603-cvsimport-patchsets.sh  | 2 +-\n t/t9604-cvsimport-timestamps.sh | 4 ++--\n 2 files changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh\nindex 52034c8..c4c3c49 100755\n--- a/t/t9603-cvsimport-patchsets.sh\n+++ b/t/t9603-cvsimport-patchsets.sh\n@@ -16,7 +16,7 @@ test_description='git cvsimport testing for correct patchset estimation'\n \n setup_cvs_test_repository t9603\n \n-test_expect_failure 'import with criss cross times on revisions' '\n+test_expect_failure PERL 'import with criss cross times on revisions' '\n \n     git cvsimport -p\"-x\" -C module-git module &&\n     (cd module-git &&\ndiff --git a/t/t9604-cvsimport-timestamps.sh b/t/t9604-cvsimport-timestamps.sh\nindex 1fd5142..a4b3db2 100755\n--- a/t/t9604-cvsimport-timestamps.sh\n+++ b/t/t9604-cvsimport-timestamps.sh\n@@ -5,7 +5,7 @@ test_description='git cvsimport timestamps'\n \n setup_cvs_test_repository t9604\n \n-test_expect_success 'check timestamps are UTC (TZ=CST6CDT)' '\n+test_expect_success PERL 'check timestamps are UTC (TZ=CST6CDT)' '\n \n \tTZ=CST6CDT git cvsimport -p\"-x\" -C module-1 module &&\n \tgit cvsimport -p\"-x\" -C module-1 module &&\n@@ -34,7 +34,7 @@ test_expect_success 'check timestamps are UTC (TZ=CST6CDT)' '\n \ttest_cmp actual-1 expect-1\n '\n \n-test_expect_success 'check timestamps with author-specific timezones' '\n+test_expect_success PERL 'check timestamps with author-specific timezones' '\n \n \tcat >cvs-authors <<-EOF &&\n \tuser1=User One <user1@domain.org>\n-- \n2.1.2.596.g7379948\n"},{"id":"252092","messageId":"20141118174309.GB31672@peff.net","threadId":"37998","inReplyTo":"20141118172231.GA16387@peff.net","subject":"Re: [PATCH] t0090: mark add-interactive test with PERL prerequisite","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-11-18T17:43:09Z","receivedAt":"2014-11-18T17:43:09Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Nov 18, 2014 at 12:22:31PM -0500, Jeff King wrote:\n\n> The add-interactive system is built in perl. If you build\n> with NO_PERL, running \"git commit --interactive\" will exit\n> with an error and the test will fail.\n> \n> Signed-off-by: Jeff King <peff@peff.net>\n> ---\n> Noticed by Michael while working around gitweb failures by setting\n> NO_PERL. :)\n> \n> It didn't reproduce for me in my existing build directory, presumably\n> because I had an old git-add--interactive build product lying around.\n> But running the tests in a clean clone with NO_PERL set reproduces\n> easily.\n\nI don't think fixing this is really a high priority. You can't ever be\nfree of odd interactions with previous build artifacts. After all, you\nmight have a built \"git-foo\" from a previous version of git (or one from\nthe future, or even an alternate reality from another branch), and our\nMakefile should not have to know about every previous version you may\nhave built in the path. That is what \"git clean\" is for (or just using a\nclean build directory).\n\nBut fixing this one in particular is pretty easy (and we _do_ know about\nthe wrongly-built file; our dependencies are just incomplete):\n\n-- >8 --\nSubject: Makefile: have perl scripts depend on NO_PERL setting\n\nIf NO_PERL is not set, our perl scripts are built as\nusual. If it is set, then we build \"dummy\" versions that\ntell you git was built without perl support and exit\ngracefully.\n\nHowever, if you switch to NO_PERL in a directory with\nexisting build artifacts, we do not notice that the files\nneed rebuilt. We see only that they are newer than the\n\"unimplemented.sh\" wrapper and assume they are done. So\ndoing:\n\n  make\n  make NO_PERL=Nope\n\nwould result in a git-add--interactive script that uses perl\n(and running the test suite would make use of it).\n\nInstead, we should trigger a rebuild of the perl scripts\nanytime NO_PERL changes.\n\nSigned-off-by: Jeff King <peff@peff.net>\n---\n Makefile | 3 +++\n 1 file changed, 3 insertions(+)\n\ndiff --git a/Makefile b/Makefile\nindex 827006b..0fa02ff 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -1676,6 +1676,9 @@ git.res: git.rc GIT-VERSION-FILE\n \t  $(join -DMAJOR= -DMINOR=, $(wordlist 1,2,$(subst -, ,$(subst ., ,$(GIT_VERSION))))) \\\n \t  -DGIT_VERSION=\"\\\\\\\"$(GIT_VERSION)\\\\\\\"\" $< -o $@\n \n+# This makes sure we depend on the NO_PERL setting itself.\n+$(patsubst %.perl,%,$(SCRIPT_PERL)): GIT-BUILD-OPTIONS\n+\n ifndef NO_PERL\n $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak\n \n-- \n2.1.2.596.g7379948\n"},{"id":"252100","messageId":"20141118183838.GD6527@google.com","threadId":"37998","inReplyTo":"20141118174309.GB31672@peff.net","subject":"Re: [PATCH] t0090: mark add-interactive test with PERL prerequisite","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2014-11-18T18:38:38Z","receivedAt":"2014-11-18T18:38:38Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Jeff King wrote:\n\n> Subject: Makefile: have perl scripts depend on NO_PERL setting\n[...]\n> ---\n>  Makefile | 3 +++\n>  1 file changed, 3 insertions(+)\n\nGah.  Good catch.\n\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\n[...]\n> --- a/Makefile\n> +++ b/Makefile\n> @@ -1676,6 +1676,9 @@ git.res: git.rc GIT-VERSION-FILE\n>  \t  $(join -DMAJOR= -DMINOR=, $(wordlist 1,2,$(subst -, ,$(subst ., ,$(GIT_VERSION))))) \\\n>  \t  -DGIT_VERSION=\"\\\\\\\"$(GIT_VERSION)\\\\\\\"\" $< -o $@\n>  \n> +# This makes sure we depend on the NO_PERL setting itself.\n> +$(patsubst %.perl,%,$(SCRIPT_PERL)): GIT-BUILD-OPTIONS\n> +\n>  ifndef NO_PERL\n>  $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak\n\nWhy do these repeat the 'patsubst ...' expression instead of using\nSCRIPT_PERL_GEN, by the way?\n\n-- >8 --\nSubject: Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros\n\nSCRIPT_PERL_GEN is defined as $(patsubst %.perl,%,$(SCRIPT_PERL)) for\nuse in targets like build-perl-script used by makefiles in\nsubdirectories that override SCRIPT_PERL (see v1.8.2-rc0~17^2,\n\"git-remote-mediawiki: use toplevel's Makefile\", 2013-02-08).\n\nThe same expression is used in the rules that actually write the\ngenerated perl scripts, and since this rules were introduced before\nSCRIPT_PERL_GEN, they use the longhand instead of that macro.  Use the\nmacro to make reading easier.\n\nLikewise for SCRIPT_SH_GEN.  The Python rules already got the same\nsimplification in v1.8.4-rc0~162^2~8 (2013-05-24).\n\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\n Makefile | 10 +++++-----\n 1 file changed, 5 insertions(+), 5 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 0fa02ff..8f980e0 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -1662,7 +1662,7 @@ GIT-SCRIPT-DEFINES: FORCE\n             fi\n \n \n-$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh GIT-SCRIPT-DEFINES\n+$(SCRIPT_SH_GEN) : % : %.sh GIT-SCRIPT-DEFINES\n \t$(QUIET_GEN)$(cmd_munge_script) && \\\n \tchmod +x $@+ && \\\n \tmv $@+ $@\n@@ -1677,10 +1677,10 @@ git.res: git.rc GIT-VERSION-FILE\n \t  -DGIT_VERSION=\"\\\\\\\"$(GIT_VERSION)\\\\\\\"\" $< -o $@\n \n # This makes sure we depend on the NO_PERL setting itself.\n-$(patsubst %.perl,%,$(SCRIPT_PERL)): GIT-BUILD-OPTIONS\n+$(SCRIPT_PERL_GEN): GIT-BUILD-OPTIONS\n \n ifndef NO_PERL\n-$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak\n+$(SCRIPT_PERL_GEN): perl/perl.mak\n \n perl/perl.mak: perl/PM.stamp\n \n@@ -1693,7 +1693,7 @@ perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL\n \t$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)\n \n PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ)\n-$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE\n+$(SCRIPT_PERL_GEN): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE\n \t$(QUIET_GEN)$(RM) $@ $@+ && \\\n \tINSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \\\n \tINSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \\\n@@ -1727,7 +1727,7 @@ git-instaweb: git-instaweb.sh gitweb GIT-SCRIPT-DEFINES\n \tchmod +x $@+ && \\\n \tmv $@+ $@\n else # NO_PERL\n-$(patsubst %.perl,%,$(SCRIPT_PERL)) git-instaweb: % : unimplemented.sh\n+$(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh\n \t$(QUIET_GEN)$(RM) $@ $@+ && \\\n \tsed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \\\n \t    -e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \\\n-- \n2.1.0.rc2.206.gedb03e5\n"},{"id":"252101","messageId":"20141118184347.GE6527@google.com","threadId":"37998","inReplyTo":"20141118183838.GD6527@google.com","subject":"Re: [PATCH] t0090: mark add-interactive test with PERL prerequisite","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2014-11-18T18:43:47Z","receivedAt":"2014-11-18T18:43:47Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Jonathan Nieder wrote:\n> Jeff King wrote:\n\n>> Subject: Makefile: have perl scripts depend on NO_PERL setting\n> [...]\n>> ---\n>>  Makefile | 3 +++\n>>  1 file changed, 3 insertions(+)\n>\n> Gah.  Good catch.\n>\n> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\n... and here's a patch on top to give git-p4 the same treatment.\n\n-- >8 --\nSubject: Makefile: have python scripts depend on NO_PYTHON setting\n\nLike the perl scripts, python scripts need a dependency to ensure they\nare rebuilt when switching between the \"dummy\" versions that run\nwithout Python and the real thing.\n\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\n Makefile | 3 +++\n 1 file changed, 3 insertions(+)\n\ndiff --git a/Makefile b/Makefile\nindex 8f980e0..7482a4d 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -1736,6 +1736,9 @@ $(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh\n \tmv $@+ $@\n endif # NO_PERL\n \n+# This makes sure we depend on the NO_PYTHON setting itself.\n+$(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS\n+\n ifndef NO_PYTHON\n $(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS\n $(SCRIPT_PYTHON_GEN): % : %.py\n-- \n2.1.0.rc2.206.gedb03e5\n"},{"id":"252102","messageId":"20141118184402.GA13479@peff.net","threadId":"37998","inReplyTo":"20141118183838.GD6527@google.com","subject":"Re: [PATCH] t0090: mark add-interactive test with PERL prerequisite","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-11-18T18:44:02Z","receivedAt":"2014-11-18T18:44:02Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Nov 18, 2014 at 10:38:38AM -0800, Jonathan Nieder wrote:\n\n> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nThanks.\n\n> > +# This makes sure we depend on the NO_PERL setting itself.\n> > +$(patsubst %.perl,%,$(SCRIPT_PERL)): GIT-BUILD-OPTIONS\n> > +\n> >  ifndef NO_PERL\n> >  $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak\n> \n> Why do these repeat the 'patsubst ...' expression instead of using\n> SCRIPT_PERL_GEN, by the way?\n\nDunno. I just cargo-culted from the context lines.\n\n> -- >8 --\n> Subject: Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros\n> \n> SCRIPT_PERL_GEN is defined as $(patsubst %.perl,%,$(SCRIPT_PERL)) for\n> use in targets like build-perl-script used by makefiles in\n> subdirectories that override SCRIPT_PERL (see v1.8.2-rc0~17^2,\n> \"git-remote-mediawiki: use toplevel's Makefile\", 2013-02-08).\n> \n> The same expression is used in the rules that actually write the\n> generated perl scripts, and since this rules were introduced before\n> SCRIPT_PERL_GEN, they use the longhand instead of that macro.  Use the\n> macro to make reading easier.\n> \n> Likewise for SCRIPT_SH_GEN.  The Python rules already got the same\n> simplification in v1.8.4-rc0~162^2~8 (2013-05-24).\n\nThis makes sense, and looking over the Makefile, I don't see how it\ncould cause any bad side effects.\n\nMinor nit:\n\n  s/this rules/these rules/\n\nin your commit message. Otherwise:\n\n  Reviewed-by: Jeff King <peff@peff.net>\n\n-Peff\n"},{"id":"252103","messageId":"20141118184924.GB13479@peff.net","threadId":"37998","inReplyTo":"20141118184347.GE6527@google.com","subject":"Re: [PATCH] t0090: mark add-interactive test with PERL prerequisite","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-11-18T18:49:24Z","receivedAt":"2014-11-18T18:49:24Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Nov 18, 2014 at 10:43:47AM -0800, Jonathan Nieder wrote:\n\n> ... and here's a patch on top to give git-p4 the same treatment.\n> \n> -- >8 --\n> Subject: Makefile: have python scripts depend on NO_PYTHON setting\n> \n> Like the perl scripts, python scripts need a dependency to ensure they\n> are rebuilt when switching between the \"dummy\" versions that run\n> without Python and the real thing.\n\nThanks, I didn't think to look for similar cases. It seems python is the\nonly other thing that gets the \"unimplemented\" treatment. If you do:\n\n  make\n  make NO_TCLTK=Yes\n\nI think you'll still end up with a crufty gitk build, but the fix there\nis much more involved (it would have to create a \"Sorry, gitk wasn't\nbuilt\" script). I don't think it's worth the effort.\n\n-Peff\n"},{"id":"252104","messageId":"20141118185148.GF6527@google.com","threadId":"37998","inReplyTo":"20141118172231.GA16387@peff.net","subject":"Re: [PATCH] t0090: mark add-interactive test with PERL prerequisite","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2014-11-18T18:51:48Z","receivedAt":"2014-11-18T18:51:48Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Jeff King wrote:\n\n> The add-interactive system is built in perl. If you build\n> with NO_PERL, running \"git commit --interactive\" will exit\n> with an error and the test will fail.\n>\n> Signed-off-by: Jeff King <peff@peff.net>\n> ---\n> Noticed by Michael while working around gitweb failures by setting\n> NO_PERL. :)\n\nHeh.\n\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n"},{"id":"252105","messageId":"20141118185622.GG6527@google.com","threadId":"37998","inReplyTo":"20141118172932.GA31672@peff.net","subject":"Re: [PATCH] t960[34]: mark cvsimport tests as requiring perl","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2014-11-18T18:56:22Z","receivedAt":"2014-11-18T18:56:22Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Jeff King wrote:\n\n> It would probably make sense to have these scripts just\n> skip_all if NO_PERL is set, but I opted to follow the pattern\n> set by t9600, etc. If somebody feels like spending time refactoring the\n> cvsimport test harness, be my guest.\n\nWouldn't it be a matter of the following, plus (optionally) dropping\nthe existing PERL prerequisites on cvs tests?\n\n-- >8 --\nSubject: test: cvsimport requires perl\n\nGit-cvsimport is written in perl, which understandably causes the\ntests to fail if you build with NO_PERL (which will avoid building\ncvsimport at all). The earlier cvsimport tests in t9600-t9602 are all\nmarked with a PERL prerequisite, but t9603 and 9604 are not.\n\nThe one in t9603 was likely not noticed because it is an expected\nfailure.\n\nThe ones in t9604 have been around for a long time, but it is likely\nthat the combination of NO_PERL and having cvsps installed is rare\nenough that nobody noticed.\n\nReported-by: Jeff King <peff@peff.net>\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\n t/lib-cvs.sh | 6 ++++++\n 1 file changed, 6 insertions(+)\n\ndiff --git a/t/lib-cvs.sh b/t/lib-cvs.sh\nindex 9b2bcfb..b75df11 100644\n--- a/t/lib-cvs.sh\n+++ b/t/lib-cvs.sh\n@@ -10,6 +10,12 @@ then\n \ttest_done\n fi\n \n+if ! test_have_prereq PERL\n+then\n+\tskip_all='skipping cvsimport tests, perl not available'\n+\ttest_done\n+fi\n+\n CVS=\"cvs -f\"\n export CVS\n \n-- \n2.1.0.rc2.206.gedb03e5\n"},{"id":"252108","messageId":"20141118191510.GA28114@peff.net","threadId":"37998","inReplyTo":"20141118185622.GG6527@google.com","subject":"Re: [PATCH] t960[34]: mark cvsimport tests as requiring perl","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-11-18T19:15:10Z","receivedAt":"2014-11-18T19:15:10Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Nov 18, 2014 at 10:56:22AM -0800, Jonathan Nieder wrote:\n\n> Jeff King wrote:\n> \n> > It would probably make sense to have these scripts just\n> > skip_all if NO_PERL is set, but I opted to follow the pattern\n> > set by t9600, etc. If somebody feels like spending time refactoring the\n> > cvsimport test harness, be my guest.\n> \n> Wouldn't it be a matter of the following, plus (optionally) dropping\n> the existing PERL prerequisites on cvs tests?\n> [...]\n>  t/lib-cvs.sh | 6 ++++++\n\nYeah, I think so. I was worried that lib-cvs was used by the other CVS\ntests (like t9200, and t940x), but it seems to be cvsimport-specific.\nIf you do go this route (and that is fine with me), maybe it is worth\nchanging the filename to make that more clear.\n\n-Peff\n"},{"id":"252145","messageId":"20141118231024.GA8159@padd.com","threadId":"37998","inReplyTo":"20141118184347.GE6527@google.com","subject":"Re: [PATCH] t0090: mark add-interactive test with PERL prerequisite","fromName":"Pete Wyckoff","fromEmail":"pw@padd.com","sentAt":"2014-11-18T23:10:24Z","receivedAt":"2014-11-18T23:10:24Z","isPatch":true,"sender":{"key":"pw@padd.com","avatar":null},"body":"jrnieder@gmail.com wrote on Tue, 18 Nov 2014 10:43 -0800:\n> ... and here's a patch on top to give git-p4 the same treatment.\n> \n> -- >8 --\n> Subject: Makefile: have python scripts depend on NO_PYTHON setting\n> \n> Like the perl scripts, python scripts need a dependency to ensure they\n> are rebuilt when switching between the \"dummy\" versions that run\n> without Python and the real thing.\n> \n> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>\n> ---\n>  Makefile | 3 +++\n>  1 file changed, 3 insertions(+)\n> \n> diff --git a/Makefile b/Makefile\n> index 8f980e0..7482a4d 100644\n> --- a/Makefile\n> +++ b/Makefile\n> @@ -1736,6 +1736,9 @@ $(SCRIPT_PERL_GEN) git-instaweb: % : unimplemented.sh\n>  \tmv $@+ $@\n>  endif # NO_PERL\n>  \n> +# This makes sure we depend on the NO_PYTHON setting itself.\n> +$(SCRIPT_PYTHON_GEN): GIT-BUILD-OPTIONS\n> +\n>  ifndef NO_PYTHON\n>  $(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS\n>  $(SCRIPT_PYTHON_GEN): % : %.py\n> -- \n> 2.1.0.rc2.206.gedb03e5\n\nLooks obviously correct, thanks for remembering the other\nscripting languages.  :)\n\nAcked-by: Pete Wyckoff <pw@padd.com>\n"}]}