Subversion 設置 Kuniaki IGARSHI 2006.12.11
目次 <ul><li>Subversion サーバ設置方法 </li></ul><ul><li>Subversion サーバ設定 </li></ul><ul><li>Backup  方法 </li></ul><ul><li>CVS から Sub...
Subversion サーバ  Install <ul><li>SVN 本体 </li></ul><ul><li>http://subversion.tigris.org/ </li></ul><ul><li>からダウンロードしてインストール。...
Subversion サーバ Install 時の注意 <ul><li>Firewall </li></ul><ul><li>接続に失敗する場合は、 </li></ul><ul><li>Firewall の設定も調べるといいでしょう。 </li...
リポジトリ内のフォルダ構成 <ul><li>conf -  設定ファイル </li></ul><ul><li>db -  データ </li></ul><ul><li>hocks -  自動実行スクリプト  </li></ul><ul><li>重...
アクセス権設定方法 <ul><li>conf/svnserve.conf </li></ul><ul><ul><li>[general] </li></ul></ul><ul><ul><li>anon-access = none 非認証ユーザー...
自動実行スクリプト <ul><li>コミット前後にスクリプトを実行する仕組み </li></ul><ul><li>hocks/  以下に下記の名前の実行可能ファイルを置く </li></ul><ul><li>post-commit </li><...
コミット通知メール <ul><li>hooks/ </li></ul><ul><li>post-commit コミット完了時に自動実行 </li></ul><ul><li>(win では post-commit.bat など実行可能な形式にする...
Backup 方法 <ul><li>ファイルコピーでも Backup 可能ですが、途中でコミットをされた場合に備えて Subversion の Backup 機能を使用することを推奨します。 </li></ul><ul><li>Subversi...
CVS から SVN への移行 <ul><li>CVS2SVN </li></ul><ul><li>リポジトリを CVS 形式から SVN 形式に変換する python スクリプト </li></ul><ul><li>% python /usr...
CVS から SVN への移行 <ul><li>■ その他の情報 </li></ul><ul><li>mime-types </li></ul><ul><li>mime.types </li></ul><ul><li>test/plain;ch...
Upcoming SlideShare
Loading in …5
×

SubversionServer設置

3,554 views

Published on

SVNServer設置

  • Be the first to comment

SubversionServer設置

  1. 1. Subversion 設置 Kuniaki IGARSHI 2006.12.11
  2. 2. 目次 <ul><li>Subversion サーバ設置方法 </li></ul><ul><li>Subversion サーバ設定 </li></ul><ul><li>Backup 方法 </li></ul><ul><li>CVS から Subversion への移行方法 </li></ul>
  3. 3. Subversion サーバ Install <ul><li>SVN 本体 </li></ul><ul><li>http://subversion.tigris.org/ </li></ul><ul><li>からダウンロードしてインストール。 </li></ul><ul><li>SVNService Wrapper for Windows </li></ul><ul><li>http://dark.clansoft.dk/~mbn/svnservice/ </li></ul><ul><li>からダウンロードしてインストール。 </li></ul><ul><li>(Subversion は、 Windows 上では自力でサービスになれないため。 ) </li></ul><ul><li>C:> SVNService -install -d -r D:svnrepos </li></ul><ul><li>※ SVNService を Subversion の bin ディレクトリに入れて実行するのがミソ。 </li></ul><ul><li>Windows の設定でサービスを自動起動する設定にする。 </li></ul>
  4. 4. Subversion サーバ Install 時の注意 <ul><li>Firewall </li></ul><ul><li>接続に失敗する場合は、 </li></ul><ul><li>Firewall の設定も調べるといいでしょう。 </li></ul><ul><li>Subversion の標準ポートは 3690 。 </li></ul><ul><li>win では以下で調べられる。 </li></ul><ul><li>> tasklist /svc svnserve.exe の PID を調べる </li></ul><ul><li>> netstat -ano PID から port を調べる </li></ul>
  5. 5. リポジトリ内のフォルダ構成 <ul><li>conf - 設定ファイル </li></ul><ul><li>db - データ </li></ul><ul><li>hocks - 自動実行スクリプト </li></ul><ul><li>重要なものだけ抜粋 </li></ul>
  6. 6. アクセス権設定方法 <ul><li>conf/svnserve.conf </li></ul><ul><ul><li>[general] </li></ul></ul><ul><ul><li>anon-access = none 非認証ユーザーのアクセス権 </li></ul></ul><ul><ul><li>auth-access = write 認証ユーザーのアクセス権 </li></ul></ul><ul><ul><li>password-db = passwd ユーザー定義ファイルのフル or 相対パス </li></ul></ul><ul><ul><li>authz-db = authz ユーザーごとのアクセス権設定 </li></ul></ul><ul><li>conf/passwd </li></ul><ul><ul><li>[users] </li></ul></ul><ul><ul><li>username = passwd ユーザー名とパスワード ( 平文 ) の組をセット </li></ul></ul><ul><li>conf/authz </li></ul><ul><ul><li>[/] リポジトリ全体への設定 </li></ul></ul><ul><ul><li>igaiga= rw read/write </li></ul></ul><ul><ul><li>guest = r read </li></ul></ul><ul><ul><li>* = 記述されてない全ユーザー none </li></ul></ul><ul><li>ほかに ssh+svn, httpd, file などの認証方式を使用可能 </li></ul>
  7. 7. 自動実行スクリプト <ul><li>コミット前後にスクリプトを実行する仕組み </li></ul><ul><li>hocks/ 以下に下記の名前の実行可能ファイルを置く </li></ul><ul><li>post-commit </li></ul><ul><li>post-lock </li></ul><ul><li>post-revprop-change </li></ul><ul><li>post-unlock </li></ul><ul><li>pre-commit </li></ul><ul><li>pre-lock </li></ul><ul><li>pre-revprop-change </li></ul><ul><li>pre-unlock </li></ul><ul><li>start-commit </li></ul>
  8. 8. コミット通知メール <ul><li>hooks/ </li></ul><ul><li>post-commit コミット完了時に自動実行 </li></ul><ul><li>(win では post-commit.bat など実行可能な形式にする。 ) </li></ul><ul><li>参考文献 </li></ul><ul><li>http://mugiwara.jp/Software/memo/wifky.pl?p=Subversion </li></ul><ul><li>http://vimrc.hp.infoseek.co.jp/svn_commit_jp.html </li></ul>
  9. 9. Backup 方法 <ul><li>ファイルコピーでも Backup 可能ですが、途中でコミットをされた場合に備えて Subversion の Backup 機能を使用することを推奨します。 </li></ul><ul><li>Subversion サーバをバージョンアップする際も、下記の手順で作り直すとリポジトリが新バージョン対応します。 </li></ul><ul><li>backup </li></ul><ul><li>> svnadmin.exe dump d: epos eposname > dumpsvnfile </li></ul><ul><li>復元 </li></ul><ul><li>> svnadmin.exe create reposname </li></ul><ul><li>( または TortoiseSVN でリポジトリ作成。 ) </li></ul><ul><li>> svnadmin.exe load tips < dumpsvnfile </li></ul><ul><li>Backup 内容はコミットデータのみで設定ファイルを含みません。 </li></ul><ul><li>復元後は conf フォルダの設定なども忘れずに。 </li></ul>
  10. 10. CVS から SVN への移行 <ul><li>CVS2SVN </li></ul><ul><li>リポジトリを CVS 形式から SVN 形式に変換する python スクリプト </li></ul><ul><li>% python /usr/local/bin/cvs2svn </li></ul><ul><li>cvs リポジトリを scp などでローカルにコピーして作業。 </li></ul><ul><li>Dump ファイル形式 </li></ul><ul><li>% python cvs2svn --dump-only --dumpfile=repos.dump --fs-type=fsfs --use-cvs --encoding=SHIFT_JIS ../cvs/ | tee dump.log </li></ul><ul><li>リポジトリ形式 </li></ul><ul><li>cvs2svn --encoding=' エンコード方式 ' -s 'SVN のリポジトリができるべきディレクトリ ' ' コピーした CVS のリポジトリのディレクトリ ' </li></ul><ul><li>% cvs2svn --encoding=euc-jp -s ./svn-repos ./cvs-repos </li></ul><ul><li>> svnadmin.exe dump d: epos eposname > dumpsvnfile </li></ul><ul><li>> svnadmin.exe create reposname </li></ul><ul><li>> svnadmin.exe load reposname < dumpsvnfile </li></ul>
  11. 11. CVS から SVN への移行 <ul><li>■ その他の情報 </li></ul><ul><li>mime-types </li></ul><ul><li>mime.types </li></ul><ul><li>test/plain;charset=shift_jis txt cpp h bat </li></ul><ul><li>--mime-types=mime.types と付けると文字化けに効く? </li></ul><ul><li>参考文献 </li></ul><ul><li>リファレンス </li></ul><ul><li>http://cvs2svn.tigris.org/cvs2svn.html </li></ul>

×