#contents();
** 準備編 [#k5f7c43f]
*** サーバー側の設定 [#naa6afda]
- まず subversion がインストールされている事を確認
[root@spirit ~]# yum list subversion
Installed Packages
subversion.i386 1.4.3-0.1.el4.rf installed
- apache 経由でサーバーを公開するため、&color(red){専用のモジュール[ mod_dav_svn ]}; をインストールする
[root@spirit ~]# yum install mod_dav_svn
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
mod_dav_svn i386 1.4.3-0.1.el4.rf dag 188 k
*** svn 関連の環境変数の指定 [#e1c3a692]
- svn で利用するコメント入力用のエディターを環境変数に指定しておく必要がある
- /etc/profiles に環境変数を追加する
[root@spirit root]# echo "export SVN_EDITOR=/usr/bin/vim" >> /etc/profile
[root@spirit root]# source /etc/profile
*** apache の設定 ( /etc/httpd/conf.d/subversion.conf ) [#i2f1ffe6]
- リポジトリへのアクセスは http://(サーバー名)/Location になる
- http://wiki.hmuna.com/svn へのアクセスが https:// にリダイレクトされる設定になっているので、&color(red){リポジトリのアクセス時には必ず https://wiki.hmuna.com/svn/(Project名) と指定しないとエラーになる};
<Location /svn>
DAV svn
SVNParentPath /home/svn_repos
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
SSLRequireSSL
AuthType Basic
AuthName "リポジトリ パスワード"
AuthUserFile /usr/local/certs/munakatapasswd2
Require valid-user
</LimitExcept>
</Location>
*** %% Windows 用クライアント [[Tortoise SVN (ver 1.4.3):http://tortoisesvn.net/about]] %% [#gade1fed]
- 32bit windows インストールパッケージ ----> &ref(TortoiseSVN-1.4.3.8645-win32-svn-1.4.3.msi);
- 日本語 Language pack --------------------> &ref(LanguagePack-1.4.3.8645-win32-ja.exe);
*** Windows 用クライアント [[Tortoise SVN (ver 1.4.4):http://tortoisesvn.net/about]] [#gade1fed]
- 32bit windows インストールパッケージ ----> &ref(TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi);
- 日本語 Language pack --------------------> &ref(TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.exe);
*** Linux 用 GUI クライアント &color(red){[[esvn (ver 0.6.11):http://esvn.umputun.com/]]}; [#me5c7914]
- ドキュメント(pdf版) -----> &ref(esvn_manual.pdf);
- rpm をインストールする前に &color(red){qt-devel パッケージをインストールしておく必要がある};
[root@spirit Downloads]# yum install qt-devel
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
qt-devel i386 1:3.3.3-10.RHEL4 update 13 M
- Redhat EL / Fedora 用 RPM パッケージ ----> &ref(esvn-0.6.11-1.i386.rpm);
[root@spirit Downloads]# rpm -ivh esvn-0.6.11-1.i386.rpm
Preparing... ########################################### [100%]
1:esvn ########################################### [100%]
** 運用編 (基本) [#d748693d]
*** リポジトリの作成 [#c9f39fe2]
- リポジトリを作成するディレクトリを準備する。
- &color(red){mod_dav_svn を利用して apache がこの場所にアクセスできるようにオーナーを設定する};
[root@spirit svn_repos]# chown -R apache.apache /home/svn_repos/
- 管理対象プロジェクト毎に 管理用(バックアップ保存用)ディレクトリ(=リポジトリ)を専用コマンドで作成する
[root@spirit svn_repos]# svnadmin create /home/svn_repos/project_A
[root@spirit svn_repos]# ls -l /home/svn_repos/project_A/
合計 28
-rw-r--r-- 1 apache apache 229 3月 4 21:45 README.txt
drwxr-xr-x 2 apache apache 4096 3月 4 21:45 conf
drwxr-xr-x 2 apache apache 4096 3月 4 21:45 dav
drwxr-sr-x 5 apache apache 4096 3月 4 21:45 db
-r--r--r-- 1 apache apache 2 3月 4 21:45 format
drwxr-xr-x 2 apache apache 4096 3月 4 21:45 hooks
drwxr-xr-x 2 apache apache 4096 3月 4 21:45 locks
- subversion の流儀に習って trunk (本流)、tag (リリース保存用)、branch (任意の分岐) の3つのサブディレクトリを作成
- これはバージョン管理システムで一般に TTB モデルと呼ばれるディレクトリの構成である
- サブディレクトリを作る操作は、リポジトリの操作になるので subversion の専用コマンドを利用して行う (ローカル実行)
[root@spirit svn_repos]# svn mkdir file://localhost/home/svn_repos/project_A/trunk -m "Create trunk dir"
[root@spirit svn_repos]# svn mkdir file://localhost/home/svn_repos/project_A/tags -m "Create tags dir"
[root@spirit svn_repos]# svn mkdir file://localhost/home/svn_repos/project_A/branch -m "Create branch dir"
- サブディレクトリを作る操作は、リポジトリの操作になるので subversion の専用コマンドを利用して行う (Apache 経由で実行)
[root@spirit ~]# svn mkdir https://wiki.hmuna.com/svn/project_A/tmp -m "tst"
認証領域: <https://wiki.hmuna.com:443> Enter Subversion repository Access passcode
'root' のパスワード:
認証領域: <https://wiki.hmuna.com:443> Enter Subversion repository Access passcode
ユーザ名: munakata
'munakata' のパスワード:
リビジョン 4 をコミットしました。
*** 作業ディレクトリの作成 [#m26b4add]
- 作業者毎のファイル編集用の場所(=作業ディレクトリ)を通常のディレクトリ新規作成により作成する
[root@spirit svn_repos]# mkdir -p /root/system_files/cron.hourly
[root@spirit svn_repos]# mkdir -p /root/system_files/cron.daily
[root@spirit svn_repos]# mkdir -p /root/system_files/cron.monthly
- 編集用のファイルの準備 (この時点ではまだ subversion による管理対象になっていない)
*** 管理対象ファイルをリポジトリに登録(=初期インポート)する [#nf77c117]
[root@spirit svn_repos]# cd (作業ディレクトリ)
[root@spirit system_files]# svn import https://wiki.hmuna.com/svn/(対象リポジトリ名)
** 運用編 (応用) [#q10ca0c2]
** クライアントコマンド互換表 [#x8a33ae6]
|操作|コマンドライン|TortoiseSVN|eSvn|h
|リポジトリの作成|svnadmin create (リポジトリ名)|[左クリック]→[TortoiseSVN]→[ここにリポジトリを作成]|[Modify]→[Add]/[Add recursive]|
|初期インポート|作業ディレクトリで svn import(リポジトリ名)|[左クリック]→[SVN チェックアウト]|[File]→[Checkout]|
*** 新しいファイルを SVN の管理対象に入れる方法 [#efe551e1]
- リポジトリを作成
- リポジトリの中に trunk, tag, branch を作成
- リポジトリの dav_snv でアクセスできるよう ファイルオーナを apache.apache に変更
- ファイルのインポート
** 参考 URL [#i5c4c598]
- [[Subversion 日本語マニュアル:http://subversion.bluegate.org/doc/book.html#svn.intro.install]]
-- [[導入 (リポジトリの初期化):http://subversion.bluegate.org/doc/ch01s07.html]]
-- [[Apache との連携 (mod_dav_svn):http://subversion.bluegate.org/doc/ch06s04.html]]
- [[Subversion の Cent OS のインストール:http://oku.edu.mie-u.ac.jp/~okumura/linux/?Subversion]]
- [[Subversion について(apache によるサーバ公開):http://www.hitachi-sk.co.jp/research/techdoc/SVN/index.html]]
- &ref(TortoiseSVN-1.4.4-ja.pdf,center,PDF版 マニュアル for 1.4.4);
- &ref(TortoiseMerge-1.4.4-ja.pdf,center,PDF版 マニュアル(マージ機能) for 1.4.4);