git 附件/ssh:ControlPath 太长
git annex / ssh : ControlPath too long
当 运行 命令:git 附件同步时,出现以下错误:
ControlPath too long
Command ssh ["-S","<local path to git repo>/.git/annex/ssh/git@<git url>","-o","ControlMaster=auto","-o","ControlPersist=yes","git@<git url>","git-annex-shell 'configlist' '<local path to git repo>'"] failed; exit code 255
根据 this ,问题不是 git 而是 ssh(但那里提出的解决方案没有用)。
我能做些什么来避免这个问题?
"-S","<local path to git repo>/.git/annex/ssh/git@<git url>"
此路径不应超过 92 个字符,正如 unix(7) 建议的那样:
When coding portable applications, keep in mind that some
implementations have sun_path as short as 92 bytes.
如果您知道您对目录结构的了解太深并且路径会扩展此限制,您可以根据 .git/config
:[=17 中的 man git-anex 执行以下操作之一=]
使用 annex.sshcaching=off
完全关闭连接共享。 警告:这将显着增加执行所有操作所需的时间和资源!
使用annex.ssh-options="-S=~/.ssh/control-%l.%r@%h:%p" -oControlMaster=auto
为共享连接指定您自己的路径
当 运行 命令:git 附件同步时,出现以下错误:
ControlPath too long
Command ssh ["-S","<local path to git repo>/.git/annex/ssh/git@<git url>","-o","ControlMaster=auto","-o","ControlPersist=yes","git@<git url>","git-annex-shell 'configlist' '<local path to git repo>'"] failed; exit code 255
根据 this ,问题不是 git 而是 ssh(但那里提出的解决方案没有用)。
我能做些什么来避免这个问题?
"-S","<local path to git repo>/.git/annex/ssh/git@<git url>"
此路径不应超过 92 个字符,正如 unix(7) 建议的那样:
When coding portable applications, keep in mind that some implementations have sun_path as short as 92 bytes.
如果您知道您对目录结构的了解太深并且路径会扩展此限制,您可以根据 .git/config
:[=17 中的 man git-anex 执行以下操作之一=]
使用
annex.sshcaching=off
完全关闭连接共享。 警告:这将显着增加执行所有操作所需的时间和资源!使用
annex.ssh-options="-S=~/.ssh/control-%l.%r@%h:%p" -oControlMaster=auto
为共享连接指定您自己的路径