trac on FreeBSD

portinstall devel/p5-SVN-Hooks

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

フックスクリプトを用いてLOGを編集しても

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

RS_Base をSVN Tracで管理する

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>

などとして、書き込みプロセスをきょかする


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS