我們在SVN存儲庫中維護較大的代碼庫。 對於發行版,我們只想將發佈標籤/分支推送到Mercurial存儲庫中,不包括中繼中的歷史記錄。具有部分歷史的Mercurial工作流的單向增量SVN
我幾乎沒有DVCS的經驗,所以也許我在錯誤的軌道上與我嘗試過。如果你能指出缺陷或指向替代品,我會非常高興。
這裏是我試過到目前爲止:
汞柱轉換擴展:翻新使用
hg convert <base project URL w/o "trunk">
應該拉完整的歷史記錄,包括根據the convert extension documentation分支和標籤的完整的信息庫。但hg tags
只返回提示和默認,hg branches
只有默認。此外,它很慢(是的,我讀了約svnsync
),它包括完整的歷史。我讀到它可以用來逐步拉動,但我沒有看到爲我工作。汞柱轉換擴展:轉換標籤,並從另一個標籤拉動工程W/
-f
但我真的不相信它。它是否正確處理刪除?hgsubversion:
hg clone
完整的資料庫中不包括標籤和分支以及hgsubversion:在標籤上的作品
hg clone
,但隨後從另一個標籤拉動是不可能的(中止:無法在存儲庫中的不同路徑上工作)
在此先感謝指針。 「Noob,先閱讀並稍後回來」也很感激。
也許是一個非現場問題,但你能解釋一下爲什麼你想要實現這樣的事情嗎?這對我來說似乎很奇怪。 – gizmo 2011-04-01 09:03:46
@gizmo是的,這很奇怪:我們在我們的網站上使用svn,現在不想爲整個團隊切換到hg。 (緊張的時間表,沒有太多的時間進行再教育,分散的團隊,通常的藉口) 我們將代碼交付給客戶的持續集成環境,該環境使用hg作爲VCS。我們不希望推送完整的歷史記錄,而只會將定義的發佈基準推送到此存儲庫。 此環境只能通過我們有權訪問的客戶機器的VPN訪問。所以這個過程是:在開發過程中與SVN一起工作,從VPN機器上的SVN獲得釋放並推入到hg中。 – wwerner 2011-04-01 09:21:13