2

このコマンドが機能することはわかっていますが、答えられないばかげた質問があります。

a.txt という名前のファイルを含む svn リポジトリがあり、たとえば X に番号があるとします。ユーザー A がそれをチェックアウトし、ローカルで a.txt の Y に変更します。今、彼はそれをコミットしたいと考えています。それを行う前に、彼はSVNの更新を行います。理想的には、これらのファイルは両方とも異なるため、SVNの更新で競合が発生するはずです。しかし、私の場合、SVN 更新が実行され、リポジトリと作業コピーの間に現在の変更はないと表示されます。

私の推論が正しいと誰かが教えてくれますか? 私の意見では、このシナリオは 2 人のユーザー間の標準的な svn 競合とまったく同じです。

編集: Sharptooth の回答を見てください. 私の推論が間違っていることは明らかです. svn update の流れの概要を教えてください. つまり、R リポジトリと W 作業コピーがある場合、svn update は diff の計算中に何を探すのでしょうか?

4

3 に答える 3

0

「svn update」は、最初にユーザーがデフォルトでローカルの変更を上書きできるようにするため、競合は表示されません。つまり、ローカルでファイルを変更したのと同じ場所で他のユーザーが別のことをコミットした場合に競合が発生します。それ以外の場合、競合は見つかりません。更新後も 'svn diff' を実行することで変更を確認できることは、おそらくよくご存じでしょう。

于 2013-09-04T13:23:21.880 に答える