-CVSの後継だが、インストールにやたら手間取る&信頼性はどーか?すでにjakartaプロジェクトが利用中。
-CVSの後継。徐々にCVSを置き換えていてオープンソースプロダクトでは採用多数。企業ではまだお目にかかったことございません。

#contents

*特徴 [#o6d0e7f1]

-CVSと違いファイルの移動やリネームしても履歴は継続される
-複数ファイルのcommitを1つのコミットとして扱える(グループコミット)
-賛否両論あろうが排他制御ができるようになった(昔は取り入れないといっていたのに)

*インストール [#hb6fee6f]

RPMインストールでさまざまな依存関係があるので公式サイトからごっそり関連RPMを持ってくるとよい。DebianやVineならaptが使えるので非常に楽

**バイナリからインストール(推奨) [#v327b17d]

下記ソースインストールは2004年の情報で今はバイナリがあることがほとんどなのでこちらを推奨する。

**ソースインストール(非推奨) [#gedbfbfd]

 RedHatES3GUIインストールサーバータイプで開発ツールのみ選択した。

**db [#t3d53b02]
 # cd biuld_unix
 # ../dist/configure

**apache [#k76f5d8c]
 # ./configure --enable-mods-shared=all --enable-shared=yes --with-berkeley-db=/usr/local/BerkeleyDB.4.2

**subversion [#h6001f1d]
 # ./configure --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-berkeley-db=/usr/local/BerkeleyDB.4.2

 ですべて問題なく。

-追記:apr-utilなどはソースに含まれているので./configureだけでOK
 
*Windowsから利用する [#q8dc943c]

-TortoiseSVNというソフトがエクスプローラーの拡張でインストールでき秀逸な出来。

**TortoiseSVNの使い方 [#hb319e45]

エクスプローラーの拡張シェルとしてインストールされる。開発も活発なのでこれを選択しておけば安心。



**Subclipseの使い方 [#cf4ac129]

こちらはEclipseプラグイン。

*ネットワーク越しの利用 [#jbf25cc2]

**デーモンとして起動(3690ポートを利用) [#f6765fed]

 svnserve -d

**xined経由で起動(安全) [#r085aa0b]

[[参考URL:http://yik.jp/wiki/svn_setting.html#l8]]


 # vi /etc/services
 svnserve        3690/tcp                        # Subversion
 svnserve        3690/udp                        # Subversion

 # vi /etc/xined.d/svnserve
 service svnserve
 {
    disable = no
    socket_type = stream
    protocol = tcp
    wait = no
    user = root
    server = /usr/local/bin/svnserve
    server_args = -i
 }

 # chkconfig --add svnserve
 # /etc/init.d/xinetd restart

**外から見る [#f547b097]

 svn list svn://ホスト名/svn/repos

**デフォルトの書き込み制限解除 [#bc97634c]

 リポジトリのルートのconf以下のファイルを変更

-特定のユーザーのみ書き込み可能にする場合

 [general]
 password-db = passwd

-誰でも書き込めるようにする場合

 [general]
 anon-access = write
 auth-access = write

 認証に関しての情報が少なすぎ!!!
 httpの場合はmod_svn_authzというモジュールを組み込まないと素通りできる

*BACKUP&RECOVERY [#bf0671a3]

 svnadmin dump /usr/local/takeru > takeru.out
 svnadmin create /usr/local/takeru_from_backup
 svnadmin load /usr/local/takeru_from_backup < takeru.out
 

*コマンド一覧 [#ob7a0c7c]

リポジトリは/svn/repos

|リポジトリ初期化(ディレクトリは自動で作成してくれる)|svnadmin create /svn/repos/|
|リポジトリを見る|svn list file:///svn/repos|
|インポート|svn import [ローカルdir] http://localhost/svn/repos/[リポジトリdir]|
|ローカルでインポート|svn import file:///svn/repos/newrepos|
|チェックアウト(通信方式(file,svn,http)が.svn/entriesにかかれる)|svn co file:///svn/repos|
|diffチェック|svn diff [ファイル名]|
|コミット|svn commit [ファイル名]|

*WebUI [#lbbd8365]

ViewVCというのがある。

#counter

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS