46

トランクとブランチがあるSVNリポジトリがあります。

定期的にトランクをブランチにマージするつもりですが、これを行うと、実際のファイル コンテンツの変更に加えて、多くのプロパティ ステータスの変更が表示されます。

さらに調査すると、プロパティの変更は mergeinfo プロパティです。分岐とマージは常に最上位のルート レベルから行うため、これは予想外です。

トランクをマージする前に、コマンドを使用svn propdelしてブランチ WC からすべての mergeinfo プロパティを削除し (その後、ルートの変更を元に戻しました)、問題は解決しました。

問題は、私のブランチがサブディレクトリ レベルでこれらすべての mergeinfo の変更をどのように取得したかということです。

4

2 に答える 2

30

Subversion 1.5.x は、多くの svn:mergeinfo プロパティを追加します。マージとは何の関係もないと思われるファイル/フォルダーに対してさえもです。しかし、Subversion は引き続きそれらを使用して、後続のマージのマージ時間を短縮します。

それらが気に入らない場合は、マージの一部ではないすべてのファイル/フォルダーから、変更/追加された svn:mergeinfo プロパティを安全に削除できます (作業コピーのルートと、変更を取得したファイル/フォルダーに残します)。マージ)。

Subversion 1.6 では、1.6 リリースですべてが計画どおりに進む場合、これらの svn:mergeinfo プロパティが大幅に削減されます。

于 2008-12-25T08:00:21.877 に答える
6

このバグの少なくとも一部は、Subversion 1.5.5 で修正されました。1.5.5 CHANGES ファイルから:

wc-wc の移動またはコピーに対して mergeinfo を作成しません (r34184, -585)

つまり、1.5 より前の SVN にはバグがあり、使用されず不要な mergeinfo エントリが作成されていました。

于 2010-01-08T09:47:22.440 に答える