Subversion 資料一覧
Subversionインストール手順
2010/5/15更新
対応バージョン: 1.6.11
公式サイト
準備
あらかじめインストールしておくもの
Apache 2
mod_dav_svnを使用したい場合
SQLite 3.4.0以降
Berkeley DB 4.0.14以降
リポジトリ管理にBerkeley DBを使用したい場合
関連資料・記事
導入OS
Ubuntu 9.10
インストール
配布ファイル展開
% tar jxvf subversion-1.6.11.tar.bz2 % cd subversion-1.6.11
make,インストール
% ./configure <オプション> % make % sudo make install
インストール物 (man,infoは除く)
/usr/local/bin/svn /usr/local/bin/svnadmin /usr/local/bin/svndumpfilter /usr/local/bin/svnlook /usr/local/bin/svnserve /usr/local/bin/svnsync /usr/local/bin/svnversion /usr/local/lib/libsvn_* /usr/local/include/subversion-1/* /usr/local/etc/pear.conf /usr/local/apache2/modules/mod_dav_svn.so /usr/local/apache2/modules/mod_authz_svn.so
上記の他、Apacheの設定ファイル/usr/local/apache2/conf/httpd.confに以下の行が追加される。
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
共有ライブラリキャッシュ更新
% sudo ldconfig % ldconfig -p | grep svn libsvn_wc-1.so.0 (libc6) => /usr/local/lib/libsvn_wc-1.so.0 libsvn_wc-1.so (libc6) => /usr/local/lib/libsvn_wc-1.so libsvn_subr-1.so.0 (libc6) => /usr/local/lib/libsvn_subr-1.so.0 libsvn_subr-1.so (libc6) => /usr/local/lib/libsvn_subr-1.so :
リポジトリ操作
ここでは/var/svn配下にリポジトリを作成してみる。
まず、リポジトリを初期化する。
% mkdir /var/svn % svnadmin create /var/svn
リポジトリに登録するファイルを作成する。
ここでは1つのディレクトリと1つのファイルを作成する。
- test | +- readme.txt
% mkdir test % echo "read me first." > test/readme.txt
上記ファイルをリポジトリに登録する。
% svn import test file:///var/svn/test -m "first import" Adding test/readme.txt Committed revision 1.
実ファイルをいったん削除し、登録したモジュールをチェックアウトしてみる。
% rm -rf test % svn checkout file:///var/svn/test work A work/readme.txt Checked out revision 1.
チェックアウトしたファイルに1行追加し、作業前との差分を表示させてみる。
% echo "now editting..." >> work/readme.txt % svn diff work Index: work/readme.txt =================================================================== --- work/readme.txt (revision 1) +++ work/readme.txt (working copy) @@ -1 +1,2 @@ read me first. +now editting...
修正後の状態をコミットしてリポジトリに反映させる。
% svn commit work -m "add line" Sending work/readme.txt Transmitting file data . Committed revision 2.
コミットし忘れているファイルがあるかどうかは以下のコマンドで確認できる。コマンドを実行して何も表示されなければよい。
% svn status work
今度は新しくファイルを追加してみる。
% echo "second file" > work/second.txt % svn add work/second.txt A work/second.txt % svn status work A work/second.txt
この状態ではまだリポジトリに反映されていないので、コミット操作を行う。
% svn commit work -m "add second file" Adding work/second.txt Transmitting file data . Committed revision 3.
ファイル名を変更するには以下のようにする。
% svn status work % svn move work/second.txt work/tmp.txt A work/tmp.txt D work/second.txt % svn status work D work/second.txt A + work/tmp.txt % svn commit work -m "chenge file name second.txt to tmp.txt" Deleting work/second.txt Adding work/tmp.txt Committed revision 4.
ファイルを削除するには以下のようにする。
% svn delete work/tmp.txt D work/tmp.txt % svn status work D work/tmp.txt % svn commit work -m "delete tmp.txt" Deleting work/tmp.txt Committed revision 5.
リポジトリの登録状況を調べるにはsvnlookコマンドを実行する。
% svnlook info /var/svn foo 2009-06-15 19:41:56 +0900 (月, 15 6月 2009) 14 delete tmp.txt % svnlook history /var/svn REVISION PATH -------- ---- 5 / 4 / 3 / 2 / 1 / 0 / % svnlook tree /var/svn / test/ readme.txt