¿Por qué se deniega el permiso para bzr push?

user2 quiere bzr push cambios a un directory /home/user1/project/dev . user2 tiene permissions group + rwx en este directory, pero no en mi directory principal /home/user1/

Esto resulta en el error:

bzr: ERROR: Permiso denegado: "h2i9usf1l6ieofpuul87.pack": [Errno 13] Permiso denegado: '/home/user1/.bzr/repository/upload/h2i9usf1l6ieofpuul87.pack'

No tengo claro por qué usuario2 necesita permiso para mi hogar /home/user1/.bzr/ cuando /home/user1/project/dev es una twig de /home/usr1/project/trunk .

Soy relativamente nuevo en el uso de VCS y no estoy seguro de cómo llegué a esta situación. ¿Hay alguna forma de romper la dependencia de /home/user1/.bzr , o crear una twig desde /home/user1/project/trunk/ que no tenga esta dependencia?

Parece que has compartido el repository en /home/user1/ y branch at /home/user1/project/dev está usando ese repository. Por lo tanto, necesita acceso al repository para almacenar nuevas revisiones.

Cómo comprobar: ejecute el command bzr info y compruebe su resultado para la definición de esa twig. Si verá "Árbol de repository" o "Sucursal de repository", entonces esa twig definitivamente usa un repository compartido. Debería ver la ruta al repository en el resultado de la bzr info .

Cómo solucionarlo: indique a bzr que deje de usar el repository compartido ejecutando el command bzr reconfigure --standalone en la twig en /home/user1/project/dev . Verifique la salida de la bzr info nuevamente. Ahora debería llamarse "Árbol independiente" o "Rama independiente". Después de eso, el usuario2 debería poder ingresar con éxito a esa twig.

(proporcionado por el usuario3) Esto se puede solucionar con los siguientes commands (el nombre del grupo es project_dev ):

 chgrp -R project_dev /home/user1/project/dev find /home/user1/project/dev -type d -exec chmod g+s {} \; 
  1. hacer que todos los files sean propiedad del grupo cheas_dev,
  2. agregue el bit adhesivo a todas las carpetas, por lo que todos los files / carpetas creados debajo también serán propiedad del grupo project_dev .

Creo que todos los directorys principales deberían tener permissions de O + x.