Rso's Jotter

日々の開発の知見のメモやその他雑記

SVNまとめ

いまいちよく分かってないSVNの使い方とまとめてみる

チェックアウト

SVNサーバ?にアクセスする場合
% svn co svn+ssh://USERNAME@HOSTNAME/REPOSITORY_LOCATION
ローカルにアクセスする場合
% svn co file:///REPOSITORY_LOCATION

コミットログ表示

作業ディレクトリにいる場合
% svn log 

で全部のコミットログが見れる.

リポジトリを指定する場合
% svn log file///REPOSITORY_LOCATION

こうやって直接リポジトリを指定しても見れる

ログメッセージ本文だけを表示
% svn log -q
変更されたファイルの表示
% svn log -v

diff表示

以降,作業ディレクトリにいる場合を想定.
いない場合は引数にリポジトリパスを指定するといけるっぽい

作業コピーにローカルで加えられた変更を見る
% svn diff [filename ...]

ファイル名を指定しないと作業ディレクトリ全体のdiffを見る

リビジョン番号を指定して比較
% svn diff -r REVISION

REVISIONで指定したリビジョン番号と作業ディレクトリの内容とのdiffを表示.ここでリビジョン番号以外に以下のものもかける.

  • HEAD・・・リポジトリで最新のもの
  • BASE・・・作業コピーのベースとなったリビジョン
  • COMMITTED・・・BASEまたはそれ以前のリビジョン.よくわからん
  • PREV・・・COMMITTEDの一つ前のリビジョン
  • {日付}・・・{2002-02-17}など,空白が開くときは引用符でくくること.SVNはこの日付に最も近いリビジョンを選択する

また,-rの代わりに-cにすると指定したリビジョンとその直前のdiffがみれる

2つのリビジョン間の比較
% svn diff -r REVISION1:REVISION2

REVISION1とREVISION2のdiffを表示

更新

リポジトリの内容を作業ディレクトリに反映させる

% svn update

status

リポジトリの内容と作業ディレクトリの内容との差を表示する.

% svn status