"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > Originally, all of Git's subcommands were implemented in their own > executable/script, using the naming scheme `git-<command-name>`. When > more and more functionality was turned into built-in commands (i.e. the > `git` executable could run them without spawning a separate process), > for backwards-compatibility, we hard-link the `git` executable to > `git-<built-in>` for every built-in. > > This backwards-compatibility was needed to support scripts that called > the dashed form, even if we deprecated that a _long_ time ago. This paragraph is irrelevant. We are keeping the support for it and this topic is not newly deprecating or removing anything. We need to argue for a need to test an installation that lacks these builtin subcommands anywhere on disk under their own names, which you did succinctly below (and there is no need for "For that reason," there). > For that reason, we just introduced a Makefile knob to skip linking > them. TO make sure that this keeps working, teach the CI s/TO/To/ > (and PR) builds to skip generating those hard-links. What is not justified enough is why we no longer test installations with dashed builtins on disk. If this topic is primarily about Windows (as 2/3 said), perhaps we can do this only for Windows tasks before we make a colletive decision to _DROP_ support for the on-disk builtin subcommands? > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > ci/run-build-and-tests.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh > index 6c27b886b8..1df9402c3b 100755 > --- a/ci/run-build-and-tests.sh > +++ b/ci/run-build-and-tests.sh > @@ -10,7 +10,7 @@ windows*) cmd //c mklink //j t\\.prove "$(cygpath -aw "$cache_dir/.prove")";; > *) ln -s "$cache_dir/.prove" t/.prove;; > esac > > -make > +make SKIP_DASHED_BUILT_INS=YesPlease > case "$jobname" in > linux-gcc) > make test