我一直在尝试在我的服务器上设置一个mercurial存储库,以便我的团队可以使用他们的工作。我正在运行Ubuntu服务器10.4,我使用apt-get安装了mercurial。现在一切顺利。
我用hg初始化了一个目录,我按照以下方式设置了hgrc:
[web]
push_ssl = False
allow_push = *
[trusted]
users = *
groups=
然后我运行hg serve
。服务器开始收听。我可以将此存储库克隆到另一台计算机,但当我尝试推送我的更改时,我收到错误:
C:\Users\UserName\Project1>hg push http://MyInternalIP:8000
pushing to http://MyInternalIP:8000
searching for changes
abort: HTTP Error 500: Internal Server Error
在服务器端,我收到以下错误:
LockUnavailable: [Errno 13] Permission denied: '/home/UserName/projects/Project1/.hg/store/lock'
如果有人有解决方法如何解决这个问题会很惊人。我用Google搜索并发现有类似问题的人,他们说这可能与没有权限的网络用户有关,但我是所有这一切的新手,他们都没有提供解决问题的方法。谢谢你的时间。
答案 0 :(得分:10)
您必须允许对运行Mercurial服务器进程的用户的存储库目录具有写访问权限。即,运行hg serve
的用户帐户必须能够写入/home/UserName/projects/Project1/
顺便说一句BTW,您可以提供有关用于克隆存储库的命令行的更多详细信息吗?
答案 1 :(得分:3)
在我使用redmine上的mercurial存储库的情况下
HTTP错误:500(权限被拒绝)
运行
chown -R www-data /path/to/repos
在服务器上,它对我有用。
(Fuente)