git-commit-vandalism/ci
Johannes Schindelin ef60e9f74b ci: stop linking built-ins to the dashed versions
Since e4597aae65 (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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-09-21 15:47:54 -07:00
..
config ci/config: correct instruction for CI preferences 2020-05-18 10:18:34 -07:00
util travis-ci: include the trash directories of failed tests in the trace log 2018-08-01 09:59:36 -07:00
install-dependencies.sh ci: run gem with sudo to install asciidoctor 2020-04-10 10:30:40 -07:00
install-docker-dependencies.sh travis: build and test on Linux with musl libc and busybox 2020-04-06 13:44:42 -07:00
lib.sh ci: stop linking built-ins to the dashed versions 2020-09-21 15:47:54 -07:00
make-test-artifacts.sh ci: parallelize testing on Windows 2019-01-29 09:26:47 -08:00
mount-fileshare.sh Add a build definition for Azure DevOps 2019-01-29 09:26:46 -08:00
print-test-failures.sh ci: let GitHub Actions upload failed tests' directories 2020-04-10 10:30:40 -07:00
run-build-and-tests.sh ci: run tests with SHA-256 2020-07-30 09:16:49 -07:00
run-docker-build.sh travis: build and test on Linux with musl libc and busybox 2020-04-06 13:44:42 -07:00
run-docker.sh travis: build and test on Linux with musl libc and busybox 2020-04-06 13:44:42 -07:00
run-static-analysis.sh ci: run hdr-check as part of the Static Analysis job 2019-10-03 10:34:57 +09:00
run-test-slice.sh ci: parallelize testing on Windows 2019-01-29 09:26:47 -08:00
test-documentation.sh ci: ignore rubygems warning in the "Documentation" job 2020-02-10 09:52:27 -08:00