1

したがって、私のプロジェクトには、すべての開発変更を行うトランクがあります。また、別の部門に対応するためにパラメーターをわずかに変更したブランチもあります。バッチで作業し、トランクへの一連の変更が完了したら、ブランチに切り替えて、すべての適切なリビジョンをマージします。これはしばらく続いていますが、奇妙な動作に気付きました。リビジョン グラフを開いて 2 つのヘッド リビジョン (トランクとブランチ、リポジトリ ブラウザーを使用してこれを行うこともできます) を比較すると、2 つの間で異なるすべてのファイルのリストが表示されます。問題は、いくつかのファイルをダブルクリックすると、実際にはファイルにテキストの違いがないことです。違いはないと思われますが、そうあるべきです」それを異なるものとしてマークしませんか?これにより、「変更されたファイル」ダイアログに多数のファイルが表示されるため、両方のブランチを監査して相違点を追跡することが難しくなっています。

私が気づいたいくつかのこと:

  • 2 つのファイル間でリビジョン番号が異なります (予想どおり)。

  • ブランチをマージしてから比較することで、テスト リポジトリでこの問題を再現しようとしましたが、問題なく動作しました (違いはありません)。

  • 私は当初、これは svn:mergeinfo プロパティの違いに関係があるのではないかと考えていましたが、もうよくわかりません。

どんな助けでも大歓迎です。

4

6 に答える 6

2

過去に変更されたすべてのファイルを実際に取得すると思います。内容は同じですが、svnはどのファイルに触れてそこから機能するかを履歴で調べるだけなので、変更されたものとして表示されます。祖先を無視してマージを試み(亀のどこかにオプションがあります)、ファイルがそこにも表示されるかどうかを確認できますが、表示されるべきではありません。

于 2008-10-29T18:10:28.283 に答える
2

一般的な原因は行末です。開発マシンの一部は Windows で、その他は *nix ベースですか? 行末が異なると、考慮または翻訳されていないと、ファイルが完全に一致しなくなります。

于 2008-10-28T14:45:34.030 に答える
0

そうですね、私がお勧めするのは、他のマージ ソフトウェアを使用することです。たとえば、Tortoise SVNCompare が、WinMerge と同じように空白の変更を明らかに強調表示するかどうかはわかりません。

于 2008-10-28T14:47:14.933 に答える
0

明らかな違いがない 2 つのファイルの正確なファイル サイズを確認します。更新日も確認してください。

于 2008-10-28T15:09:43.733 に答える
0

クリーンアップ コマンドを試しますが、最初にこれをお読みください。

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-cleanup.html

于 2008-10-28T22:46:08.803 に答える
0

2 つの異なる diff/merge ソフトウェア (winmerge と diffmerge) を試しましたが、ファイルはまったく同じです。リポジトリ ブラウザーを開いて、トランクを比較用にマークし、それをブランチと比較すると、正常に動作することに気付きました。実際に異なるファイルのみを表示します。ただし、リビジョン グラフから起動すると、同じ問題が発生します。結果のダイアログは、異なるファイルの大きなリストがあることを除いて、まったく同じです。これは svn/tortoisesvn のバグでしょうか、それとも他に何か足りないのでしょうか?

于 2008-10-28T15:04:52.727 に答える