マシンにリポジトリの作業コピーがあり、サーバー上で更新されていることを知っています。 svn
コマンドライン引数を使用して、新しいバージョンと作業コピーのバージョンの違いを取得する方法を知りたいです。
これを行う方法はありますか?
作業コピーはリビジョンBASEです。リポジトリからの最新のコピーはリビジョンHEADです。これにより、作業コピーとHEADリビジョン:
svn diff -r HEAD <file>
実際には、変更を逆に吐き出します。つまり、HEADからBASEに移動する方法を示しています。
svn diff -r BASE:HEAD <file>
キーボードのストロークをspareしみませんか?あなたとあなたの神のみがその答えを知っています。
作業コピーとHEAD
;の違い作業コピーを生成するために、現在リポジトリにあるもの(HEAD
)に対して行う必要のある変更
svn diff -r HEAD --old=<file>
興味深いのは、BASE
とHEAD
の違いです。最後に更新してからリポジトリにチェックインされた変更作業コピー:
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としてチェックアウト/更新されて以来、変更はコミットされていません。