Git приложение /ssh: ControlPath слишком длинный

при запуске команды: git приложение sync, я получаю следующую ошибку:

ControlPath too long
Command ssh ["-S","<local path to git repo>/.git/annex/ssh/[email protected]<git url>","-o","ControlMaster=auto","-o","ControlPersist=yes","[email protected]<git url>","git-annex-shell 'configlist' '<local path to git repo>'"] failed; exit code 255

в соответствии с этим, проблема не в git, а в ssh (но предлагаемое там решение не работает).

Все, что я мог, чтобы избежать этой проблемы?

Ответ 1

"-S","<local path to git repo>/.git/annex/ssh/[email protected]<git url>"

Этот путь не должен быть длиннее 92 символов, поскольку unix (7) предлагает:

При кодировании переносных приложений имейте в виду, что некоторые   В реализациях есть sun_path длиной до 92 байт.

Если вы знаете, что слишком глубоко погружаетесь в структуру каталогов, и путь расширит этот предел, вы можете сделать одну из этих вещей на основе man git -anex в вашем .git/config:

  • Полностью отключите общий доступ к подключению, используя annex.sshcaching=off. Предупреждение: Это значительно увеличит время и ресурсы, необходимые для выполнения всех операций!

  • Укажите свой собственный путь для общих подключений, используя annex.ssh-options="-S=~/.ssh/control-%l.%[email protected]%h:%p" -oControlMaster=auto