簡體   English   中英

如何將git存儲庫轉換為mercurial?

[英]How do I convert a git repository to mercurial?

我一直在使用git作為源代碼庫開發一個java應用程序。 我想與其他java開發人員共享該項目,而hg似乎最常被他們使用。

我的問題是如何將git存儲庫轉換為hg?

如果我嘗試使用谷歌搜索“將git轉換為hg”,並且每次搜索都是關於從hg轉換為git。 我也在使用TortoiseHg

安裝后默認情況下, hg convert實用程序未啟用。 為了設置它,請將以下內容添加到.hgrc文件中。

[extensions]
hgext.convert=

如果您在Windows上使用TortoiseHg ,則此文件將作為mercurial.ini駐留在您的主目錄中。 更改此設置后,您將能夠使用hg convert實用程序。

通過使用Mercurial Convert擴展

.hgrc添加到.hgrc或啟用擴展名:

[extensions]
hgext.convert=

並輸入一個

cd src
hg convert --datesort . dst

(即使它可能導致一些問題 ......)

Note :: metrix報告這可能不起作用:

     hg convert --datesort src dst

注意:如果從源目錄以外的目錄執行此命令,則會出現hg convert的錯誤。
您將收到以下錯誤:

abort: cannot read tags from git-repo4/.git

在Windows XP上使用git 1.7.9和Mercurial 2.6.2進行了確認

您可能需要查看http://hg-git.github.com/實用程序:Mercurial的Git插件

這個插件最初是由GitHub的人開發的,並允許無損轉換git < - > mercurial。 從理論上講,您甚至可以克隆hg存儲庫。

Mercurial狀態的分布式版本控制

轉換支持的修訂控制工具如下:

  • 顛覆
  • CVS
  • 混帳
  • 的darcs

那么也許你不需要任何額外的工具?

轉換擴展可能適合您,但如果沒有,您可能需要查看裁剪 ,這是一種用於在各種分布式SCM之間進行轉換的通用工具。

鎮上的新玩家: git-remote-hg 它在git中提供本機橋接支持。

只是:

hg init ../hgrepo
git push hg::$PWD/../hgrepo

你可能根本就沒有轉換它。 只需使用Hg-Git插件! 沒有人會知道這種差異。

在包含我所有Git存儲庫的Git文件夾中,我創建了Git2Hg.cmd以下內容的Git2Hg.cmd文件:

set PATH=%PATH%;C:\Program Files\TortoiseHg
set PATH=%PATH%;C:\Program Files\Git\bin
hg convert %1

現在我可以通過在CMD中鍵入它將Git存儲庫轉換為Hg:

Git2Hg "Folder Name"

Hg-Git插件或如果你用於Windows或從一個移植到另一個訪問這里2 [Windows GIT]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM