2009-01-05 59 views
7

過去6個月左右,我一直在使用我們主要的Perforce存儲庫的雙向Git鏡像來評估它的工作流程。我不得不說,我已經愛上了它,但迄今爲止它對我來說有一個致命的缺陷:它的Windows支持非常糟糕。如何提供Git倉庫與其他SCM的雙向鏡像? (bzr,hg等)

通常這對我來說不是問題,但現在是這樣。我需要在我的Git倉庫中進行一些本地承諾的工作,並且我無法從需要工作的機器上獲取它,因爲Git倉庫在這個框中存在一些無法解決的問題。

無論如何,如果可以的話,我想要做的就是運行第二面鏡像:這次是從我的Git存儲庫中背馱走,但通過Mercurial或Bazar提供服務。我發現了一些看起來很有前景的工具,並在博客評論中提到一些人們已經這樣做但沒有完成的參考文獻。

所以任何人都可以告訴我,如果有一種簡單的方法來維護使用另一個DVCS的Git存儲庫的雙向鏡像,將在Windows上工作沒有任何問題?

預先感謝你的煩惱......

傑米

回答

6

在GitHub上,人們在現場彈出了一個新選項:git-hg。現在有一種方法可以在Git和Mercurial之間進行雙向同步。

0

水銀有可能是Windows中最好的支持(出混帳& BZR的)。它甚至有一個TortoiseHg擴展here

+0

Mercurial是我的首選鏡像,但問題是如何創建一個雙向Git/Mercurial鏡像......如果你知道,請告訴我! TXS。 – jkp 2009-01-05 10:09:36

3

我知道Mercurial有一個擴展名,可以讓你從git轉換爲mercurial。 更多關於https://www.mercurial-scm.org/wiki/ConvertExtension

雖然我自己並沒有使用它。

+1

昨天晚上我已經走了:它不會以可用的方式從Git轉換歷史記錄,由於Git在內部處理分支的方式,它會將所有分支合併到默認分支中。我需要一些我可以做一個合理的雙向鏡像。 – jkp 2009-01-05 10:08:50

+0

因爲這是唯一的答案,所以我們要問的問題實際上是解決問題的!其他人也可能喜歡查找「泰勒」,這也可以幫助... – jkp 2009-01-05 13:38:28

3

[wikified,因爲這是不是一個真正的答案]

我使用MSYS git沒有在Vista上的問題。儘管我在Debian GNU/Linux上託管了我的git倉庫。

0

我認爲你不可能找到一個令人滿意的解決方案,使用當前可用的git到其他DVCS同步工具。你可能會拼湊一個可行的系統,使用git-svn來實現顛覆和hgsubversion以在mercurial和subversion之間同步,但這似乎是一個瘋狂的混亂,只是爲了解決windows上弱的git支持。你可能會更喜歡通過電子郵件發送窗口中的差異 - git具有優秀的電子郵件補丁處理支持(和mercurial一樣)。

1

還有tailor,允許多個倉庫之間的鏡像。我曾在Cygwin上工作過,取得了相當的成功 - 直到有人添加了使命令行svn窒息的文件;儘管這可能是一個相當罕見的問題。