2010-10-17 73 views
0

Mercurial提供了在本地網絡服務器上查看代碼,日誌,分支等的功能。Mercurial localhost「site」代碼概述。問題

只需輸入命令你的項目的文件夾中的「汞服務」,將使您可以查看所有這一切對http://127.0.0.1:8000/

我這裏有一些問題。

1)看起來您一次只能爲一個項目執行此操作,因爲這會預留8000端口。因此,如果我有多個不同的項目需要多個人隨時查看, 我該怎麼辦?

2)「文件」概覽列出所有現有的文件。沒有樹結構或任何東西,它只是將它們列在一個長行中,僅通過盒子的CSS具有最大寬度集的事實才能進入換行。有沒有辦法解決這個問題,還是我堅持下去?

回答

3

hg serve接受控制偵聽端口的-p選項。

hg serve -p 8001 
+0

很高興知道! +1 – Klaim 2010-10-17 23:30:33

4

hg serve意味着允許例如兩個同事暫時暴露一個人的回購協議,而其他將拉動變化。這不是一個完整的回購發佈服務,它只是一個非常有用的工具,可以在短時間內傳達更改。

如果你想從你自己的服務器上(永久)揭露幾個回購,你就必須做更多:https://www.mercurial-scm.org/wiki/PublishingRepositories

您也可以使用像http://bitbucket.org公共託管服務(即允許私人項目爲過免費,在條件下),Sourceforge.net或http://code.google.com/hosting(只允許開源項目)。

3

使用--web-conf參數,可以使用hgwebdir配置文件,該文件從一個URL指定多個存儲庫。

我已經發現如果你不想在apache上設置hgwebdir,一個好的解決方案是使用mercurial-server通過ssh(僅限證書)提供服務(推輓)存儲庫並使用hg serve使用圖表日誌等公開一個只讀web視圖。顯然,這假設web視圖不會有大量的流量 - 如果你需要這樣做,花點時間用mod_wsgi設置apache。

例如,我的個人服務器(使用水銀服務器與/home/hg主目錄)具有/etc/init.d/hgserve該調用是這樣的:

hg serve --daemon --port 8000 --web-conf /home/hg/hgweb.config --accesslog /var/log/mercurial/access.log --errorlog /var/log/mercurial/error.log

hgweb.config只包含:

 
[paths] 
repos = /home/hg/repos/* 

然後顯示它在/home/hg/repos下找到的每個存儲庫的列表。如果我想隱藏任何(例如那善變服務器使用hgadmin回購)我只是添加以下回購的hgrc

 
[web] 
hidden = True 

由於文件列表 - 你也許可以通過修改模板,使地方和--template參數傳遞給hg serve 。在你的mercurial圖書館將是mercurial/templates目錄 - 這包含hg serve使用的所有模板 - 將它複製到某處然後修改。各種網頁的模板位於mercurial/templates/paper目錄中(並且mercurial/templates/static包含樣式表和JavaScript)。

不幸的是,我所做的唯一修改是添加一個虛線,將圖中的每個節點鏈接到它的文本(我發現這使得圖更加可讀),所以我不知道你是否可以只用模板爲文件列表做任何事情。