
Ich habe Gitolite installiert und für mich als Administrator funktioniert alles einwandfrei. Aber wenn ich einen neuen Benutzer hinzufügen möchte, kann dieser keine Verbindung zum Server herstellen. Nachdem ich in die Datei authorized_keys geschaut habe, habe ich gesehen, dass der neue Benutzer nicht zur Datei hinzugefügt wurde. Während des Commits des neuen öffentlichen Schlüssels erhalte ich folgendes:
WARNING: split conf not set, gl-conf present for 'gitolite-admin'
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 882 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: WARNING: split conf not set, gl-conf present for 'gitolite-admin'
remote: WARNING: ?? @staff christianwaldmann markwelch
remote: sh: find: command not found
remote: sh: find: command not found
remote: sh: sort: command not found
remote: sh: find: command not found
remote: /usr/local/bin/triggers/post-compile/update-gitweb-access-list: line 26: cut: command not found
remote: /usr/local/bin/triggers/post-compile/update-gitweb-access-list: line 23: grep: command not found
remote: /usr/local/bin/triggers/post-compile/update-gitweb-access-list: line 26: sort: command not found
remote: /usr/local/bin/triggers/post-compile/update-gitweb-access-list: line 26: sed: command not found
remote: sh: find: command not found
remote: sh: find: command not found
Wie kann ich beheben, dass Gitolite den neuen Benutzer automatisch zu den autorisierten Schlüsseln hinzufügt?
Antwort1
Die Sektion "ungewöhnliche Fehler" Geben Sie einige mögliche Ursachen an.
(Fall 1) Sie haben ein Bare-Repo ("
repo.git
") von einer andereng3
Site (oderg2
mitGL_BIG_CONFIG
on) kopiert.
Dann haben Sie eine Änderung an "gitolite.conf
" gepusht oder bestimmte serverseitige Befehle ausgeführt, ohne das Repo zur Conf hinzuzufügen.Umgekehrt,Sie haben "repo" aus "
gitolite.conf
" entfernt, aber nicht das eigentliche "repo.git
" auf der Festplatte.(Fall 2) Das kann auch passieren, wenn du so etwas geändert hast
repo foo
...<some rules>...
dazu:
@grp = foo
repo @grp
...<some rules>...
Auch Ausführen
gitolite setup
kann das Problem nicht beheben.
Aber das Ganze läuft auf Folgendes hinaus:
Die Grundursache ist eine interne Konsistenzprüfung, die ich nicht deaktivieren oder unterlaufen möchte.
Sie ist aus einem bestimmten Grund vorhanden und ich würde eine Warnung bevorzugen, die ein Mensch untersuchen kann.Wenn Sie sicher sind, dass einer der beiden oben genannten Gründe vorliegt, können Sie im Fall 1 entweder das Repo zur Conf-Datei hinzufügen oder
repo.git
im Fall 2 die GL-Conf-Datei manuell aus dem Verzeichnis entfernen.Führen Sie in jedem Fall anschließend das Gitolite-Setup aus, um sicherzustellen, dass alles in Ordnung ist.
In diesem Fall war die Lösung ein kompletter „Reset“, da dieOP-CrashbusErwähnungenin den Kommentaren:
Ich habe das Problem gelöst, indem ich den
git
Benutzer " " vollständig aus dem System gelöscht und das Tutorial-Formular befolgt habeGit "Server" unter OS X Lion.