GitリポジトリとMercurialを同じディレクトリに配置する


11

私の問題を説明します

現在、gitを使用したgitoriousの社内インストールを使用しています。水銀を使用するフォグクリークのFogBugzとKilnのテストを開始したいと思います。少なくとも短期間、両方のソリューションを使用して開発を続けたいと思います。

同じディレクトリにgitとmercurialレポを置くことの長期的な深刻な影響を誰もが知っていますか?または、gitとmercurialサーバーの同期を維持するより良い方法がありますか。

テストリポジトリで試しましたが、問題は見られませんでした。

助けてくれてありがとう。


1
両方ともsvnの.svnファイルとは異なり隔離されているので、私は多くの問題があるとは思わない。
ジョシュK

回答:


8

hg-gitブリッジは、他の方向に進むとかなり便利であることがわかりました(元々はソース管理にMercurialを使用して構築されたGithubの一部を公開しています)。基本的に、mercurialを「ただ」使用し、gitリポジトリにプッシュする準備ができたら「master」を「default」にリンクするブックマークを作成し、プッシュします。gitからのプルは、リモートリポジトリからプルする場合と同様に機能します。このシナリオでは、.git + .hgファイルになりません。ローカルボックスに水銀のファイルがあるだけです。ただし、完全にgitに移行する場合を除きます。その場合、おそらくgit clone in newディレクトリ。

Mercurialリポジトリからプッシュ/プルしたいgitユーザー向けの同様のプロジェクトがありますが、直接的な経験はありません。https://github.com/offbytwo/git-hgご覧ください

「他の」ソース管理システムから隠しフォルダーを誤ってチェックインする可能性を除いて、gitレポジトリでhg initを実行することに実際の問題はありません。ブリッジを使用して、他のdvcsシステムにいつプッシュするかを明示的に選択することは、私にとってそれほど不格好ではないようです。


SSHでhg-gitが少しヒット&ミスすることがわかりましたが、セットアップするのは面白くありません。同じマシンで両方のDVCSクライアントを実行でき、問題はありません。実際、一方をソース管理に使用し、もう一方を実稼働環境にプッシュする場合(Azure、Appharborなど)、これはうまく機能します。
CADブローク

.hgフォルダの下を見てください。hg-gitは、mercurialの.hgrc / iniファイルで[git] intree = trueを指定しない限り、そこに.gitフォルダーを作成します。
CADはやつ

9

同じ作業ディレクトリ内の同じプロジェクトでmercurialとgitの両方を使用しました。これらの2つのDVCSを使用することの素晴らしい点は、どちらにもconfsとblob、treesなどのためのフォルダー(.git / .hg)が1つしかないことです。

.gitを.gitignoreに(そして.gitを.hgignoreに)入れるだけで十分です。

もちろん、コミット時に作業を2倍にする必要がありますが、これを管理するのは難しいとは思いませんでした。

私の意見では、このセットアップは、ブリッジソリューションを使用するよりもはるかに信頼性が高くなります(git-svnでの恐怖から私はそれらが好きではありません)。


これをどのように達成したかについての詳細を教えてください。ここに質問がありますstackoverflow.com/questions/14486600 / ... これはあなたによって達成されたようです。どんな助けも大歓迎です:)
akdsouza
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.