web-dev-qa-db-ja.com

サーバー上のファイルとの差分を確認

マシンにリポジトリの作業コピーがあり、サーバー上で更新されていることを知っています。 svnコマンドライン引数を使用して、新しいバージョンと作業コピーのバージョンの違いを取得する方法を知りたいです。

これを行う方法はありますか?

73
Mantas Vidutis

作業コピーはリビジョンBASEです。リポジトリからの最新のコピーはリビジョンHEADです。これにより、作業コピーとHEADリビジョン:

svn diff -r HEAD <file>

実際には、変更を逆に吐き出します。つまり、HEADからBASEに移動する方法を示しています。

svn diff -r BASE:HEAD <file>

キーボードのストロークをspareしみませんか?あなたとあなたの神のみがその答えを知っています。

113
John Kugelman

作業コピーHEAD;の違い作業コピーを生成するために、現在リポジトリにあるもの(HEAD)に対して行う必要のある変更

svn diff -r HEAD --old=<file>

興味深いのは、BASEHEADの違いです。最後に更新してからリポジトリにチェックインされた変更作業コピー

svn diff -r BASE:HEAD <file>

そしてもちろんBASE作業コピー;の違い最後に更新してから行った変更作業コピー

svn diff <file>


議論されている3つのバージョンがあります:BASE作業コピー、およびHEAD

  • BASE:最後にチェックアウト/更新された<file>作業コピーsvn revertを使用した後に元に戻るもの
  • 作業コピーBASEとして最近チェックアウト/更新された<file>へのローカル変更
  • HEAD:リポジトリ内の最新の変更。 BASEと同等-iff<file>working copyとしてチェックアウト/更新されて以来、変更はコミットされていません。
17
Chadwick