新起一个项目,要从服务端做起。我是用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
~~~