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