2010-11-29 200 views
6

我正在使用Mercurial開發客戶端項目。在我工作了2周之後,客戶現在已經要求我將所有代碼保留在他們的SVN倉庫中。將Mercurial存儲庫鏡像到Subversion中?

我想繼續使用Mercurial進行開發,但爲了保持客戶端的高興,還要將所有提交(w /消息)導出到SVN中。

這可能嗎?

回答

3

您可以使用Mercurial作爲其Subversion存儲庫的客戶端。

你簽出hgsubversion了嗎?這可讓您在Mercurial中擁有完整的歷史記錄。

看到的細節:https://www.mercurial-scm.org/wiki/WorkingWithSubversion

它提供了Subversion工作的三種方式。確保你使用一個,不要混合它們。

  1. 隨着hgsubversion
  2. 隨着MQ
  3. 轉換擴展

[親歷]

我發現hgsubversion如何更好以往任何時候都可能有問題,而suversion回購轉換爲Mercurial回購。

# This usually fails for a svn repo with 
# large history or large files in revchanges 

hg clone svn+http://.../svn local-hg 

# If the above has any issues and dies before converting the repo, use hg pull 
hg pull 

問題:您有一個現有回購了。

  1. 我想最好的辦法是創建使用上述方法中的一個顛覆回購另一水銀回購。
  2. 從老一拉你的變化集合到這個新的回購讓所有從上一個
  3. 現在你已經準備好提交修改svn庫
+0

所以將這個解決方案允許改變歷史我繼續使用我的*存在* HG回購,將更改同步到他們的SVN回購? 更好的辦法是從SVN中提取新的變更(如果有人在他們這邊進行更改)。這是可行的嗎? – 2010-11-29 18:04:18