2015-09-04 5 views
10

beim Ausführen des Befehls: git Anhang Sync, erhalte ich folgende Fehlermeldung:git Anhang/ssh: ControlPath zu lange

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 

nach this, ist das Problem nicht git aber ssh (aber die Lösung vorgeschlagen funktioniert nicht).

Alles, was ich konnte, um dieses Problem zu vermeiden?

Antwort

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

Dieser Pfad 92 Zeichen lang sein sollte nicht länger als, wie unix(7) schlägt: zu tief tauchen in der Verzeichnisstruktur

When coding portable applications, keep in mind that some implementations have sun_path as short as 92 bytes.

Wenn Sie wissen, und der Pfad wird diese Grenze erweitern, können Sie Sie eines dieser Dinge, basierend auf man git-anex in Ihrem .git/config:

  1. Schalten Sie Verbindung vollständigteilen mit. Warnung: Dies wird die Zeit und die Ressourcen erheblich erhöhen, die für alle Operationen erforderlich sind!

  2. Ihren eigenen Weg zur gemeinsamen Verbindungen angeben, mit annex.ssh-options="-S=~/.ssh/control-%l.%[email protected]%h:%p" -oControlMaster=auto

+0

sshcaching = false (Anmerkung: nicht 'off') führt zu: 'Gitlab: Unzulässig Befehl'. Das Spielen mit ssh-options ändert alles (ich habe verschiedene Dinge ausprobiert, einschließlich Ihres Vorschlags), besonders die Liste, die nach 'Command ssh' angezeigt wird, ändert sich nicht. – Vince

+0

Ich habe die Antwort etwas bearbeitet, weil ich die 'ControlMaster' Option vermisst habe. Aber es ist möglich, dass es durch den Anhang überschrieben wird. Was passiert, wenn Sie beide von mir geposteten Punkte angeben? Wenn nichts hilft, geben Sie die Ausgabe mit 'annex.ssh-options =" ​​- vvv "' – Jakuje

+0

sshcaching = aus und ssh-options = "- vvv"/"- S = ~/.ssh/control-% l.% R @% h:% p "-oControlMaster = auto" führt zu keinen Änderungen an der Ausgabe. sshcaching = false führt zu [start] GitLab: Nicht erlaubter Befehl Befehl ssh ["", "git-annex-shell 'configlist' '' "] fehlgeschlagen; Code 1 beenden [Ende]. ssh-Optionen scheinen tatsächlich ignoriert zu werden – Vince

Verwandte Themen