2010-07-27 20 views
6

Tengo un repositorio de Mercurial centralizado al que quiero proporcionar acceso a través de SSH.Repositorios Mercurial multiusuario sobre SSH?

Hice una raíz chown: el repositorio de desarrolladores -R en el directorio del repositorio, por lo que todos los usuarios en el grupo 'desarrolladores' deberían tener acceso.

Entonces, clono, agrego mis archivos iniciales al repositorio como usuario A, commit, push, done. Ahora, voy como usuario B, clono, agrego un archivo, confirmo y presiono. Pero entonces, cuando hago un tirón, una actualización, y cambiar ese archivo que el usuario A y luego tratar de empujar, consigo

pushing to /var/hg/repository 
searching for changes 
1 changesets found 
adding changesets 
adding manifests 
adding file changes 
transaction abort! 
rollback completed 
abort: Permission denied: /var/hg/repository/.hg/store/data/test.i 

me estoy perdiendo un paso de configuración? ¿No debería usar SSH?

EDITAR Encontré que el uso del bit adhesivo resuelve el problema: How to set permissions so two users can work on the same hg repository?. ¿Es esta una mala solución?

Respuesta

3

El bit de grupo adhesivo es la forma correcta de hacerlo. Además, solía darse el caso de que las umasks del usuario debían establecerse de manera que la lectura/escritura grupal estuviera activada para los nuevos archivos que agregan, pero durante el último año o dos copias mercuriales los permisos (no la propiedad) del directorio .hg en el repositorio mismo a los archivos recién creados, por lo que umask no es tan importante.

2

Tal vez usted podría estar interesado por mercurial-servidor: http://www.lshift.net/mercurial-server.html

mercurial-servidor es útil si no desea proporcionar una concha a los desarrolladores de servidor de alojamiento repositorio central mercurial.

Cuestiones relacionadas