*Windowsでsvnserveを動かす方法
**デーモンとして動かす場合
ログインしてコマンドを起動する必要があります。
**用意するもの
-Subversionコマンドライン版
***使い方
+リポジトリを作成~
 svnadmin.exe create d:\svnrepo
 (「d:\svnrepo」にリポジトリを作成する場合)
#BR
+アクセス権の設定~
リポジトリフォルダにある「conf\svnserve.conf」ファイルを編集しアクセス権を設定します。
 [general]
 anon-access = write
#BR
+デーモンとして起動
 svnserve.exe -d --listen-port 3690 -r d:\svnrepo
 (「-d」オプションは必須です)
 (ポート番号3690の場合は「--listen-port」は省略できます)
**サービス化する場合
「SVN Service Wrapper」を使いでサービス化することでログインせずに起動出来ます。
***用意するもの
-Subversionコマンドライン版
-SVN Service Wrapper for Windows~
http://www.clanlib.org/~mbn/svnservice/ ~
(サービスとして動かす場合に必要です)
***使い方
+「SVN Service Wrapper for Windows」のインストール~
「SVNService.exe」をSubversionのbinフォルダにコピーします。~
#BR
+リポジトリを作成~
 svnadmin create d:\svnrepo
 (「d:\svnrepo」にリポジトリを作成する場合)
#BR
+アクセス権の設定~
リポジトリフォルダにある「conf\svnserve.conf」ファイルを編集しアクセス権を設定します。
 [general]
 anon-access = write
#BR
+サービスとしてインストール~
 SVNService -install -d -r d:\svnrepo --listen-port 3690
 (「-d」オプションは必須です)
 (ポート番号3690の場合は「--listen-port」は省略できます)
#BR
+サービスの確認~
コントロールパネルのサービスを表示し「SVNService」が表示されていればインストール成功です。~
自動起動等にする場合はプロパティで変更します。~
#BR
以上で「svn://ホスト名/」で「d:\svnrepo/」のリポジトリにアクセスできます。
*svn.exeとTortoiseSVNを共存させる方法
-概要~
svn.exeとTortoiseSVNでは、文字コード変換に利用するiconvライブラリが別にインストールされるため、svn.exeで日本語が扱えなくなることがあります。~
-対策~
コマンドプロンプト実行時は、iconvライブラリのパスを強制的にsvn.exe用にする。~
--「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor」の「AutoRun」に以下の値を設定する。
 set APR_ICONV_PATH=<svn.exeをインストールしたパス>\iconv
~
例) svn.exeを"C:\Program Files\Subversion"へインストールした場合~
 set APR_ICONV_PATH=C:\Program Files\Subversion\iconv
注意) 上記場合は、svn.exeは、「C:\Program Files\Subversion\bin」にあります。~

*リポジトリサーバ上でコミットしたログを変更する方法
+変更する新たなログメッセージをテキストファイルに作成します。~
 作成するファイルの内容 例):~
 新しいログメッセージです。
補足) そのリビジョンのログを追加でなく上書きするので、必要に応じて元の内容も書きましょう。~
~
+「svnadmin setlog」コマンドでログを変更します。~
コマンド 例)~
 svnadmin setlog --bypass-hooks repository -r 10 r10_log.txt
補足) 上記例では、repositoryフォルダにあるリポジトリのリビジョン10のログメッセージを「r10_log.txt」に書かれている内容に変更します。~

*クライアントからコミットしたログを変更する方法
+リポジトリの「hooks」フォルダに「pre-revprop-change.bat」を作成し、特定ユーザでのログの変更を許可します。~
「pre-revprop-change.bat」の内容 例)~
 rem  [1] REPOS-PATH   (the path to this repository)
 rem  [2] REVISION     (the revision being tweaked)
 rem  [3] USER         (the username of the person tweaking the property)
 rem  [4] PROPNAME     (the property being set on the revision)
 rem  [STDIN] PROPVAL  ** the property value is passed via STDIN.
 if "%4"=="svn:log" (
   if "%3"=="HOGEHOGE" (
     exit 0
   )
 )
 exit 1

補足) 上記例では、ユーザHOGEHOGEだけがログの変更が出来るようになります。~
~
+変更する新たなログメッセージをテキストファイルに作成します。~
作成するファイルの内容 例)~
 新しいログメッセージです。
補足) そのリビジョンのログを追加でなく上書きするので、必要に応じて元の内容も書きましょう。~
~
+「svn propset svn:log」コマンドでログを変更します。~
コマンド 例)~
 svn propset svn:log --revprop -r 10 -F r10_log.txt svn://repo
補足) 上記例では、svn://repoにあるリポジトリのリビジョン10のログメッセージを「r10_log.txt」に書かれている内容に変更します。~
~

*コメント
#comment

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