2011-07-03 13 views
2

かなり大きなプロジェクトで作業していて、複数のブランチで作業したいと思っています。そのうちの1つは現在、もう一方の古いバージョンであり、ポンドは同じであった。私はpomファイルのバージョン番号を変更しないようにしたいのですが、それはそれらのすべてを書き直す必要があり、後でマージするのが難しいからです。 .mvn/repositoryに置かれた別のブランチのものを上書きしないように、これを行う最も簡単な方法は何ですか?mvn clean installによって生成されたジャーは、複数のプロジェクトブランチをmavenで作成

ノート:私はgitのと協力し、ここで、それは、少なくともソースツリー階層で発生瓶を共することを可能にするという点で非常に有用であることがgit-new-workdirスクリプト(Gitのソースリポジトリで利用可能)を見つけています異なるサブディレクトリに存在します。


もちろん、1つの簡単な答えは、各ブランチのリポジトリを持つことです。例えば

  • .m2 /リポジトリ
  • .m2 /支社/リポジトリ

その後1は、1つのちょうどリンクで古いのクローンを作成することができれば、それはいいだろう。もちろん、mvn install -o -Dmaven.repo.local=~/.m2/branch1/repository

を実行することができますすべてのファイルをダウンロードする必要はありません。これは

$ cd .m2 
$ mkdir branch1 
$ find repository -type d -exec mkdir branch1/{} \; 
$ find repository -type f -exec ln {} \; branch1/{} \; 

で行うことができます。しかしrepository.xmlは絶対ディレクトリのURLポインタの完全に思えます。 (どうして彼らは相対URLを使うことができないのですか?)とにかく、それらをすべてダウンロードしているようではないか、少なくともコンパイルは予想以上に高速でした。

答えて

2

あなたのコメントで発見した解決策は、邪魔にならない唯一の解決策です。

次善策は、バージョン-maven-pluginで、異なるブランチのpomsの変更を自動化します。残念ながら、gitがこれらの変更を他のものと併合するのを阻止するプロセスを自動化することができるコンポーネントはありません。

関連する問題