summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2017-06-14 11:35:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-06-15 19:31:43 (GMT)
commit659fef199fb52d4a5cb24f1dfd2b272980fc5038 (patch)
treebd1bcc8562aa16ca180ceb336791548b8350b704
parente2e142510762712b4b005dca6c7a9676f93a3278 (diff)
downloadgit-659fef199fb52d4a5cb24f1dfd2b272980fc5038.zip
git-659fef199fb52d4a5cb24f1dfd2b272980fc5038.tar.gz
git-659fef199fb52d4a5cb24f1dfd2b272980fc5038.tar.bz2
help: use early config when autocorrecting aliases
Git has this feature which suggests similar commands (including aliases) in case the user specified an unknown command. This feature currently relies on a side effect of the way we expand aliases right now: when a command is not a builtin, we use the regular config machinery (meaning: discovering the .git/ directory and initializing global state such as the config cache) to see whether the command refers to an alias. However, we will change the way aliases are expanded in the next commits, to use the early config instead. That means that the autocorrect feature can no longer discover the available aliases by looking at the config cache (because it has not yet been initialized). So let's just use the early config machinery instead. This is slightly less performant than the previous way, as the early config is used *twice*: once to see whether the command refers to an alias, and then to see what aliases are most similar. However, this is hardly a performance-critical code path, so performance is less important here. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--help.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/help.c b/help.c
index bc6cd19..91ec8ab 100644
--- a/help.c
+++ b/help.c
@@ -330,7 +330,7 @@ const char *help_unknown_cmd(const char *cmd)
memset(&other_cmds, 0, sizeof(other_cmds));
memset(&aliases, 0, sizeof(aliases));
- git_config(git_unknown_cmd_config, NULL);
+ read_early_config(git_unknown_cmd_config, NULL);
load_command_list("git-", &main_cmds, &other_cmds);