2011-01-21 20 views
6

2つの別々のhgリポジトリにいくつかのEclipseプロジェクトを用意したいと思います。複数のEclipseプロジェクトを1つのMercurialリポジトリに作成

私は最初にTortouiseHgを使って2つのhgリポジトリを作成し、最初に各リポジトリに自分のプロジェクトを追加して管理しました。これを行うことで、それぞれに2つのプロジェクトを持つ2つのhgリポジトリが作成されました。

次は、MercurialEclipseを使用してEclipseでそのリポジトリをクローンします。プロジェクトはEclipseで期待どおりに表示されます。

例1:

Eclipse workspace 
       | 
       |--Project 1 
       |--Project 2 
       |--Project 3 
       |--Project 4 

しかし、私はディレクトリ構造に見れば、それは次のようになります。私はそれは次のようになりたいとき

c:-- 
    | 
    |-workspace 
       | 
       hgRepository1 
       |   |--.hg 
       |   |--Project 1 
       |   |--Project 2 
       | 
       | 
       hgRepository2 
          |--.hg 
          |--Project 3 
          |--Project 4 

例2。

例3:

c:-- 
    | 
    |-workspace 
       |--.hg 
       |--Project 1 
       |--Project 2 
       |--Project 3 
       |--Project 4 

は、それが単一のMercurialリポジトリを持っているし、何とかそれを複製したプロジェクトは、ワークスペースディレクトリの下に直接表示されていて、いないサブディレクトリにすることは可能ですか?

+0

1つの.hgディレクトリに複数のリポジトリからのデータが含まれるようにすることはできません。これらの4つのプロジェクトは本当に同じプロジェクトの一部なのでしょうか、それともあなたが何らかの方法で結合した異なるプロジェクトですか? –

+1

私はクリアされていないかもしれませんが、複数のEclipseプロジェクトを含む1つのhgリポジトリです。彼らは入れ子構造のhgリポジトリではありません。 – stuff22

答えて

5

Eclipseワークスペースからプロジェクトを保存したり、Eclipseワークスペースでプロジェクトを復元したりしないでください。
これらのプロジェクト(.project,.classpath、およびother project specific resources)は、Eclipseワークスペースの外にある独自のディレクトリにある必要があります(imported into the workspace)。

このように、異なるプロジェクトを新しいEclipseワークスペースにインポートするには、どのディレクトリ構造でも問題ありません。

+0

私はあなたを正しく理解している場合、2つの問題。私は水銀リポジトリをワークスペースにインポート/クローンしないと言います。私は別の場所でそれを行い、その後Eclipseにインポートします。これは、プロジェクト自体がディレクトリツリー内の別の場所に存在するという事実を解決するものではありません。それらはまだ例2のように表示されますが、明らかにworkspaceディレクトリには表示されません。 – stuff22

+0

@ stuff22:リポジトリは、いつでもどこでも表示できます。リポジトリを(内部構造を問わず)クローンすると、Eclipseワークスペースにインポートすることができます。プロジェクトの特定のワークスペース構造に従う必要はありません。 – VonC

1

私はよく分かりません。自己の内部にレポをクローンすることはできません。なぜ、Project1とProject2のハードコピーを作成して、3と4を作成できないのですか?

+0

私は自分自身のリポジトリをクローンしていません。 .hgは、どのフォルダが水銀のリポジトリか(または私がそれらが欲しい場所)を示しています。 – stuff22

+0

私はまだそれを手に入れません。なぜあなたは1 hg repoで必要な構造を作り、既存のプロジェクトをeclipseワークスペースにインポートしないのですか?とにかく – Roberto

+0

、私は何を言おうとしているのは、VonCが言っているものだと思います。どのような構造をしたいとし、eclipseで各プロジェクトをインポートします。 .project、.classpath、およびその他のファイルは、eclipseワークスペースの内側(hg repo外)にありますが、hg repoからeclipseまでのソースファイルを編集します。 – Roberto

1

私は何人かの人々が私の解決策のように文句を言わない(と私はこの質問を尋ねてきたので、いくつかの時間がかかったことを知っている)知っているが、ここにある:

  1. は、Eclipseから
  2. いつもの出口としてワークスペースを作成します。
  3. 作成したワークスペースディレクトリにMercurialリポジトリをhgで直接クローンします(リポジトリの名前がワークスペースと同じ場合に役立ちます)
  4. Eclipseに戻って、新しいプロジェクトを作成するchサブディレクトリ(あなたの例では、Project 1、Project 2などとなります)。ディレクトリがすでに存在することを警告しますが、それは問題ありません。
  5. MercurialEclipseはMercurialのバージョンが

これは、Linux上でEclipseでCDTで正常にテストされていますが制御されているとして、各プロジェクトを認識すべきです。また、Eclipseで作成したファイルを.hgignoreに入れてプロジェクトを管理することをお勧めします。

こちらがお役に立てば幸いです。

3

私はこの正確な問題に直面しました。解決策はすぐには分かりません。このブログの投稿には、あなたが行っていることを達成するための手順が段階的に示されています。workflow: create and init multi-project repositories with HgEclipse (Mercurial)要するに

、あなたがしたい:

  • オープンMercurialのビューとで/パス新しいリポジトリを作成/に/ワークスペース/プロジェクトフォルダ
  • は、それぞれを必要しかし、多くの新しいプロジェクトを作成します。/path/to/workspace/projects-folder/project nameの(デフォルト以外の)場所に作成する必要があります。

Eclipseで必要なレイアウトになると、プロジェクトはすべてprojects-folderにあるリポジトリを共有します。

+1

リンクありがとうございます。実際には動作し、最新のHgEclipseでは元の投稿に記載されている手順2.2と2.3を実行する必要はありません。同じリポジトリのデフォルトではない場所にプロジェクトを追加するだけで、そのまま利用できます。 – Mikhail

関連する問題