"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > For a long time already, the non-dashed form of the built-ins is the > recommended way to write scripts, i.e. it is better to call `git merge > [...]` than to call `git-merge [...]`. > > While Git still supports the dashed form (by hard-linking the `git` > executable to the dashed name in `libexec/git-core/`), in practice, it > is probably almost irrelevant. Let's drop this paragraph. We do not have to defend this new opt-in feature with "probably". Even if there are folks heavily depend on the old promise of having all binaries on disk, giving the rest of the world an option to have Git without that promise is a good thing as long as there is a good reason why the rest of the world would want to omit binaries for builtins. And we do have a good one below. > However, we *do* care about keeping people's scripts working (even if > they were written before the non-dashed form started to be recommended). That misses the point. They were written in dashed form, and when we started recommending non-dashed form, they were TOLD to tweak it by adjusting PATH early in their script, and they did so to keep the script working. So it is not "even if". We do care because we promised them that we will *NOT* break them if they did such and such, and they followed that recommendation. > Keeping this backwards-compatibility is not necessarily cheap, though: > ... > introduce a Makefile knob to skip generating them. I do not have anything add to the good argument above (elided) to allow those who know they do not rely on the age old promise. Well written.