2010-07-27 46 views
6

我有一个集中的Mercurial存储库,我想通过SSH提供访问。SSH上的多用户Mercurial存储库?

我做了CHOWN根:开发者资源库目录库-R,所以在组“开发商”所有用户都应该有机会。

因此,我克隆,作为用户A,我的初始文件添加到存储库,提交,推,完成。现在,我以用户B身份进行操作,克隆,添加文件,提交和推送。但后来,当我做一拉,一个更新,并更改该文件作为用户A,然后尝试推,我得到

pushing to /var/hg/repository 
searching for changes 
1 changesets found 
adding changesets 
adding manifests 
adding file changes 
transaction abort! 
rollback completed 
abort: Permission denied: /var/hg/repository/.hg/store/data/test.i 

我失去了配置步骤?我应该不使用SSH?

编辑我发现,使用粘位解决了这个问题:How to set permissions so two users can work on the same hg repository?。这是一个不好的解决方案?

回答

3

粘性组位是正确的方式来做到这一点。此外,过去的情况是,需要设置用户的umasks,以便为他们添加的新文件启用组读/写,但在过去的一两年中mercurial复制.hg目录的权限(不是所有权)在回购本身到新创建的文件,所以umask并不重要。

2

也许你可以通过善变的服务器感兴趣:如果你不想提供一个外壳开发商托管善变的中央存储库服务器http://www.lshift.net/mercurial-server.html

善变的服务器是非常有用的。