----
[[trac on FreeBSD]]
なんだか、SVN Tracの記事が散漫で見にくくなっているので、改訂しる
#counter([total|today|yesterday]);
&lastmod;
#contents
----
*リポジトリの文字コード [#y411579d]

http://discypus.jp/wiki/?%A5%BD%A5%D5%A5%C8%2FBug%20Tracking%2Ftrac%2F%C6%FC%CB%DC%B8%EC%B2%BD#content_1_3

http://docs.python.jp/2.4/lib/standard-encodings.html

**trac.ini [#zc0d4e15]


trac.ini の該当部分default_charset = を UTF-8 から shift_jis にする

 [trac]
 authz_file = 
 authz_module_name = 
 auto_preview_timeout = 2.0
 auto_reload = False
 backup_dir = db
 database = sqlite:db/trac.db
 debug_sql = False
 # default_charset = utf-8
 default_charset = shift_jis




*comit error [#gd7e00ea]
 [Wed Feb 10 16:32:12 2010] [error] [client 219.117.246.208] Could not MERGE resource "/svn/RS_Base/!svn/act/8af852c8-bb75-0f4c-aa2d-8cf4704cd6b1"
 into "/svn/RS_Base/trunk".  [409, #0]
 [Wed Feb 10 16:32:12 2010] [error] [client 219.117.246.208] Commit blocked by pre-commit hook (exit code 1) with output:\nCan't locate Config/IniFiles.pm in @INC (@INC 
 contains: /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach
 /usr/ local/lib/perl5/5.8.9 .)
 at /usr/local/share/subversion/hook-scripts/commit-access-control.pl line 40.\nBEGIN failed--compilation aborted at /usr/local/share/subversion/hook-scripts/commit-access-control.pl line 40.\n  [409, #165001]
 k222#

*portinstall devel/p5-SVN-Hooks [#x64db2d3]
 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を編集しても [#re4457fe]
 k222# trac-admin /usr/local/www/apache22/data/trac/RS_Base/ resync
 Resyncing repository history...
 59 revisions cached.
 Done.

しないと、編集結果はTracに反映されません。

*フックスクリプトの設置 [#r8a484bf]
コミット済みのリビジョンのログを編集するには、フックスクリプトというのを使えるようにしなければいかん、みたいだ。

ということで、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


*リポジトリを壊した(^^ [#f483a4f8]
というか、リビジョン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で管理する [#k3f2a545]

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