LINUX.ORG.RU

статическое зеркало git

 


0

1

хрен с ней, с невменяемостью протоколов, когда ssh:// в 3 из 4 случаев распознаётся, а в 4-м считается, что это каталог. если сделать на одной стороне git init, а на другой git push - то всё срабатывает

осталось только понять, что такое вот это .git, и чем один .git отличается от другого

суть зеркала должна быть такова - есть набор каталогов git/path, и в их случае всегда должен работать git clone http://server/git/path. также в этом каталоге дожен по хуку отрабатывать stagit, т.е. когда заходим туда браузером - видим статику от stagit, а когда на этот же адрес делаем git clone - получаем сам репозиторий

когда я делаю git init path, включаю хук post-update а потом делаю туда push, оно мне говорит, что не в bare-репозиторий оно так делать не будет. когда же я захожу в path, и делаю git init --bare .git, то git clone http://server/git/path не работает, только http://server/git/path/.git - но это не то

в общем, задача такая - по push оно должно сделать update-server, должен отработать stagit, и один http-адрес должен быть и веб-интерфейсом, и адресом клонинга - и всё это должно быть статикой

главный вопрос, собственно один - как так делать push, чтобы потом адрес сервера можно было клонировать - чтобы в path/.git лежала метаинформация для git, а в path/ - веб-страницы stagit

в .hg это делается элементарно, там всегда, где есть .hg в каталоге - он всегда может использоваться, как репозиторий, ничего делать не надо. но фишка в том, что все эти утилитки пишутся для невменяемого git - мне нужны и gogs, и статика, а ничего этого для hg нет.

★★★★★

Последнее исправление: buratino (всего исправлений: 1)

на мешке костылей кое-как собрал

мда, git чуть дальше стандартного использования - это капец

buratino ★★★★★
() автор топика
Ответ на: комментарий от buratino

Возможно, полезным будет упомянуть ключи --git-dir=<$CODEDIR/.git> и --work-tree=<$CODEDIR> . (В треугольных скопбках, понятно, что, обратить внимение на указание .git для git-dir).

Это позволит выполнять команды git не в текущем каталоге, и указывать .git отдельно (в отличие от опции -C). Короче, может будет полезно для указания каким-нибудь фронтэндам.

PS ненавижу hg. его дебильные ветки-не-ветки. его привязка имени ветки к ченжсету... буэээ :)

Deleted
()
Ответ на: комментарий от anonymous

а можно в двух словах, что это делает?

buratino ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.