Gitolite: не могу отправить в репозиторий

Я нахожусь в ситуации, когда у меня есть локальное исходное дерево, клонированное из репозитория git, которое я пытаюсь отправить в новое удаленное место.

Я установил gitolite на сервер с помощью пакетного метода (deb). Я следовал инструкциям вики и успешно завершил git clone gitolite@localhost:gitolite-admin. Затем я добавил новый репозиторий и свои открытые ключи. Я могу клонировать этот репозиторий на свою машину (клиент), но не могу в него втиснуться. документ по устранению неполадок SSH описывает мой сценарий точно:

рассмотрим git@server:repositories/reponame.git. Операция клонирования будет работать - вы используете полный путь Unix (при условии, что значение по умолчанию $REPO_BASE), и поэтому оболочка находит репозиторий там, где вы сказали, что он будет. Однако, когда вы нажимаете, срабатывает хук обновления gitolite, который не запускается, потому что некоторые переменные среды, которые он ожидает, отсутствуют.

Итак, я могу клонировать с помощью

git clone [email protected]:repositories/reponame.git

но не с

git clone [email protected]:reponame.git (я получаю fatal: 'reponame.git' does not appear to be a git repository)

Если я внесу изменения в клонированный (пустой) репозиторий и попытаюсь нажать, я получу

удаленный: ENV GL_RC не установлен удаленный: BEGIN не удалось - компиляция прервана на хуках/обновлении строки 20. удаленный: ошибка: хук отказался обновлять refs/heads/master

Итак, похоже, это связано с префиксом - однако, как я уже упоминал, я не могу клонировать репо без включения спецификатора repositories/ в путь.

Это и имеется в виду под "обходом гитолита"? Как я могу исправить ситуацию? В конечном счете, я хочу передать все ранее существовавшее исходное дерево на новый удаленный сервер (я добавил новый сервер в качестве удаленного в .git/config) и сохранить историю.


person appas    schedule 09.01.2012    source источник


Ответы (2)


Я бы порекомендовал установить gitolite клиентским методом. Для меня он позаботился об этой точной проблеме.

person Adam Dymitruk    schedule 09.01.2012
comment
Я сделал это, но застрял в той же ситуации. - person appas; 10.01.2012
comment
Хм. Вы связывались с Ситарамом на канале #git в IRC? Он был очень полезен там, как и все остальные .. - person Adam Dymitruk; 10.01.2012

git clone [email protected]:reponame.git (я получаю фатальное: «reponame.git» не является репозиторием git)

Путь reponame.git неверен. Вы должны добавить репозитории префикса/

git clone [email protected]:repositories/reponame.git 

означает, что reponame.git находится в /home/gitolite/repositories/reponame.git.

person Haifeng Li    schedule 20.12.2014