монтирование git http репозитория с использованием davfs - PullRequest
0 голосов
/ 10 июня 2011

Я пытаюсь преобразовать некоторые проекты на работе из Subversion в Git. Проекты являются веб-сайтами, и наша текущая настройка subversion использует davfs для монтирования хранилища и указания на него корня документа apache. Таким образом, apache в dev запускает код, который в настоящий момент зарегистрирован в репозитории svn.

крепление:

mount.davfs http://code.repository/svn/site.com /mnt/davfs/site.com

httpd.conf:

ServerName site.com  
DocumentRoot /mnt/davfs/site.com

Я ищу способ имитировать эту настройку с помощью git. Но, насколько я понимаю, монтирование git-репозитория (да, наш git-репозиторий доступен через http) приведет к тому, что внутреннее содержимое git-репозитория будет отображаться как docroot, а не сам код.
Пример:

ls /mnt/davfs/gitrepository

Parent Directory
HEAD
branches/
config
description
hooks/
info/
objects/
refs/

Кто-нибудь знает, есть ли способ добиться желаемого эффекта?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Ну, git-репо - это другой зверь. Если вы хотите просмотреть исходный код, вам нужно что-то вроде gitweb. Имейте в виду, если бы вы только указали на SVN-репо, вы бы тоже смотрели на внутренности; /Mnt/davfs/site.com, вероятно, размещается с помощью apache mod-dav-svn, который делает нечто похожее на то, что делал бы gitweb.

Вы захотите посмотреть на gitweb или соревнование. Gitweb ИМХО самый простой в настройке

https://git.wiki.kernel.org/index.php/Gitweb

Для совместного использования вашего репозитория (например, для его клонирования) просто используйте дерево в качестве статических HTTP-страниц (непосредственно для docroot), потому что davfs не (надежно) не даст другим возможность толкнуть ваш репозиторий в любом случае.

Передача будет выполняться с использованием Smart HTTP-сервера, git-daemon или более ssh

0 голосов
/ 10 июня 2011

Если вы хотите просмотреть код , вы должны использовать что-то вроде gitweb . Если вы хотите нажать / вытащить из репо, то внутренности должны отображаться как докрута.

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

Если вы хотите получить копию кода на сервере из репозитория, вы, вероятно, захотите использовать git archive - возможно, в хуке после получения, если вы хотите, чтобы он запускался каждый раз, когда новый код отправляется в хранилище. Для получения подробной информации см. Следующие справочные страницы:

http://www.kernel.org/pub/software/scm/git/docs/git-archive.html

http://git -scm.com / Docs / githooks

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...