コミットが完了するたびに、リモート作業コピーで「svn update」を実行するコミット フックがあります。ユーザーは、コミットされた変更がこのリモート コピーにすぐに反映されることを望んでいます。
ユーザーは、作業コピー全体で「svn update」を実行するパフォーマンスに非常に不満を持っているため、「svnlook changed」を使用して更新されたファイルを見つけてから、更新されたファイルのみを「svn update」するようにフックを変更するように依頼されました。
この方法のパフォーマンスは非常に好意的に受け止められましたが、これにより作業コピーが奇妙な/壊れた状態になりました.
なぜこれが起こっているのかを理解するために、シングルトンの更新とリポジトリ全体の更新の違いを理解しようとしています。この方法で更新を行うことは、特にこれらの問題を考えると、私には良い習慣ではないように思えますが、特に「svn update」と「svn update FILE」の違いを明確にするために、SVN の舞台裏で何が起こっているのかについて十分に知りません。 '。
リポジトリで「svn update」を実行する場合とファイルで実行する場合の SVN の観点との違いは何ですか?
これは悪い習慣ですか?親ディレクトリベースの更新は「十分な」プラクティスでしょうか?
それ以外の場合、この一貫性のない作業コピーの問題を回避するために、ファイルごとに SVN の更新を行うにはどうすればよいですか?