Gitolite локальная рабочая копия для Apache DocumentRoot - PullRequest
4 голосов
/ 02 мая 2011

У меня есть настройки системы с git и gitolite.Все работает хорошо, за исключением того, что я хочу, чтобы моя структура была такой:

Локальная среда -> Сервер разработки -> Рабочий сервер

У меня есть настройка репозитория на сервере dev, и она успешноклонировали до местной среды.Теперь мне нужна рабочая копия локальной файловой системы на сервере разработки, но я не уверен, как это сделать с помощью gitolite.

git clone /home/gitolote/repositories/myrepo.git

Работает нормально, пока я не попытаюсь нажать / вытащить, после чегоЯ получаю это:

remote: ENV GL_RC not set
remote: BEGIN failed--compilation aborted at hooks/update line 20.
remote: error: hook declined to update refs/heads/master

Любые идеи о том, как это сделать с гитолитом?

Ответы [ 2 ]

8 голосов
/ 02 мая 2011

Вы используете локальный протокол для своего клона, что означает, что вы полностью обходите gitolite (скрипт gitolite вызывается с помощью ssh принудительной команды ).

Вы должны сделать второй клон на сервере разработки, используя адрес, совместимый с gitolite, например:

git clone git@gitoliteserver:myrepo.git

Это второе хранилище сможет выдвигать / извлекать сервер gitolite и извлекать его, предоставляя «рабочую копию локальной файловой системы» на сервере разработки, к которому вы стремитесь.

3 голосов
/ 06 июня 2013

Если вам требуется использовать локальный протокол , все, что вам нужно, это установить для переменной среды GL_BYPASS_UPDATE_HOOK значение 1:

gorgo@somegitoliteserver:~/testing$ GL_BYPASS_UPDATE_HOOK=1 git push
Counting objects: 3, done.
Delta compression using up to 3 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 234 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (2/2), done.
To file:///home/gitolite/repositories/testing.git/
96be337..ab5ca6d  master -> master
...