Вывод Git "Подмодуль зарегистрирован для пути", смешанный с конфигом псевдонимов - PullRequest
0 голосов
/ 20 февраля 2019

(Первоначально задавался в списке рассылки Git и в списке рассылки Git For Windows , пока без ответа.)

Проблема

Во время выполнения команды git clone --recurse-submodules https://repo я заметил странный вывод команды git во время инициализации подмодулей:

Submodule 'Binary/A' (https://repo) registered for path '!f() { ~/AppData/Local/Fork/Fork.exe $PWD; }; fBinary/A'
Submodule 'Binary/B' (https://repo) registered for path '!sh -c 'git log $1@{1}..$1@{0} $@'Binary/B'
Submodule 'Binary/C' (https://repo) registered for path 'ls-files -o -i --exclude-standardBinary/C'
Submodule 'Binary/D' (https://repo) registered for path 'mergetool.TortoiseGitMerge.trustexitcodeBinary/D'

Команда, кажется, работает нормально и успешно завершается.

Частичная диагностика

Мне удалось определить, что это за мусор, впрыскиваемый в печатные пути подмодулей.Это происходит из псевдонимов git, которые я настроил, например, в ~/.gitconfig есть это:

[include]
path = ~/alias_misc.gitconfig

и в ~/alias_misc.gitconfig есть этот псевдоним

[alias]
fapp = "!f() { ~/AppData/Local/Fork/Fork.exe $PWD; }; f"

, которыйвставляется в путь Binary/A в выводе git clone, скопированном выше.

(Все файлы доступны на GitHub ).

Вопрос

Может ли кто-нибудь объяснить, почему git случайным образом вставляет определения псевдонимов в свой вывод?

Что-то не так с моими файлами конфигурации Git?

1 Ответ

0 голосов
/ 21 февраля 2019

TL; TR: это была ошибка в Git, исправленная в 2.21.

Я получил ответ на мое оригинальное сообщение в списке рассылки Git:

Конечно, мы исправили кучу проблем с getenv () в следующем выпуске 2.21, включая 8aac69038f (get_super_prefix (): copy getenv () result, 2019-01-11).

I 'Убедитесь, что проблема больше не возникает в git версии 2.21.0.rc2.windows.1

...