新起一个项目,要从服务端做起。我是用docker搭建的hg server,我的repos目录在~/hg-repos/repos下,那么我可以去此目录init一个项目,然后其他端就可以clone下来。问题是我在此目录做 hg init 操作需要root权限,如下:
$ sudo hg init linctest
$ ll
drwxr-xr-x 3 root root 4096 3月 26 17:59 linctest/
那么在push代码时就会发生如下错误:
$ hg push
pushing to http://linc-ubuntu/linctest
searching for changes
http authorization required for http://linc-ubuntu/linctest
realm: Repositories
user: linc
password:
abort: HTTP Error 500: Permission denied
原来阿,还是目录权限的问题,或者说是目录的所有者问题。
看看其他项目就知道了。
$ ll
drwxrwxr-x 3 www-data www-data 4096 1月 30 14:18 xxxxx
此时,只需做一下改变就可以了。
$ sudo chown www-data:www-data -R linctest

本文讨论了使用Docker搭建的HgServer在初始化项目时遇到的权限问题,并详细解释了如何通过更改所有者权限来解决HTTP授权错误。

被折叠的 条评论
为什么被折叠?



