почему в bzr push отказано в разрешении? - PullRequest
0 голосов
/ 02 декабря 2011

пользователь2 хочет, чтобы bzr внес изменения в каталог /home/user1/project/dev. Пользователь user2 имеет права доступа группы + rwx для этого каталога, но не для моего домашнего каталога /home/user1/

Это приводит к ошибке:

bzr: ОШИБКА: В доступе отказано: "h2i9usf1l6ieofpuul87.pack": [Errno 13] В доступе отказано: «/home/user1/.bzr/repository/upload/h2i9usf1l6ieofpuul87.pack'

Мне не понятно, зачем user2 нужно разрешение на мой дом /home/user1/.bzr/, когда /home/user1/project/dev это ветвь от /home/usr1/project/trunk.

Я относительно новичок в использовании VCS и не уверен, как я попал в это затруднительное положение. Есть ли способ разорвать зависимость от /home/user1/.bzr или создать ветку из /home/user1/project/trunk/, которая не имеет этой зависимости?

Ответы [ 3 ]

4 голосов
/ 02 декабря 2011

Кажется, у вас есть общий репозиторий в /home/user1/, и ветвь в /home/user1/project/dev использует этот репозиторий.Поэтому ему необходим доступ к репозиторию для хранения новых ревизий.

Как проверить: выполните команду bzr info и проверьте ее вывод для определения этой ветви.Если вы увидите «Дерево репозитория» или «Ветвь репозитория», то эта ветвь определенно использует общий репозиторий.Вы должны увидеть путь к репозиторию в выходных данных bzr info.

Как исправить: дайте команду bzr прекратить использовать общий репозиторий, выполнив команду bzr reconfigure --standalone в ветви на /home/user1/project/dev.Проверьте вывод bzr info еще раз.Теперь оно должно называться «Автономное дерево» или «Автономная ветка».После этого user2 сможет успешно перейти в эту ветку.

1 голос
/ 20 апреля 2012

Я думаю, что все родительские каталоги должны иметь o + x разрешения.

1 голос
/ 02 декабря 2011

(предоставлено user3) Это можно исправить с помощью следующих команд (имя группы project_dev):

chgrp -R project_dev /home/user1/project/dev
find /home/user1/project/dev -type d -exec chmod g+s {} \;
  1. сделать все файлы, принадлежащие группе cheas_dev,
  2. добавьте закрепленный бит во все папки, чтобы все файлы / папки, созданные в нем, также принадлежали группе project_dev.
...