tag new descargar commits git git-daemon

new - ¿Por qué git-daemon no sirve a mi repositorio?



git tag (2)

O bien, debe colocar un archivo vacío llamado git-daemon-export-ok en el repositorio o iniciar git daemon con la opción --export-all .

Cita de la página del manual de git-daemon:

Verifica que el directorio tenga el archivo mágico "git-daemon-export-ok", y rechazará exportar cualquier directorio de git que no haya sido marcado explícitamente para exportar de esta manera (a menos que se especifique el parámetro --export-all ). Si pasa algunas rutas de directorio como argumentos del demonio git, puede restringir aún más las ofertas a una lista blanca que incluya esas.

Configuré .git en un directorio en mi máquina local. Entonces corro

mkdir a cd a git init git daemon

Cuando intento clonar el repositorio en a , obtengo el siguiente error:

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

¿Cómo puedo clonar mi repositorio sobre el protocolo git?


git-daemon informar a git-daemon que puede exportar su repositorio:

$ 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.

Una forma mucho mejor es ejecutarlo desde xinetd . Crea y ajusta /etc/xinetd.d/git largo de las líneas de

# 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 }

No te olvides de sudo killall -HUP xinetd . Ahora, todos los repositorios de git debajo de /pub/scm estarán disponibles para cualquiera que pregunte.