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**
很顯然mercurial不能讓bob看到狀態,因爲它需要讀取的文件屬於我。如何設置權限,以便兩個用戶可以在同一個hg存儲庫上工作?
因此,我更改權限以允許bob讀取文件,並且一切都很好,直到我下一次嘗試做某件事情,從而將情況逆轉。現在他擁有該文件,我無法閱讀它。
所以我建立了一個「提交者」組,並且john和bob都屬於這個組,但是隻要有一個提交或其他提交,它仍然具有所有權和權限的mercurial fiddles。
此外,無論何時我們中的一個人或其他人向存儲庫添加文件,文件都由提交者獨佔。這對我來說很好,因爲我對chmod非常熟悉,但是當我忽視授予他許可時,它會出現一個重要的問題。我想我們只需要一個post-commit鉤子;但只是包括這種症狀...
我們如何配置它,使同一組中的兩個不同的登錄可以通過ssh提交到同一個存儲庫?
你說得對。祕密就在於它的粘性......「chmod g + s .hg .hg/store .hg/store/data」似乎讓事情變得「如此之好」。 – 2010-05-18 01:48:23
是的,這將修復添加的任何新文件。其餘的東西只是爲了修復已經創建的文件。 – 2010-05-18 13:32:40