#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);

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