通過IIS在Windows窗口託管Mercurial。自動化Hg通知配置更新
我有,我把我所有的回購的根目錄
d:\repos
- ProjectA
- .hg
- hgrc
- ProjectB
- .hg
- hgrc
- ProjectC
- .hg
- hgrc
所有回購hgrc文件設置的通知擴展用:
配置= d:\汞柱\庫\ NotificationList .TXT
這樣,我有一個單一的文件來管理所有的通知收件人,像維基描述: https://www.mercurial-scm.org/wiki/NotifyExtension
但是wiki提到通過它自己的存儲庫來控制NotificationList.txt文件?我怎樣才能做到這一點?如果我在d:\ repos \ HgNotify上創建一個單獨的repo,並在其中具有NotificationList.txt文件,則用戶可以更改,提交和推回,但是當發生推送時,NotificationList.txt不會在hg服務器上得到更新。
有沒有辦法更新該文件?我錯過了我的Hg服務器上的一個關鍵設置嗎?或者我需要使用推後鉤來部署該文件嗎?
更新1
我加了蒂姆的回答細節,我一直得到HTTP 500:服務器錯誤就推。我終於弄清楚如何跟蹤蟒蛇電話(python -m win32traceutil
),這裏是什麼似乎是這個問題:
File "C:\Python27\lib\site-packages\mercurial\util.py", line 402, in hgexecutable
exe = findexe('hg') or os.path.basename(sys.argv[0]) AttributeError: 'module' object has no attribute 'argv'
這似乎並不能夠找到hg.exe。
更新2
我安裝TortoiseHg並重新啓動系統。現在,我得到: 表情:新增1名的變更與1變到1文件 遠程:通知:發送1個用戶1變爲 遠程:警告:changegroup.update鉤與狀態退出1
所以這讓被認爲是找到了hg.exe,但它沒有做它的工作,因爲文件沒有更新
更新3
找到我這裏的解決方案:https://stackoverflow.com/a/8023594/698
我結束了使用命令行是:
changegroup = cmd /c hg update
我還補充說: [UI] 調試=真
要我hgrc。這兩個結合給了我更多有意義的信息。最後我看到「訪問被拒絕」。我給了用戶完全權限,但我不確定爲什麼給予IUSR完全權限不起作用。我稍後必須深入研究的內容。
這是我得到的時候我推:HTTP錯誤:500(內部服務器錯誤) [命令返回代碼255 Thu Feb 07 13:02:53 2013]。我不知道該在哪裏查看更多細節。 – slolife
你是否只通過changegroup掛鉤獲得這個?如果是這樣,請添加'--traceback'選項:'changegroup.update = hg --traceback update -C'。這可能是因爲您正在使用Web服務器進行回購 - 它可能沒有權限執行更新。我建議尋找[mercurial-server](https://www.lshift.net/mercurial-server.html)。 –
我添加了changegroup.update = hg --traceback update -C,但沒有看到任何更多的細節。看到我的更新1關於找不到hg.exe – slolife