[mercurial] web server搭建過程及相關問題的解決

最近,有一項工作需要和實習生一起完成。該工作主要是檢查數據,因此,文本文件很多,需要臨時進行版本控制一下。由於不是很熟悉ssh的方式,於是採用最簡單的http的方式搭建Repo進行管理。

軟件準備:tortoisehg, conemu

軟件設置:conemu, 在當前文件下的右鍵命令裏添加“conemu here”,可以在當前文件下直接打開conemu,且在當前目錄,步驟如下:

1. 打開conemu, 右鍵點擊上邊框,選擇“settings".

2. 看左側欄,選中”Features -> Integration".

3. 看右側,在"ConEmu here"下有個”Register“,點一下,然後點"save settings"進行保存。OK!


使用web server的步驟如下:

1. 創建repo。 新建一個文件夾,取名爲Repo的名字。在當前文件夾下右鍵,選擇“ConEmu here"。在打開的命令行中輸入: hg init,然後回車執行命令。會生成一個.hg的文件夾,這是系統文件不用搭理。

2. 把相關資料整齊的放到該文件夾下。然後輸入命令:hg addremove。然後再次輸入命令:hg ci -m "Create Repo"。這樣,相關資料就保存在該”倉庫“中了。

3. 創建web server。在該文件加下點右鍵,找到菜單:Tortoishg,在下級菜單中找到Web Server,點擊。這樣,該”倉庫“就發佈成功了,默認的通訊端口是8000,可以點stop,更改端口值,再點start開始。

4. 其他電腦連接該倉庫。在其他電腦上,在欲安裝倉庫的位置,右鍵conemu調出命令行,然後輸入: hg clone 倉庫位置 倉庫名稱。其中,假設服務器的IP是12.180.11.23,那麼倉庫位置是http://12.180.11.23:8000/,倉庫名稱自己取一個即可。當然,也可以提供服務器的其他地址,這裏我僅用IP地址舉例。於是,命令爲:hg clone http://12.180.11.23:8000/ myRepo。這樣在當前文件夾下建立一個文件夾叫做”myRepo“,把服務器中的倉庫的內容都clone了一份到其中。

5. 提交改動。假設你對myRepo的某個文件進行了修改,要把該改動提交,或者你添加了新的文件,或者刪除了某個文件,那麼先用命令:hg addremove進行添加刪除操作,然後用命令hg ci -m "XXX"對改動進行提交,然後hg pull等等操作,最後hg push進行提交。這樣,就實現了多人對倉庫的修改及同步。


該過程中會遇到的問題:

1. hg push的時候,提示沒有user name。這時候,它也會提示你,用命令hg config --edit來添加用戶名。你就輸入命令hg config --edit,彈出一個文本文件,在username = 那一行,按照文件中的實例,添加一個名字和郵箱地址上去,比如username=xiaowang <[email protected]>.

   遇到一個情況,即輸入hg confi --edit沒有文件彈出,那麼需要在c:\users\賬戶名 這個文件夾下,新建或者打開mercurial.ini文件,添加如下配置代碼:

   [ui]

   username = xiaowang <[email protected]>

2. hg push的時候,提示ssh required,或者提示authorization failed。那麼,在服務器端,也就是初始倉庫所在的那個電腦上,在Repo下的.hg文件夾下找到hgrc文件,打開邊界,添加以下設置:

[web]
allow_push = *
push_ssl = false
然後,stop,然後再重新start,重啓web server即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章