2011-12-02 48 views
0

user2想要bzr將更改推送到目錄/home/user1/project/dev。用戶2具有此目錄的組+ rwx權限,但不是在我的主目錄/home/user1/爲什麼拒絕bzr推送的權限?

這將導致錯誤:

bzr: ERROR: Permission denied: "h2i9usf1l6ieofpuul87.pack": [Errno 13] Permission denied: '/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/創建沒有此依賴關係的分支?

回答

1

(由用戶3提供) 這可能使用下面的命令是固定的(組名稱爲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所有。
+0

這不是一個粘性位(1777或t)。這是一個setgid位(2777或s)。 – kubanczyk

4

看來您已在/home/user1/中共享存儲庫,並且在/home/user1/project/dev處的分支正在使用該存儲庫。因此它需要訪問存儲庫來存儲新的修訂版本。

如何檢查:運行命令bzr info並檢查其輸出以確定該分支的定義。如果你會看到「Repository tree」或「Repository branch」,那麼該分支肯定使用共享庫。您應該在bzr info的輸出中看到存儲庫的路徑。

如何解決:通過在/home/user1/project/dev的分支中執行命令bzr reconfigure --standalone來指示bzr停止使用共享存儲庫。再次檢查輸出bzr info。現在它應該被命名爲「獨立樹」或「獨立分支」。之後,user2應該能夠成功推送到該分支。

+0

謝謝你的回答。這是有道理的,但它只是改變了錯誤:'錯誤:權限被拒絕:'/ home/user1/project/dev/.bzr/repository/upload/h2i9usf1l6ieofpuul87.pack'bzr:[Errno 13] Permission denied' I have發佈了另一種解決方案,仍在等待聽到它是否有效。 –

1

我覺得所有的父目錄應該有o + x權限。