昨天搭建了个可供clone、push等操作的mercurial(hg)的repository,但让别人 hg push 时就不成功,报错信息为:
1 2 3 4 |
[root@jay-linux temp.hg]# hg push pushing to http:xxxx searching for changes abort: HTTP Error: 500 (Permission denied: .hg/store/lock) |
其实以前也解决过这个问题的,只是忽然记不太清了,还是再记录一下吧~~
我是用hgwebdir这个CGI程序来做的,运行在Apache服务器上。
在hg repo的.hg/hgrc配置文件中,我已经加了如下的信息了:
1 2 3 |
[web] push_ssl = false allow_push = * |
不过,发现hg repo的目录对Apache用户是不可写的,而启动Apache进程时,是默认使用Apache这个用户启动的。所以修改hg Repo的读写权限或者用户组权限等,使执行apache的用户对该目录可读可写即可。