火速配置完成mercurial(Hg)中心版本庫,支援push/pull

來源:互聯網
上載者:User

雖然ssh方法非常完全,卻不敏捷。。SCM基本上是只增不減的東西,所以支援push非常重要!

 

最好懂的方法是用hg serve,不過他不支援push,好吧。。而且預設連接埠是8000,我們要的是80,因為方便輸入。。

所以。。最快的辦法是在版本庫目錄輸入:

echo "[web]" >>.hg/hgrc
echo "allow_read = *" >>.hg/hgrc
echo "allow_push = *" >>.hg/hgrc
echo "push_ssl   = false" >>.hg/hgrc

然後再hg serve (如果你可以用80連接埠,用hg serve -p 80)也可以。

 

 

當要配置的hg庫超過兩個時,用hg serve就不如用hgwebdir.cgi方便了(你問為什麼不用hgweb.cgi,啊,

都這樣了,當然選更複雜更強大的方案啦)。

 

在這裡只說和apache2整合的方法,支援basic使用者認證。

 

首先安裝好apt-get install apache2 mercruial,再用hg clone http://selenic.com/repo/hg拿到hgwebdir.cgi。。

 

--把hgwebdir.cgi放到/var/www,(預設的web根目錄)

--修改apache2中心配置(一般在/etc/apache2/site-available/default),加入一行:

ScriptAlias /hg "/var/www/hgwebdir.cgi"

--對中心倉庫我們選用任讀限寫的模式,所以在apache中還要加一些配置:

<Location /hg>
AuthType Basic
AuthName "Mercurial repositories"
AuthUserFile /var/www/hgusers
<LimitExcept GET>
Require valid-user
</LimitExcept>
</Location>
--編輯檔案/var/www/hgweb.config,內容為(設定hg倉庫集中在/var/hg/repo目錄下):
[collections]
/var/hg/repo=/var/hg/repo
[web]
allow_push = *
push_ssl = false

--添加兩個使用者的方法,是運行htpasswd命令:
#rm /var/www/hgusers (如果想清空使用者名稱)
htpasswd -c /var/www/hgusers user1 (首次要加-c)
htpasswd /var/www/hgusers user2
--提下來別忘了重要的:加上檔案許可權
chmod a+r /var/www/hgusers
chmod a+x /var/www/hgwebdir.cgi
chmod a+r /var/www/hgweb.config
chmod -R a+w /var/hg/repo

好了,restart apache2,再訪問http://localhost/hg,應該可以看到倉庫列表,
並且支援user1和user2的push,和匿名的pull了。



P.S:
以上配置應對的是最簡單的情況,如有疑問,可以留言,或參閱:
http://mercurial.selenic.com/wiki/PublishingRepositories#multiple

希望mercurial(Hg)越來越好~~~


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.