git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "SZEDER Gábor" <szeder.dev@gmail.com>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Johannes Schindelin" <johannes.schindelin@gmx.de>,
	"Johannes Schindelin" <johannes.schindelin@gmx.de>
Subject: [PATCH v4 3/3] ci: stop linking built-ins to the dashed versions
Date: Mon, 21 Sep 2020 22:28:17 +0000	[thread overview]
Message-ID: <1fdf24af368ccb263ade2af2e482221280a3eb06.1600727298.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.411.v4.git.1600727297.gitgitgadget@gmail.com>

From: Johannes Schindelin <johannes.schindelin@gmx.de>

Since e4597aae6590 (run test suite without dashed git-commands in PATH,
2009-12-02), we stopped running our tests with `git-foo` binaries found
at the top-level directory of a freshly built source tree; instead we
have placed only `git` and selected `git-foo` commands that must be on
`$PATH` in `bin-wrappers/` and prepended that `bin-wrappers/` to the
`PATH` used in the test suite. We did that to catch the tests and
scripted Git commands that still try to use the dashed form.

Since CI jobs will not install the built Git to anywhere, and the
hardlinks we make at the top-level of the source tree for `git-add` and
friends are not even used during tests, they are pure waste of resources
these days.

Thanks to the newly invented `SKIP_DASHED_BUILT_INS` knob, we can now
skip creating these links in the source tree. So let's do that.

Note that this change introduces a subtle change of behavior: when Git's
`cmd_main()` calls `setup_path()`, it inserts the value of
`GIT_EXEC_PATH` (defaulting to `<prefix>/libexec/git-core`) at the
beginning of the environment variable `PATH`. This is necessary to find
e.g. scripted commands that are installed in that location. For the
purposes of Git's test suite, the `bin-wrappers/` scripts override
`GIT_EXEC_PATH` to point to the top-level directory of the source code.

In other words, if a scripted command had used a dashed invocation of a
built-in Git command, it would not have been caught previously, which is
fixed by this change.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 ci/lib.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ci/lib.sh b/ci/lib.sh
index 3eefec500d..821e3660d6 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -178,6 +178,7 @@ fi
 export DEVELOPER=1
 export DEFAULT_TEST_TARGET=prove
 export GIT_TEST_CLONE_2GB=true
+export SKIP_DASHED_BUILT_INS=YesPlease
 
 case "$jobname" in
 linux-clang|linux-gcc)
-- 
gitgitgadget

  parent reply	other threads:[~2020-09-21 22:28 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17  9:07 [PATCH 0/3] Optionally skip linking/copying the built-ins Johannes Schindelin
2020-08-17  4:55 ` Johannes Schindelin
2020-08-17 18:02   ` Junio C Hamano
2020-08-24 12:47     ` Johannes Schindelin
2020-08-24 18:42       ` Junio C Hamano
2020-08-25  8:07         ` Johannes Schindelin
2020-08-25 16:03           ` Junio C Hamano
2020-08-17  9:07 ` [PATCH 1/3] msvc: copy the correct `.pdb` files in the Makefile target `install` Johannes Schindelin
2020-08-17  9:24   ` Jeff King
2020-08-17  5:51     ` Johannes Schindelin
2020-08-17 21:37       ` Jeff King
2020-08-18  6:17         ` Johannes Schindelin
2020-08-17  9:07 ` [PATCH 2/3] Optionally skip linking/copying the built-ins Johannes Schindelin
2020-08-17 18:19   ` Junio C Hamano
2020-08-24 14:58     ` Johannes Schindelin
2020-08-17  9:07 ` [PATCH 3/3] ci: stop linking built-ins to the dashed versions Johannes Schindelin
2020-08-17 18:26   ` Junio C Hamano
2020-08-24 15:37 ` [PATCH v2 0/3] Optionally skip linking/copying the built-ins Johannes Schindelin via GitGitGadget
2020-08-24 15:37   ` [PATCH v2 1/3] msvc: copy the correct `.pdb` files in the Makefile target `install` Johannes Schindelin via GitGitGadget
2020-08-24 15:37   ` [PATCH v2 2/3] Optionally skip linking/copying the built-ins Johannes Schindelin via GitGitGadget
2020-08-24 19:02     ` Junio C Hamano
2020-08-25  8:20       ` Johannes Schindelin
2020-08-24 15:38   ` [PATCH v2 3/3] ci: stop linking built-ins to the dashed versions Johannes Schindelin via GitGitGadget
2020-08-24 19:06     ` Junio C Hamano
2020-08-25  8:30       ` Johannes Schindelin
2020-08-25 13:47     ` SZEDER Gábor
2020-08-25 15:42       ` Junio C Hamano
2020-08-26  4:19         ` Johannes Schindelin
2020-08-26 16:13           ` Junio C Hamano
2020-08-26 16:24             ` Junio C Hamano
2020-09-02  7:06             ` Johannes Schindelin
2020-09-02 20:50               ` Junio C Hamano
2020-08-27  8:30           ` SZEDER Gábor
2020-08-24 18:55   ` [PATCH v2 0/3] Optionally skip linking/copying the built-ins Junio C Hamano
2020-08-24 19:03     ` Jeff King
2020-08-24 19:51       ` Junio C Hamano
2020-08-26 11:56   ` [PATCH v3 " Johannes Schindelin via GitGitGadget
2020-08-26 11:56     ` [PATCH v3 1/3] msvc: copy the correct `.pdb` files in the Makefile target `install` Johannes Schindelin via GitGitGadget
2020-08-26 11:56     ` [PATCH v3 2/3] Optionally skip linking/copying the built-ins Johannes Schindelin via GitGitGadget
2020-08-26 16:20       ` Junio C Hamano
2020-08-26 11:56     ` [PATCH v3 3/3] ci: stop linking built-ins to the dashed versions Johannes Schindelin via GitGitGadget
2020-09-03 10:45       ` SZEDER Gábor
2020-09-08 11:32         ` Johannes Schindelin
2020-09-08 11:48           ` SZEDER Gábor
2020-09-08 17:18           ` Junio C Hamano
2020-09-21 22:28     ` [PATCH v4 0/3] Optionally skip linking/copying the built-ins Johannes Schindelin via GitGitGadget
2020-09-21 22:28       ` [PATCH v4 1/3] msvc: copy the correct `.pdb` files in the Makefile target `install` Johannes Schindelin via GitGitGadget
2020-09-21 22:28       ` [PATCH v4 2/3] Optionally skip linking/copying the built-ins Johannes Schindelin via GitGitGadget
2020-09-21 22:28       ` Johannes Schindelin via GitGitGadget [this message]
2020-09-21 22:53         ` [PATCH v4 3/3] ci: stop linking built-ins to the dashed versions Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1fdf24af368ccb263ade2af2e482221280a3eb06.1600727298.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=szeder.dev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).