Обратите внимание, что в Git 2.30 (первый квартал 2021 г.) инструкции по завершению командной строки (в contrib /) для zsh были обновлены.
См. фиксацию 3ebd945 (2 июля 2020 г.) по Алексей (ogonkov
).
(Объединено Junio C Hamano - gitster
- в фиксации bbdbe08 >, 02 ноя 2020)
completion
: bash: удалить оболочку zsh
Подписано: Алексей
Проверено: Стефан Халлер
- Добавьте
compinit
команду автозагрузки, так как все это не работает, если она не загружена.
- В моем .zshrc у меня есть «autoload -U compinit», затем «compinit» в отдельной строке, и у меня все работает нормально. Вы запускаете одну команду или меня смущает форматирование?
Итак, команда будет такой:
# The recommended way to install this script is to make a copy of it in
# ~/.zsh/ directory as ~/.zsh/git-completion.zsh and then add the following
# to your ~/.zshrc file:
#
# fpath=(~/.zsh $fpath)
# autoload -Uz compinit && compinit
Предупреждение: в Git 2.30 (Q1 2021) автозаполнение Zsh (в contrib/
) было исправлено, как упоминалось здесь его автор Фелипе Контрерас.
Подписано: Фелипе Контрерас
completion
: bash: исправить регрессию псевдонима gitk
Он устарел уже более восьми лет, никогда не обновляется, и его сложно поддерживать.
Время двигаться дальше.
В Git 2.30 (первый квартал 2021 г.) есть исправление для недавней поломки.
См. фиксацию 0764964 (5 декабря 2020 г.) и совершить c5dd0c8 (30 ноября 2020 г.) от Фелипе Контрерас (felipec
).
(Объединено Junio C Hamano - - gitster
- в совершить 7d92da3, 8 декабря 2020 г.) sup>
Копия: SZEDER Gábor Подписано: Фелипе Контрерас Подписано: Junio C Hamano
Давным-давно, когда был представлен помощник _git_complete
, _gitk
был заменен на __gitk_main
, а заполнитель для обратной совместимости, указывающий на __git_wrap_main_gitk
, был оставлен на месте.
Исправьте неправильный сценарий в конфигурации завершения. zsh хочет, чтобы здесь был путь завершения bash, а не путь к самому себе.
Когда был вызван __git_complete gitk __gitk_main
, был создан помощник __git_wrap__gitk_main
, который в основном состоит из __git_func_wrap __gitk_main
плюс complete
параметров.
К сожалению, совершает b0a4b2d257 (completion
: добавлена поддержка обратной совместимости, 2012-05-19 , Git v1.7.11-rc0 - merge) пропущен предыдущий экземпляр вызова до _gitk
в _git_gitk
Итак, в основном у нас было __git_wrap__git_main -> __git_func_wrap __git_main -> __git_complete_command gitk
- ›_git_gitk
-› _gitk
- ›__git_wrap__gitk_main -> __git_func_wrap __gitk_main -> __gitk_main
.
Никогда не было необходимости звонить __git_func_wrap
дважды. Поскольку _git_gitk
всегда вызывается внутри оболочки, он может вызывать __gitk_main
напрямую.
Затем в зафиксируйте 441ecdab37 (completion
: bash: удалить старые оболочки совместимости, 2020- 10–27, Git v2.30.0 - слияние, указанное в пакет № 4) _gitk
был удален, что вызывает следующую ошибку:
Вызовем правильную функцию: __gitk_main.
_git_gitk:9: command not found: _gitk
completion
: исправьте инструкции по установке zsh
person
VonC
schedule
09.11.2020