2012-07-26 55 views
5

我有一個使用version.2的項目,我必須着手開發一個新的版本。 我想在遠程服務器(即一個mercurial服務器)上創建一個新的回購站,以便我的團隊成員可以訪問該回購站。我的本地計算機上有我的項目文件。使用Mercurial爲現有項目創建新的遠程存儲庫

我有兩個關注的問題:

  1. 我怎樣才能在/home/hg/repositories/private/project3創建它(比方說,新的回購協議的名稱將是項目3)遠程水銀服務器與我的項目文件。我應該遵循哪些步驟來執行此操作。

  2. 如何創建訪問權限(usrname/pword),以便我的團隊可以訪問http://dev.myproject.com/private/project3上的此回購協議。

注:/home/hg/repositories/是默認http://dev.myproject.com/,我沒有的版本2(克隆是不可能的我猜!)

+0

mercurial-server不是Mercurial服務器。它甚至不是Mercurial服務器。這是一個第三方應用程序,它向ssh層添加了一些用戶管理內容,這是Mercurial本身支持的傳輸機制之一。它幾乎總是比援助造成更多的困惑。 – 2012-07-26 12:59:27

+0

我刪除了你的apache標記,因爲我們只談論了ssh - 而不是apache。那(和hgweb.cgi)是別的。 – 2012-07-26 18:45:59

回答

7

回購無需安裝額外的服務器端軟件,您的團隊將需要SSH賬戶那個盒子。我假設你有一個,並且你可以爲你的朋友創建它們。如果你沒有這個設置,你最好使用bitbucket,它是免費的,並提供了ssh和ftp訪問。

此外,你不會說如果你project2已經在Mercurial控制下,所以我假設它不是。

創建遠程回購你會做這樣的事本地計算機上

hg init project3 # <-- creates a new empty respository 
cp ALL_THE_PROJECT3_FILES_YOU_WANT project3 # <--- put the files you want into project3 
cd project3 # <-- go into your local project3 repository 
hg addremove # <-- LOCALLY add the files you copied in 
hg commit -m "initial commit copied in project2" # <-- LOCALLY commit the files 
cd .. # <---- go up a directory 
hg clone project3 ssh://[email protected]//home/hg/repos/project3 # clone the repo over to the server 

你的隊友就可以克隆下來使用:

hg clone ssh://[email protected]//home/hg/repos/project3 

這裏有一些事情你可能會不小心弄到了這個工作的方式:

  • 個你的朋友需要SSH佔
  • 你的朋友的帳戶必須讀/home/hg/repos

公告/寫訪問所有的克隆是發生在SSH。設置HTTP比較困難,可能不是你需要做的事情。

說真的,只是使用bitbucket。

+0

謝謝你的時間幫助我解決這個問題。我正在嘗試,如果我有任何問題,我會發表評論。 – 2012-07-26 13:17:39

+1

hg clone。 ssh://[email protected]//home/hg/repos/project3會將遠程回購克隆到本地,而不是相反。我想要相反。我用本地文件創建了本地回購,現在我想將其克隆到遠程服務器。 – 2012-07-26 14:12:48

+0

它工作了!但是當我訪問http://dev.myproject時。com/private/project3我收到了一些寫在其上的Python代碼的錯誤頁面。 – 2012-07-26 17:09:58

相關問題