Hi, On Tue, 25 Aug 2020, Junio C Hamano wrote: > SZEDER Gábor writes: > > > I'm afraid I don't understand this patch or the previous one (or > > both?). So this new Makefile knob stops hard-linking the dashed > > builtins _during 'make install'_, but it doesn't affect how Git is > > built by the default target. And our CI jobs only build Git by the > > default target, but don't run 'make install', so setting > > SKIP_DASHED_BUILT_INS wouldn't have any affect anyway. > > Very very true. Let's drop 3/3 if it is not testing anything new. > > I do understand the concern 2/3 wants to address, and it would be a > real one to you especially if you come from Windows. People on the > platform wouldn't be able to use shell scripts written in 12 years > ago or written with the promise we made to our users 12 years ago, > and unlike hardlink-capable platforms it incurs real cost to install > these individual binaries on disk. Actually, `SKIP_DASHED_BUILT_INS` does not _only_ have an impact on `make install`: $ rm git-add.exe && make BUILTIN git-add.exe BUILTIN all SUBDIR git-gui SUBDIR gitk-git SUBDIR templates $ rm git-add.exe && make SKIP_DASHED_BUILT_INS=1 BUILTIN all SUBDIR git-gui SUBDIR gitk-git SUBDIR templates See how `git-add.exe` is linked in the first, but not in the second run? So the difference 3/3 has is that those hard-linked executables are not even generated. Now, _technically_ this should not result in any change because we run the test suite without `--with-dashes`. Practically, it _does_ make a difference, though, as `bin-wrappers/git` _specifically_ sets `GIT_EXEC_PATH` to the top-level directory, i.e. `git-add.exe` _would_ be found if any core Git command that is still implemented as a script called `git-add`. Therefore, 3/3 makes sure that we really, really, really do not use those dashed invocations ourselves. Ciao, Dscho