次のコマンドが着信競合を報告するという奇妙な問題がリポジトリに表示されています。
svn merge --dry-run -r BASE:HEAD . | egrep -e '^[[:space:]]*(A|B|C|D|E|G|U)+[[:space:]]+'
C path/to/fileA
C path/to/fileB
C path/to/fileC
U path/to/fileD
ただし、svnupは実際には競合を引き起こしません。実際、出力は次のようになります。
At revision 7922.
At revision 7922.
At revision 7922.
U path/to/fileD
Updated to revision 7922.
私の知る限り、問題のファイルについては何も奇妙なことはありません。svnステータスは問題を報告せず、svn infoはファイルが最新であることを示し、svnresolveは効果がありません。これは定期的に発生しますが、毎回発生するわけではなく、常に同じファイルが表示されます。
誰かがこれを見たことがありますか?
編集:私は重要な詳細を省略したようです。それがおそらく誰もここで答えることができなかった理由です。svn upステップでは、段階的な自動展開中の衝突を回避するために、各ファイルを個別に更新しています(たとえば、t0:着信更新を先読みする、t1:データベースに対して必要なスキーマ変更を実行する、t1 + X:残りの部分を更新するバッチ。Xは自明でない数値である可能性があります)。完全な更新は次のようになります。
svn up --depth=empty path/to/fileA path/to/fileB path/to/fileC path/to/fileD
At revision 7922.
At revision 7922.
At revision 7922.
U path/to/fileD
Updated to revision 7922.