gitリポジトリをmercurialに変換するにはどうすればよいですか?


104

ソースコードリポジトリとしてgitを使用してJavaアプリケーションを開発しています。他のJava開発者とプロジェクトを共有したいのですが、hgが最も使用されているようです。

私の質問は、gitリポジトリをhgに変換するにはどうすればよいですか?

「gitをhgに変換する」をグーグルで試し、すべての検索ヒットがhgからgitへの変換に関するものである場合。TortoiseHgも使用しています。


16
:あなたの代わりにgitのために水銀から変換する必要がある場合stackoverflow.com/questions/883452/...
クリスチャンOudard

最後の段落は意味がありません。タイプミス?
tshepang

1
@Tshepang:「git-> hg」が欲しかったのですが、「hg-> git」を取得しました。私はこの質問を編集しますが、今は回答があるので、人々はとにかくそれを理解したと思います。
スポイケ

回答:


79

このhg convertユーティリティは、インストール後のデフォルトではオンになっていません。そのように設定するには、.hgrcファイルに以下を追加します。

[extensions]
hgext.convert=

WindowsでTortoiseHgを使用している場合、このファイルはホームディレクトリにとして存在しますmercurial.ini。この設定を変更すると、hg convertユーティリティを使用できるようになります。


5
Ubuntuでは、システム全体の変更は/ etc / mercurial / hgrcで行うことができます
Sentient

1
Windowsでは、TortoiseHgを使用して、[グローバル設定]の[拡張機能]セクションにあるTortoiseHgシェル拡張メニューの[グローバル設定]メニュー項目を使用して有効にすることができます。
Umar Farooq Khawaja 2014年

hgが変換のためにgitにアクセスする必要があることを指定していないため、説明はやや不完全です。そうでない場合、「必要な「git」ツールが見つかりません」というエラーが発生します。
jmd

41

Mercurial Convert拡張機能を使用する

.hgrcまたはに次の行を追加して、拡張機能を有効にします。

[extensions]
hgext.convert=

そして、

cd src
hg convert --datesort . dst

(それはいくつかの問題につながる可能性がありますが ...)

注:: 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で確認済み


その回答.hgrcにリンクする代わりに設定が含まれている場合、それは包括的です。
fbmd 2015年

17

http://hg-git.github.com/ユーティリティ:MercurialのGitプラグインを確認することをお勧めします

このプラグインはもともとGitHubのメンバーによって開発されたもので、git <-> mercurialから無損失で変換できます。理論的には、hgリポジトリのクローンを作成することもできます。


2
これは、リポジトリを変換するよりも優れたソリューションです。それがより詳細であるならば、それもより良い答えでしょう。1行の答えは役に立たない横にあります。
naught101 2012年

1
@ naught101、提案をありがとう、直接読むためにここにいくつかの情報を追加しました。
vdboor '25年

hg-gitをインストールしてセットアップした後、hg gexportとhg gimportを使用してそれらの間で変換します。
CADは


6

変換拡張はうまくいくかもしれませんが、うまくいかない場合は、さまざまな分散SCM間で変換するための汎用ツールであるテーラーをチェックアウトすることをお勧めします。



2

町の新しいプレイヤー:git-remote-hg。gitでネイティブブリッジングサポートを提供します。

ただ:

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

1

GitすべてのGitリポジトリがあるフォルダーで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"

0

Hg-Gitプラグイン、またはWindowsで使用する場合、または別のウィンドウに移行する場合は、こちら2 [Windows GIT]にアクセスしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.