Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/DenyFilenames.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/JiraAcceptance.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/CheckMimeTypes.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/CheckCapability.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/Mailer.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/CheckProperty.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/UpdateConfFile.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/DenyChanges.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/Notify.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/AllowLogChange.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/CheckStructure.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/CheckLog.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/CheckJira.pm Installing /usr/local/lib/perl5/site_perl/5.8.9/SVN/Hooks/AllowPropChange.pm Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::DenyFilenames.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::JiraAcceptance.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::CheckMimeTypes.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::CheckCapability.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::Mailer.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::CheckProperty.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::UpdateConfFile.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::DenyChanges.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::Notify.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::AllowLogChange.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::CheckStructure.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::CheckJira.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::AllowPropChange.3 Installing /usr/local/lib/perl5/5.8.9/man/man3/SVN::Hooks::CheckLog.3 Writing /usr/local/lib/perl5/site_perl/5.8.9/mach/auto/SVN/Hooks/.packlist
k222# trac-admin /usr/local/www/apache22/data/trac/RS_Base/ resync Resyncing repository history... 59 revisions cached. Done.
しないと、編集結果はTracに反映されません。
コミット済みのリビジョンのログを編集するには、フックスクリプトというのを使えるようにしなければいかん、みたいだ。
ということで、repos/RS_Base/hooks/ 以下のファイルを弄る
Unix 系OSの場合
フックスクリプトのテンプレートファイルの名前を変更する。
例 start-commit.tmpl → start-commit pre-commit.tmpl → pre-commit スクリプトを編集する ←これが結構ハマル 実行属性をつける
-rw-r--r-- 1 www www 1955 Jan 11 08:25 post-commit -rw-r--r-- 1 www www 1638 Jan 11 08:25 post-lock -rw-r--r-- 1 www www 2267 Jan 11 08:25 post-revprop-change -rw-r--r-- 1 www www 1567 Jan 11 08:25 post-unlock.tmpl -rw-r--r-- 1 www www 3410 Jan 11 08:25 pre-commit.tmpl -rw-r--r-- 1 www www 2416 Jan 11 08:25 pre-lock.tmpl -rw-r--r-- 1 www www 2764 Jan 11 08:25 pre-revprop-change.tmpl -rw-r--r-- 1 www www 2106 Jan 11 08:25 pre-unlock.tmpl -rw-r--r-- 1 www www 2758 Jan 11 08:25 start-commit.tmpl k222# mv post-unlock.tmpl post-unlock k222# mv pre-commit.tmpl pre-commit k222# mv pre-lock.tmpl pre-lock k222# mv pre-revprop-change.tmpl pre-revprop-change k222# mv pre-unlock.tmpl pre-unlock k222# mv start-commit.tmpl start-commit k222# ll total 30 -rw-r--r-- 1 www www 1955 Jan 11 08:25 post-commit -rw-r--r-- 1 www www 1638 Jan 11 08:25 post-lock -rw-r--r-- 1 www www 2267 Jan 11 08:25 post-revprop-change -rw-r--r-- 1 www www 1567 Jan 11 08:25 post-unlock -rw-r--r-- 1 www www 3410 Jan 11 08:25 pre-commit -rw-r--r-- 1 www www 2416 Jan 11 08:25 pre-lock -rw-r--r-- 1 www www 2764 Jan 11 08:25 pre-revprop-change -rw-r--r-- 1 www www 2106 Jan 11 08:25 pre-unlock -rw-r--r-- 1 www www 2758 Jan 11 08:25 start-commit k222# chmod +x * k222# ll total 30 -rwxr-xr-x 1 www www 1955 Jan 11 08:25 post-commit -rwxr-xr-x 1 www www 1638 Jan 11 08:25 post-lock -rwxr-xr-x 1 www www 2267 Jan 11 08:25 post-revprop-change -rwxr-xr-x 1 www www 1567 Jan 11 08:25 post-unlock -rwxr-xr-x 1 www www 3410 Jan 11 08:25 pre-commit -rwxr-xr-x 1 www www 2416 Jan 11 08:25 pre-lock -rwxr-xr-x 1 www www 2764 Jan 11 08:25 pre-revprop-change -rwxr-xr-x 1 www www 2106 Jan 11 08:25 pre-unlock -rwxr-xr-x 1 www www 2758 Jan 11 08:25 start-commit
というか、リビジョン57のログにパスワードをコピペしてしまったので、消そうとおもって、TortoiseSVN のログ編集機能を使おうとしたが、動作しなかったので、取り敢えず、
/usr/local/var/svn/repos/RS_Base/db/revprops/0/57
を直接エディタで編集したら
コマンド: 更新 更新: \\rs_base_server\rs_base_verup_tools\RS_Base\trunk\2001.cgi エラー: REPORT (URL: '/svn/RS_Base/!svn/vcc/default'): Could not read chunk size: エラー: Secure connection truncated (https://k222.kuji-clinic.net) 終了!:
というエラーがでる。やっぱ、直接編集するのはマズイらしい。
k222# cd /usr/local/var/svn/repos/RS_Base k222# ll total 14 -rw-r--r-- 1 www www 229 Jan 11 08:25 README.txt drwxr-xr-x 2 www www 512 Jan 11 08:25 conf drwxr-xr-x 3 www www 512 Jan 11 13:22 dav drwxr-sr-x 6 www www 512 Feb 10 07:10 db -r--r--r-- 1 www www 2 Jan 11 08:25 format drwxr-xr-x 2 www www 512 Jan 11 08:25 hooks drwxr-xr-x 2 www www 512 Jan 11 08:25 locks k222# svnadmin recover /usr/local/var/svn/repos/RS_Base Repository lock acquired. Please wait; recovering the repository may take some time... Recovery completed. The latest repos revision is 58.
したけど、ダメポ
結局、もう一度エディタで元の状態にもどしてOK
http://k222.kuji-clinic.net/trac/
k222# svnadmin create RS_Base
とりあえず、認証は全くなしで、誰でもレポジトリを読み書きできるようにする。そのためには、レポジトリ内のconf/svnserve.confを修正して、
/usr/local/www/apache22/data/trac/RS_Base/conf/server.conf [general] anon-access = write
RS_Baseのバージョンアップファイルに薬情.txt と 禁忌.txtがあると
svn: Error converting entry in directory 'ver100104' to UTF-8 svn: ネイティブのエンコーディングから 'UTF-8' に文字列を変換できません: svn: ?\139?\214?\138?\245.txt
というエラーでインポートに失敗するので、これらを一旦削除。
k222# setenv LANG ja_JP.UTF-8 && svn import /home/RS_Base/ver100104/ file:///usr/local/var/svn/repos/RS_Base
k222# setenv LANG ja_JP.UTF-8 && svn import ver100104/ file:///usr/local/var/svn/repos/RS_Base ログメッセージの変更や指定がなされていません 中断 (a), 続行 (c), 編集 (e): c 追加しています ver100104/ecgME.cgi 追加しています ver100104/2000.cgi 追加しています ver100104/mosiokuri.cgi 追加しています ver100104/yoyaku.cgi 追加しています ver100104/gamma.cgi 追加しています ver100104/2001.cgi 追加しています ver100104/audio2.cgi 追加しています ver100104/2003.cgi 追加しています ver100104/labo_i.cgi 追加しています ver100104/DAS28RS.cgi 追加しています ver100104/labo_new.cgi 追加しています ver100104/kensin.cgi 追加しています ver100104/tympa.cgi 追加しています (バイナリ) ver100104/rs_base.jpg 追加しています ver100104/R_uketuke.cgi 追加しています ver100104/audio_ini.cgi 追加しています ver100104/audio.cgi 追加しています ver100104/labo4.cgi 追加しています ver100104/kinki_ini.cgi 追加しています ver100104/calendar_stat.cgi 追加しています ver100104/kinki.cgi 追加しています (バイナリ) ver100104/bar.gif 追加しています ver100104/labo_new1.cgi 追加しています (バイナリ) ver100104/reflex.png 追加しています ver100104/fujinon.cgi 追加しています ver100104/search_pt.cgi 追加しています ver100104/labo_ini.cgi 追加しています ver100104/tympa2.cgi 追加しています ver100104/kinki_in2.cgi 追加しています ver100104/drug_RSB.dat 追加しています ver100104/cl02.txt 追加しています ver100104/labo.cgi 追加しています ver100104/rsbbat.cgi 追加しています ver100104/kink2.cgi 追加しています ver100104/shokenall.cgi 追加しています ver100104/kinki_RSB.dat 追加しています ver100104/NERVE_RS.cgi 追加しています ver100104/sinryo.cgi 追加しています ver100104/kerato.cgi 追加しています (バイナリ) ver100104/psum.gif 追加しています ver100104/shoken.cgi 追加しています ver100104/calendar_s.cgi 追加しています ver100104/calendar2.cgi 追加しています ver100104/calendar_yoyaku2.cgi 追加しています ver100104/calendar3.cgi 追加しています (バイナリ) ver100104/cl02.swf 追加しています ver100104/calendar4.cgi 追加しています ver100104/calendar5.cgi 追加しています ver100104/calendar_y.cgi 追加しています ver100104/yoyaku2.cgi 追加しています ver100104/calendar_labo.cgi 追加しています ver100104/kensin1.cgi 追加しています ver100104/labo_stat.cgi 追加しています ver100104/calendar_pt.cgi 追加しています ver100104/uketuke.cgi リビジョン 1 をコミットしました。
k222# trac-admin /usr/local/www/apache22/data/trac/RS_Base initenv k222# trac-admin /usr/local/www/apache22/data/trac/RS_Base resync Resyncing repository history... Command failed: サポートされていないバージョン管理システム "svn です: 適切なコンポーネントが見つかりません。該当するプラグインが有効に設定されているか確認してください。 k222#
/usr/local/var/svn/repos/RS_Base/tmp/trunk/ へver100104.zip を展開して
k222# setenv LANG ja_JP.UTF-8 && svn import /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/ file:///usr/local/var/svn/repos/RS_Base/trunk/
すると、また、
svn: Error converting entry in directory '/usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104' to UTF-8
svn: ネイティブのエンコーディングから 'UTF-8' に文字列を変換できません: svn: ?\139?\214?\138?\245.txt
といわれるので、薬情.txt 禁忌.txt を削除。
ログメッセージの変更や指定がなされていません 中断 (a), 続行 (c), 編集 (e): c 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/ecgME.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/2000.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/mosiokuri.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/yoyaku.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/gamma.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/2001.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/audio2.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/2003.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/labo_i.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/DAS28RS.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/labo_new.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/kensin.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/tympa.cgi 追加しています (バイナリ) /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/rs_base.jpg 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/R_uketuke.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/audio_ini.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/audio.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/labo4.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/kinki_ini.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/calendar_stat.cgi 追加しています /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/kinki.cgi 追加しています (バイナリ) /usr/local/var/svn/repos/RS_Base/tmp/trunk/ver100104/bar.gif
k222# trac-admin /usr/local/www/apache22/data/trac/RS_Base/ resync Resyncing repository history... Command failed: サポートされていないバージョン管理システム "svn です: 適切なコンポーネントが見つかりません。該当するプラグインが有効に設定されているか確認してください。
等と言われるときには、/usr/local/www/apache22/data/trac/RS_Base/conf/trac.ini の
repository_dir = /usr/local/var/svn/repos/RS_Base
などをチェックすること。
trac.ini base_url = http://k222.kuji-clinic.net/trac/ repository_dir = /usr/local/var/svn/repos/RS_Base/tmp/trunk/
k222# trac-admin /usr/local/www/apache22/data/trac/RS_Base/ resync Resyncing repository history... 2 revisions cached. Done. k222#
TortoiseSVNで接続してImportしようとしたとき403などで書き込めないときには、/usr/local/etc/apache22/Includes/subversion.conf
<Location /svn> DAV svn SVNParentPath /usr/local/var/svn/repos SVNListParentPath On # <LimitExcept GET PROPFIND OPTIONS REPORT> <LimitExcept GET POST OPTIONS PROPFIND MKACTIVITY CHECKOUT MKACTIVITY DELETE PROPPATCH MKCOL MERGE REPORT PUT COPY> Deny from all </LimitExcept> </Location>
などとして、書き込みプロセスをきょかする