1

まだ整理できていない奇妙なものがあります。SVN からブランチをチェックアウトすると、チェックアウト直後、または 1 つまたは 2 つのファイルを変更した後に、SVN プロパティが変更された複数の無関係なファイルが定期的に表示されます。

ブランチでの作業中に、いくつかのファイルを変更します。これらの変更は、通常どおり「svn stat」に表示されます。ただし、他のファイルにはプロパティが変更されています - それ以上のものはありません。これを前に見た人はいますか?誰にもアイデアがありますか?

マット

4

2 に答える 2

2

Subversion は、svn:mergeinfoマージされるファイル自体が変更されていないか、ファイル間に違いがないように見える場合でも、 の値を変更します。はsvn:mergeinfo、マージの結果が変更されたかどうかではなく、マージが行われた場所を追跡するために使用されます。そうすれば、Subversion は、このブランチのこのリビジョンは既にマージされているため、再度マージする必要はないと言うことができます。

このプロパティを介したマージ追跡は好きではありません。何百ものファイルが変更されたsvn mergeと報告できますが、詳しく調べてみると、変更されたのはごくわずかです。残りは単にsvn:mergeinfoプロパティが変更されただけです。

開発者は、意図的にプロパティのみが変更されたファイルを元に戻しsvn:mergeinfo、実際にコンテンツが変更されたファイルのみをチェックインすることがあります。もちろん、これにより、次回はさらに多くのファイルをマージする必要があります。開発者がクリーンアップする svn:mergeinfoこともあり、それが本当に混乱を招きます。

svn:mergeinfo本当に多くの混乱を引き起こします。実際、マージ追跡をオフにできるスイッチがあればいいのにと思うことがあります。独自のマージをより快適に追跡できるサイトがいくつかあります。

ただし、これは私たちが持っているものなので、私はそれを受け入れ、開発者をトレーニングします。

于 2011-05-24T16:26:09.137 に答える
1

誰かが別のブランチから「あなたの」ブランチにマージした可能性があります。SVN はどのリビジョンがブランチにマージされたかを追跡し、それに応じて svn:mergeinfo プロパティを更新します

(私の知る限り、これは Subversion 1.5 以降にのみ適用されます)。

于 2011-05-24T11:16:07.873 に答える