インストール †
はじめに †
特徴 †
- UTF-8ベースで管理しています。(日本語との親和性が高い)
- Subversion は、ディレクトリやファイルの変更履歴を保持します。CVS はファイルに対する変更しか保持しません。
- HTTP、HTTPS、そしてSSH でのアクセスと認証機構をサポートしています。
- Subversion はリポジトリにあるファイルやディレクトリに関連するメタデータ情報の履歴も保持できます。
- 各ファイルのリビジョン管理だけでなく、プロジェクト全体から見たリビジョンの管理もできます。
- バイナリで差分を作成します。CVSはバイナリ効率が悪いです。
- WebDAVでリポジトリを公開できます。
- manやhelpも日本語化されています(v1.2.1で確認)
サーバインストール †
- 既にパッケージが入っている場合は削除
# apt-get remove mod_dav_svn
# apt-get remove subversion
- パッケージの取得
- インストール
# rpm -ivh subversion-1.2.1-0.1.1.fc1.rf.i386.rpm
# rpm -ivh subversion-devel-1.2.1-0.1.1.fc1.rf.i386.rpm
# rpm -ivh mod_dav_svn-1.2.1-0.1.1.fc1.rf.i386.rpm
- svnのルートを設定
# svnadmin create --fs-type=fsfs /home/svnroot
# htpasswd -cm /home/svnroot/.htpasswd test
# chown -R apache:apache /home/svnroot
- SELinuxを使用している場合
# chcon -R system_u:object_r:httpd_sys_content_t /home/svnroot
- 設定ファイルの編集
# vi /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn/repos>
DAV svn
SVNPath /home/svnroot
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/svnroot/.htpasswd
Require valid-user
</LimitExcept>
</Location>
- httpdの再起動
# service httpd restart
- ブラウザでアクセスしてみる
http://SERVER_NAME/svn/repos

クライアントインストール †

- 本体のインストール
- 言語パックのインストール
- オプションの設定
- クライアント側
例:(*.phpに属性を自動付加する場合)
「;」(セミコロンで複数オプション指定可能)
TortoiseSVN -> 設定 -> 一般 -> Subversionの設定ファイル:編集
[miscellany]
enable-auto-props = yes
[auto-props]
*.php = svn:keywords=Id Revision
Linuxの場合
vi ~/.subversion/config
- サーバ側
svn checkout http://SERVER_NAME/svn/repos
svn propset svn:keywords "Id Revision" *.php
svn commit
一気に設定するには
$ svn propset svn:keywords "Id" `find . \( -name .svn -prune \) -o -type f -print | xargs grep -l '\$Id:'`
$ svn commit
- デフォルトキーワード
- Date
- このキーワードはファイルがリポジトリ中で修正された最後の時刻 をあらわし、$Date: 2010-03-04 03:03:21 +0900 (Thu, 04 Mar 2010) $のようなものです。これは LastChangedDateと指定することもできます。
- Revision
- このキーワードは、ファイルがリポジトリで変更された最後のリビジョン をあらわし、$Revision: 81 $のようなものです。これは LastChangedRevisionまたは Revと省略することもできます。
- Author
- このキーワードはリポジトリ中のこのファイルを最後に変更したユーザ をあらわし、$Author: dex $のようなものです。これは LastChangedByと省略することもできます。
- HeadURL
- このキーワードはリポジトリ中のファイルの最後のバージョン に対する完全なURLをあらわし、 $HeadURL: https://192.168.1.5/svn/dexlab/trunk/htdocs/pukiwiki/wiki/4D656D6F2F53756276657273696F6E2F496E7374616C6C.txt $ のようなものです。これはURLと省略する こともできます。
- Id
- このキーワードは、他のキーワードの圧縮された組み合わせです。 その置き換えは、 $Id: 4D656D6F2F53756276657273696F6E2F496E7374616C6C.txt 81 2010-03-03 18:03:21Z dex $のようなもので、ファイル calc.c が最後に変更されたのは リビジョン148 で、時間は July 28, 2002 の夜、変更した人は、 sallyであることを意味しています。
|
|