11

运行命令时: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(但那里提出的解决方案不起作用)。

我能做些什么来避免这个问题?

4

1 回答 1

9
"-S","<local path to git repo>/.git/annex/ssh/git@<git url>"

正如unix(7)所建议的那样,这条路径不应超过 92 个字符:

在编写可移植应用程序时,请记住某些实现的 sun_path 短至 92 字节。

如果您知道您在目录结构中潜得太深并且路径会扩展此限制,您可以根据以下内容中的man git-anex执行以下操作之一.git/config

  1. 使用 完全关闭连接共享annex.sshcaching=off警告:这将显着增加执行所有操作所需的时间和资源!

  2. 指定您自己的共享连接路径,使用annex.ssh-options="-S=~/.ssh/control-%l.%r@%h:%p" -oControlMaster=auto

于 2015-09-04T08:56:06.253 回答