diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2020-10-08 00:56:51 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-10-08 01:25:10 +0300 |
commit | 722fc374914d4f9b37d42a8eda603eecb790f64c (patch) | |
tree | f72b5ec4e5d2c95850abce1e8ac2ef9b09a1a84c /help.c | |
parent | ef60e9f74b2d3638281da8affd4c854eead258b1 (diff) |
help: do not expect built-in commands to be hardlinked
When building with SKIP_DASHED_BUILT_INS=YesPlease, the built-in
commands are no longer present in the `PATH` as hardlinks to `git`.
As a consequence, `load_command_list()` needs to be taught to find the
names of the built-in commands from elsewhere.
This only affected the output of `git --list-cmds=main`, but not the
output of `git help -a` because the latter includes the built-in
commands by virtue of them being listed in command-list.txt.
The bug was detected via a patch series that turns the merge strategies
included in Git into built-in commands: `git merge -s help` relies on
`load_command_list()` to determine the list of available merge
strategies.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'help.c')
-rw-r--r-- | help.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -263,6 +263,8 @@ void load_command_list(const char *prefix, const char *env_path = getenv("PATH"); const char *exec_path = git_exec_path(); + load_builtin_commands(prefix, main_cmds); + if (exec_path) { list_commands_in_dir(main_cmds, exec_path, prefix); QSORT(main_cmds->names, main_cmds->cnt, cmdname_compare); |