Subversion

チェックアウト

$ svn co http://example.com/sample/trunk

アップデート

$ svn up

ステータス表示

$ svn st

コミット対象にする

$svn add sample.txt

ファイルの削除

$ svn del sample.txt

コミット

$ svn ci -m 'comment'

リモートレポジトリのコピー

$ svn cp http://example.com/sample/trunk http://example.com/sample/tag

リビジョンを戻す

$ svn merge -r 102:101 http://example.com/sample/trunk

svn merge -r N:M は N は含まない、M は含む。

向き先変更

作業コピーは同じリポジトリのディレクトリを指しているが、リポジトリ自身の場所が移った場合。

$ svn switch --relocate http://example.com/old/trunk http://example.com/new/trunk ./

ディレクトリ作成

$ svn mkdir http://example.com/sample/tag

インポート

$ svn import ./ http://example.com/sample/trunk -m 'comment'

エクスポート

$ svn export http://example.com/sample/trunk ./

ダンプ

$ svnadmin dump ./ > repository.dump
$ svnadmin dump ./ | svndumpfilter --drop-empty-revs --renumber-revs --skip-missing-merge-sources include project > repository.dump

※ なぜか1階層分しかできない。

リストア

# svnadmin create /var/local/svn/repository
# svnadmin load /var/local/svn/repository < repository.dump
# chown -R apache:apache /var/local/svn/repository

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)