Ubuntu: Jaunty
Mercurial: 1.3.1
Access: ssh (users john and bob)
File permission: -rw-rw---- 1 john john 129276 May 17 13:28 dirstate
User: bob
Command: 'hg st'
Response:
**abort: Permission denied: /our/respository/.hg/dirstate**
Obviamente mercurial no puede dejar que bob vea el estado porque el archivo que necesita leer me pertenece.¿Cómo establecer permisos para que dos usuarios puedan trabajar en el mismo repositorio de hg?
Así que cambio los permisos para permitir que bob lea el archivo y todo está bien, hasta que vuelva a intentar hacer algo, por lo que las situaciones se invierten. Ahora él posee el archivo y no puedo leerlo.
Así que configuré un grupo de "committers" y tanto john como bob pertenecen al grupo, pero aún así violonchelos con la propiedad y los permisos cuando uno u otro commit.
Además, cada vez que uno de nosotros agregue un archivo al repositorio, el archivo es propiedad exclusiva del autor. Eso está bien para mí, ya que estoy lo suficientemente familiarizado con chmod, pero presenta un gran problema para bob cuando me niego a concederle permiso. Supongo que solo necesitamos un gancho post-commit para eso; pero solo para incluir este síntoma ...
¿Cómo lo configuramos para que dos inicios de sesión diferentes en el mismo grupo puedan comprometerse con el mismo repositorio sobre ssh?
Tienes razón. El secreto es el bit adhesivo ... "chmod g + s .hg .hg/store .hg/store/data" parece haber hecho las cosas 'tan-tan-tan-buenas'. –
Sí, eso arreglará cualquier archivo nuevo agregado. El resto de esas cosas solo era para reparar archivos ya creados. –