не могу нажать с gitolite - ENV GL_RC не установлен

У меня есть проблема, аналогичная этому сообщению здесь: gitolite push ошибка -› удаленный: ENV GL_RC не установлен

Я успешно установил gitolite как метод без полномочий root без предупреждений или ошибок. Однако я не могу нажать, так как я получаю ошибки ENV GL_RC not set. (Если я попытаюсь вручную назначить это в своем ENV, у меня возникнут проблемы.)

Я могу клонировать, если использую:

git clone git@server:repositories/gitolite-admin

Решение по приведенной выше ссылке состоит в том, чтобы использовать следующее, чего я не могу сделать. Я не могу клонировать, если использую:

git clone git@server:gitolite-admin

Это выдает ошибку:

Cloning into gitolite-admin...
fatal: 'gitolite-admin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Я не могу установить пакет, так как я на Ubuntu 10.04 LTS, которого нет в списке репозиториев.

Я просмотрел документацию с http://sitaramc.github.com/, но не могу кажется понял. Любые идеи, как я могу это решить?


person yekta    schedule 31.12.2011    source источник


Ответы (1)


Я подтверждаю, что:

a/ git clone git@server:repositories/gitolite-admin будет обходить gitolite, что вызывает ошибку ENV GL_RC not set.

b/ git clone git@server:gitolite-admin является правильным синтаксисом и обычно не работает по ssh причине:

В частности, обратите внимание на опцию command=, которая означает, что независимо от того, что просит сделать входящий пользователь, вместо этого принудительно запустить эту команду.

Без этой опции command= демон ssh просто предоставит вам оболочку, а это не то, что нам нужно для наших ключей gitolite (хотя у нас вполне могут быть другие ключи, которые мы используем для получения оболочки).

Это основа того, что заставляет гитолит работать; пожалуйста, убедитесь, что вы понимаете это.

Если вы заглянете в файл authorized_keys, вы увидите такие записи (я, конечно, обрезал концы, это довольно длинные строки):

command="[path]/gl-auth-command sitaram",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA18S2t...
command="[path]/gl-auth-command usertwo",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArXtCT...

Поэтому проверьте и убедитесь, что все ваши строки в ~git/.ssh/authorized_keys имеют правильный префикс директивы command=.

person VonC    schedule 31.12.2011
comment
Спасибо! Я застрял на этом в течение недели. С новым годом! - person yekta; 01.01.2012
comment
@yekta: добро пожаловать и наилучшие пожелания в новом году (для меня через десять минут) - person VonC; 01.01.2012