总之,用户对仓库目录要有写权限
00changelog, access is denied, hg, http error 500, mercurial, permissions, push
Mercurial HTTP Error 500: Access is denied on 00changelog.i
Today I created a new Mercurial repository on a Windows server. I cloned it, made some changes, tried to push, and was greeted with this:
C:myapplication>hg push
pushing to http://servername/myapplication
searching for changes
abort: HTTP Error 500: .hgstore0changelog.i: Access is denied
My user account had write permission to the myapplication folder on the server, and the odd thing is that I’ve created repositories there before and never had a problem pushing changes. I compared 00changelog.i to the same file in another repository that was working. Turns out I was using anonymous authentication and IUSR was missing write permission. I gave full control to IUSR on hgstore folder and…
C:myapplication>hg push
pushing to http://servername/myapplication
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 114 changes to 114 files
Success!
If you’re having problems pushing to a central server with Mercurial, make sure the IIS anonymous authentication account (IUSR or IUSR_MachineName) you have write permission to the hgstore folder and subfolders in your repository.