Почему git-daemon не будет обслуживать мой репозиторий? - PullRequest
25 голосов
/ 29 марта 2010

Я настроил .git в каталоге на моей локальной машине. Затем я запускаю:

mkdir a
cd a
git init
git daemon

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

mkdir b
cd b
git clone git://127.0.0.1
Initialized empty Git repository in /b/127.0.0.1/.git/
fatal: The remote end hung up unexpectedly

Как я могу клонировать свой репозиторий по протоколу git?

Ответы [ 2 ]

44 голосов
/ 29 марта 2010

Вы должны сообщить git-daemon, что он может экспортировать ваш репозиторий:

$ git init --bare /tmp/my-repo.git
Initialized empty Git repository in /tmp/my-repo.git/

$ git daemon --verbose --base-path=/tmp --export-all /tmp/my-repo.git &

$ git clone git://`hostname`/my-repo.git
Initialized empty Git repository in /tmp/my-repo/.git/
warning: You appear to have cloned an empty repository.

Гораздо лучший способ - запустить его с xinetd. Создайте и настройте /etc/xinetd.d/git в соответствии с

# description: The git server offers access to git repositories
service git
{
        disable = no
        type            = UNLISTED
        port            = 9418
        socket_type     = stream
        wait            = no
        user            = nobody
        server          = /usr/local/bin/git
        server_args     = daemon --inetd --export-all --base-path=/pub/scm
        log_on_failure  += USERID
}

Не забудьте sudo killall -HUP xinetd. Теперь все git-репозитории ниже /pub/scm будут доступны всем, кто спрашивает.

13 голосов
/ 29 марта 2010

Вы должны поместить пустой файл с именем git-daemon-export-ok в хранилище или запустить git daemon с параметром --export-all.

Цитата из git-daemon Справочная страница :

Он проверяет, что каталог имеет Волшебный файл "git-daemon-export-ok" и он откажется экспортировать любой мерзавец каталог, который явно не был помечен для экспорта таким образом (если указан параметр --export-all). Если вы передадите несколько путей к каталогам как аргументы git daemon, вы можете дальше ограничить предложения белым списком состоящий из тех.

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