user2希望bzr将更改推送到目录/home/user1/project/dev
。 user2对此目录具有group + rwx权限,但不在我的主目录/home/user1/
这会导致错误:
bzr:ERROR:权限被拒绝:“h2i9usf1l6ieofpuul87.pack”:[Errno 13]权限被拒绝: '/home/user1/.bzr/repository/upload/h2i9usf1l6ieofpuul87.pack'
我不清楚为什么当/home/user1/.bzr/
分支来自/home/user1/project/dev
时,user2需要获得我家/home/usr1/project/trunk
的许可。
我对使用VCS相对较新,并且不确定我是如何陷入这种困境的。有没有办法打破对/home/user1/.bzr
的依赖,或者创建一个没有这种依赖关系的/home/user1/project/trunk/
分支?
答案 0 :(得分:4)
您似乎在/home/user1/
中拥有共享存储库,/home/user1/project/dev
处的分支正在使用该存储库。因此,它需要访问存储库来存储新的修订版。
如何检查:运行命令bzr info
并检查其输出以获取该分支的定义。如果您将看到"存储库树"或"存储库分支"然后该分支肯定使用共享存储库。您应该在bzr info
的输出中看到存储库的路径。
如何修复:通过在bzr reconfigure --standalone
的分支中执行命令/home/user1/project/dev
,指示bzr停止使用共享存储库。再次检查bzr info
的输出。现在它应该被命名为#34; Standalone tree"或"独立分支"。之后,user2应该能够成功推送到该分支。
答案 1 :(得分:1)
(由user3提供)
可以使用以下命令(组名称为project_dev
)来修复此问题:
chgrp -R project_dev /home/user1/project/dev
find /home/user1/project/dev -type d -exec chmod g+s {} \;
project_dev
所有。答案 2 :(得分:1)
我认为所有父目录都应具有o + x权限。