2010-08-20 37 views
5

是否有人對使用Mercurial作爲Perforce的前端有任何建議?我想要做的是使用Mercurial來處理真正的粒度更改,然後,一旦我完成了某些操作,就可以將其推回到Perforce服務器。在Perforce中使用Mercurial

我發現這篇文章http://www.dehora.net/journal/2008/01/05/using-mercurial-with-perforce/但它並沒有建議任何工具來幫助集成。有沒有存在?我想我正在尋找它從Perforce獲取新的更改,將它們集成到我的本地Mercurial中,然後彙總自上次集成以來我所做的所有Mercurial提交,並將它們推送到Perforce。類似於git-p4。

回答

5

當我按照您提供的鏈接時,出現錯誤。但我建議你看看perfarce extension(我喜歡這個名字!)。我自己並沒有使用它,但我的理解是,這是人們用來彌合Mercurial和Perforce之間差距的原因。

另請參閱Perforce concepts上的維基頁面。它似乎有很多很好的信息。

1

正如馬丁所說,Perfarce是你想要的。我曾經在之前的工作中使用它,一般來說,如果你只是將一個單一的perforce分支合併到一個單一的mercurial clone中,它就可以很好地工作。如果您從原始的Mercurial克隆開始克隆多次,那麼事情就變得複雜起來。不是不可能,只是複雜。

總的來說,它通過捆綁自上次從Perforce提取的所有更改而起作用。從它們創建一個執行更改列表。使用Mercurial版本的散列標記變更列表的評論並將其提交給perforce。然後它從Perforce重新導入該更改並將其合併到Mercurial樹中,並且因爲它們都是相同的,所以不會合並。

基本上它對拉/編輯/提交/更新工作流程非常有效。不幸的是,它在集成方面沒有任何幫助(除非我錯過了某些東西),因爲perforce分支沒有轉換爲Mercurial分支。它不知道要合併什麼。