2010-11-15 64 views
8

我一直在嘗試在我的服務器上設置一個mercurial存儲庫,以便我的團隊可以從他們的工作中進行工作。我正在運行Ubuntu服務器10.4,並使用apt-get安裝了mercurial。現在這一切順利。HG推送失敗;權限被拒絕.hg/store/lock

我初始化一個目錄符合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' 

如果任何人有一個解決方案到如何解決這個問題,這將是驚人的。我搜索了一下,發現有類似問題的人,他們說它可能與沒有權限的網絡用戶有關,但我對所有這些都是新手,他們都沒有提供解決方案來解決問題。謝謝你的時間。

回答

10

您必須允許運行Mercurial服務器進程的用戶對存儲庫目錄進行寫入訪問。即運行hg serve的用戶帳戶必須能夠寫入/home/UserName/projects/Project1/

順便提一下,您可以提供有關您用於克隆存儲庫的哪些命令行的更多詳細信息?

+2

爲什麼不執行chown用戶運行汞柱服務和chmod -R 644 PROJECT1? – 2010-11-16 17:26:50

+0

如果您在apache2上運行,則默認用戶:group是www-data:www-data – 2012-09-18 13:08:33

3

在我的情況與Mercurial庫在服務器上管理平臺

HTTP Error: 500 (Permission denied)

運行

chown -R www-data /path/to/repos 

,它爲我工作。

Fuente

相關問題