2011-09-08 45 views
5

Subversion(SVN)1.6には、トランクにフィーチャブランチをマージするオプションがあります。Subversion(SVN)のブランチ(トランクではない)に再統合

私のワークフローは少し複雑です:

我々は機能ブランチを持っている - 私たちはしばしば、彼らにトランクをマージします。しかし、私たちは彼らをすぐに体幹に戻すことはしません。代わりに、トランクからリリースブランチを作成し、ブランチをリリースするように機能ブランチをマージします。この時点では、多くの変更が機能ブランチとトランクの両方に存在するため、多くのツリーの競合が発生します。

オプション--reintegrateこのシナリオでは助けが必要ですが、--reintegrateはトランク以外のブランチにマージすると機能しません。本当?

+1

再統合が必要ないように見える:これを読んだ後、私の問題を解決することができた:http://designbygravity.wordpress.com/2009/10/19/what-mother-never-told-you-about-svn-/ – tevch

答えて

4

trunk以外のブランチで--reintegrateオプションを使用することはできません。 Subversionには、のいずれかの標準の名前またはブランチの配置に関する標準がないため、trunkが特別な方法はありません。 Subversionには、branchestrunk、およびtagsは単なるディレクトリです。これらのディレクトリは私達がそう言ったので特別なものです。

--reintegrateオプションは、私がBを分岐し、その後を分岐するように戻って、分岐Bからマージしようとする枝からをマージするならば、私がしようとするかもしれないという事実に関係しています最初にブランチに入ったに最初に入ったものをマージする--reintegrateオプションを使用すると、Subversionは私のマージの方向を逆転していることを知り、ブランチBのものを考慮しないでください。実際にブランチAからのマージ結果でした。

再統合は、実際にマージされた変更を追跡するすべてのバージョン管理システムでの問題です。どんな場合でも、--reintegrateにはtrunkというブランチが必要な理由はありません。さもなければ、オプションの本当の必要性はありません。すべてのSubversionは、あなたがtrunkというブランチに合併しているのを見て、それがおそらく再統合であることを認識しています。

+1

はい、私は同じ印象を受けていました - 再統合は制限できませんでしたが、私は人々がトランク以外のものに再統合するのを見たことがなく、ブランチに再統合すると、私はこれを得ます:svn: '/ svn /!svn/bc/364751//releases/<ブランチi reintegrate into> 'パスが見つかりません – tevch

+0

再統合は私が必要としていないようです。私はブランチ(トランクのコピー)を解放するためにマージされた2つの機能ブランチが必要です。だから私はsvnに、支店Tのマージの結果であったこれらのツリーの競合をすべて取り除いたブランチRのものを考慮しないことを知らせますか? – tevch

+0

トランク→Feature_branch→トランク→Release_branchの順に進みます。トランクの変更はFeature_branchにマージされます。また、Feature_branchの変更をコミットします。最後に、Feature_branchをRelease_branchにマージします。 2つの支店が直接関係していないので、私は100%確信しているわけではありません。 Svnのマージはまだ少し弱いです。 '--ignore-ancestory'を使うほうが良いかもしれません。 [Subversionのリスト](http://subversion.apache.org/mailing-lists.html)を購読して、そこに問い合わせてください。そのリストはSubversionの問題に特化しており、おそらくここで入手できる以上の専門知識を持っています。 –

関連する問題