ページ更新: 2010-03-24 (水) (4750日前)

(2006-04-29 新規作成)

メモやトラブルシューティングなど。

目次

[編集]

[メモ] 画面内のチケットのリンクを全部開くブックマークレット (デバッグ中) #

(2010-11-11)

画面内のチケットを全部開きたいと思ったので、ブックマークレットを作ってみた。

#がついているリンクをを一括で開くブックマークレット - めも帖 は重複しても全部開くので、重複を省くようにしてみた(いったん連想配列に入れた)。

Firebugのコンソール画面で以下のコードを書いてデバッグした:

anchors=document.getElementsByTagName('a');
rep=[];
for(var i=0;i<anchors.length;i++){
  m=anchors[i].innerHTML.match(/\#([0-9]+)/);
  if(m){
    rep[m[1]]=anchors[i];
  }
}
for(var a in rep){
  window.open(rep[a],'#'+a);
}
document.close();

このコードをBookmarklet Builder に入れて、Compress, Functionすれば、ブックマークレットが出来る。

なお、このままだと、「チケットに添付ファイルを付加した」ら、その添付ファイルも開いてしまうので、いまいち。

[編集]

[メモ] Python付属のsqlite3モジュールのバージョン #

(2010-08-31)

マイルストーン 0.12 – The Trac Project に 「Be sure to read TracUpgrade and TracInstall (notably be sure to use a recent pysqlite >= 2.5.5 if you need upgrade existing 0.11 environments) 」とあるので、Pythonに添付されているpysqliteのバージョンを調べた。

Python 2.7:

C:> c:\python27\python -V
Python 2.7
> c:\python27\python -c "import sqlite3; print sqlite3.version"
2.6.0

Python 2.6.6:

C:> python -V
Python 2.6.6
C:> python -c "import sqlite3; print sqlite3.version"
2.4.1

Python 3.1.2:

C:> c:\python31\python -V
Python 3.1.2
C:> c:\python31\python -c "import sqlite3; print(sqlite3.version)"
2.4.1

Python 2.6.5:

C:> python -V
Python 2.6.5
C:> python -c "import sqlite3; print sqlite3.version"
2.4.1

Python 2.6.x や Python 3.1.x を使っている場合、pysqlite で sqlite3 モジュールを入れ替える必要があるのかも。

[編集]

[メモ] Tracのバージョンアップ時のtrac-admin upgrade の半自動化用シェルスクリプト #

(2010-03-24)

Tracをバージョンアップした後に、trac-admin upgrade, trac-admin wiki upgrade を行う際に使っているスクリプトを以下に示す。

Debian GNU/Linux 5.0 (lenny) で用いているが、他のLinux/UNIXでも sudo があれば動作すると思う。

前提条件:

  • /var/trac/ にTracプロジェクトを複数置いている
  • sudo を用いている。(su で書き換えても良い)
  • Trac を Apache ユーザで動作させている (ユーザ名 www-data)

/var/trac/upgrade.sh

#!/bin/sh
for project in `find /var/trac -maxdepth 2 -name VERSION -printf '%h '`
do
  echo $project
  sudo -u www-data trac-admin $project upgrade
  sudo -u www-data trac-admin $project wiki upgrade
done

実行方法

$ cd /var/trac
$ sudo ./upgrade.sh
[編集]

[不具合] Trac 0.11.4-ja1: base_urlが未定義、use_base_url_for_redirect = False のとき、通知メールのTicket URLが不正 (2009-06-17) #

1. base_urlが未定義、use_base_url_for_redirect = False, urlを定義

$ grep ^base_url /var/trac/project/conf/trac.ini

$ grep ^use_base_url /var/trac/project/conf/trac.ini
/var/trac/project/conf/trac.ini:use_base_url_for_redirect = False

$ grep ^url /var/trac/project/conf/trac.ini
url = http://example.jp/trac/project/

1.の通知メール。チケットURLが不正

Ticket URL: </ticket/4#comment:53>
My Project <http://example.jp/trac/project/>

2. base_url, use_base_url_for_redirect を未定義, urlを定義

$ grep ^base_url /var/trac/project/conf/trac.ini

$ grep ^use_base_url /var/trac/project/conf/trac.ini

$ grep ^url /var/trac/project/conf/trac.ini
url = http://example.jp/trac/project/

2.の通知メール。チケットURLが正しい。

Ticket URL: <http://example.jp/trac/project/ticket/12#comment:2>
My Project <http://exaple.jp/trac/project/>

なお、use_base_url_for_redirect は trac-admin initenv したときに、すでにtrac.iniに含まれている。

$ trac-admin -v
trac-admin 0.11.4.ja1
$ trac-admin /tmp/sample initenv
$ grep ^use_base /home/hamatani/tmp/sample/conf/trac.ini
use_base_url_for_redirect = False

よって、本来ならbase_urlをちゃんと定義すべき (TracIni#tracセクション?)。 でも、URLを何度も書くのはおっくうなので、use_base_url_for_redirect を消してみた。

2009-06-18

Ticketのコメントに記入して、メール通知される場合は、正しいURLが設定される (たしか、クライアントがアクセスしているURLを用いていたはず)

しかし、Subversionのコミットがメール通知される場合はURLが不正になる。

よって、やはり、ちゃんとbase_urlは指定すべきなようだ(いま設定したけど、まだ動作確認してない)。

[編集]

[エラー] Windows XP, Apache 2.2.8 + svn-win32-1.5.0.zip + svn-win32-1.5.0_py25.zip でエラー、Apache 2.2.9はOK (2008-07-04) #

注意: 今回はTracと無関係、なおかつ、複数の環境で裏を取っていない。

Apache 2.2.8, Subversion 1.4.6, Trac 0.11で運用していた環境をSubversion 1.5.0に入れ替えてみた。

subversion: ドキュメント & ファイル: Windows Apache 2.2.xから svn-win32-1.5.0.zip を入手して所定の場所にコピーする。

Apache 2.2.8 + svn-win32-1.5.0.zip + svn-win32-1.5.0_py25.zip だと、次のエラーが出てApacheを起動できなかった。

C:> chcp 65001  ★エラーメッセージが文字化けするので、コードページをUTF-8に切り替える。
Active code page: 65001

C:> httpd      ★Apacheを起動すると、mod_dav_svn.soのロードでエラーが発生する
httpd: Syntax error on line 128 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/ht
tpd.conf: Cannot load C:/Program Files/Subversion/bin/mod_dav_svn.so into server: The specified
procedure could not be found.

Apache 2.2.9 + svn-win32-1.5.0.zip だと、OK。

でも、subversion: ドキュメント & ファイル: Windows Apache 2.2.x には「Apache 2.2.4 or higher is required.」とあるので、Apache 2.2.8でもよさそうなのだけどなあ。

ついでに、Python bindingのsvn-win32-1.5.0_py25.zip について。展開して、C:\Python25\Lib\site-packages\に libsvnとsvnをコピーした後、 libsvnディレクトリ内の_*.dllの拡張子は*.pydに変更しておく(注意:libsvn_swig_py-1.dllはそのまま)。 で、pythonを起動して「from svn import client, core, delta, diff, fs, ra, repos, wc」を実行してエラーが出なければOK。 (要するに、*.pydを全部ロードしているわけだ)

この作業を行わないと、以下のWarningがでる。 「Warning: Can't synchronize with the repository (Unsupported version control system "svn". Check that the Python support libraries for "svn" are correctly installed.)」

[編集]

[エラー] TracLink処理のエラーの原因を表示するようにした (2008-06-06) #

Trac 0.10.4-ja-1, Debian 4.0, Subversion にて。

InterTrac + TracLinkで日本語のファイルに対するリンクを作ったとき、Timeline が表示できなくなった。

代わりに次のエラーが表示される:

Internal Error

チケットの更新, チケットの詳細 event provider (TicketModule) failed:

KeyError: u'\u4e92'

You may want to see the other kind of events from the Timeline

TracGuide ― The Trac User and Administration Guide

log/trac.logにもエラーは記録されない(DEBUGに設定しても)ので、 調査のために、トレースバックを表示するように修正した:

# hg diff -r0
diff -r 95d6fc18f09a trac/Timeline.py
--- a/trac/Timeline.py  Fri Jun 06 16:42:07 2008 +0900
+++ b/trac/Timeline.py  Fri Jun 06 18:07:23 2008 +0900
@@ -215,9 +215,11 @@ class TimelineModule(Component):
         args = [(a, req.args.get(a)) for a in ('from', 'format', 'max',
                                                'daysback')]
         href = req.href.timeline(args+[(f, 'on') for f in other_filters])
+        import sys, traceback
+        trace = ','.join(traceback.format_tb(sys.exc_info()[2]))
         raise TracError(Markup(
             '%s  event provider (<tt>%s</tt>) failed:<br /><br />'
-            '%s: %s'
+            '%s: %s %s'
             '<p>You may want to see the other kind of events from the '
             '<a href="%s">Timeline</a></p>',
-            ", ".join(guilty_kinds), ep_name, exc_name, to_unicode(exc), href))
+            ", ".join(guilty_kinds), ep_name, exc_name, to_unicode(exc), to_unicode(trace), href))

場所がわかったので、KeyErrorが発生している個所で例外を捕まえて「KeyError」と表示するようにした:

diff -r 95d6fc18f09a trac/wiki/formatter.py
--- a/trac/wiki/formatter.py    Fri Jun 06 16:42:07 2008 +0900
+++ b/trac/wiki/formatter.py    Fri Jun 06 18:07:23 2008 +0900
@@ -391,7 +391,10 @@ class Formatter(object):
                 else:
                     url = '%s/search?q=%s' % (url, urllib.quote_plus(target))
             else:
-                url = '%s/intertrac/%s' % (url, urllib.quote(target))
+                try:
+                    url = '%s/intertrac/%s' % (url, urllib.quote(target))
+                except KeyError:
+                    return "(KeyError)"
             return self._make_ext_link(url, label, '%s in %s' % (target, name))
         else:
             return None

これでTimelineを表示してみたところ、エラーの原因は、チケットのコメントの1行目にInterTrac + TracLink で [INTERTRACNAME:source:/trunk/path/to/日本語ファイル名] の用にInterTrac + TracLinkでリポジトリブラウザを参照している部分だとわかった。

そこで、TicketDeletePluginを使って、このコメントをいったん消した。これでエラーが出なくなった。

さらに、コメントを「[INTERTRACNAME:source:/trunk/path/to/] の 日本語ファイル名」というように、 「日本語ファイル名」の部分をTracLinkに含めないようにして回避した。

[編集]

[カスタマイズ] リポジトリブラウザの「コミット時期」にコミット日時の表示を追加 (2007-12-11) #

リポジトリブラウザの「コミット時期」は経過時間(「××分前」とか)しか表示されないので、 コミット日時を追加してみた。

単に ClearSilver の file.date を挿入すればよい。 (注意: Trac 0.11.x 以後はClearSilverではなく Genshiを使っているので、書式が変わるはず。)

変更後の画面 (trac-0.10.4-ja-1.zip), リポジトリブラウザで閲覧

change-browser-cs-01.png

変更点 (trac-0.10.4-ja-1.zip) share/trac/template/browser.cs:

$ diff -u browser.cs.org browser.cs
--- browser.cs.org      2007-12-12 01:04:41.000000000 +0900
+++ browser.cs  2007-12-12 01:07:16.000000000 +0900
@@ -86,7 +86,7 @@
    if:!browser.is_dir ?><tr>
     <th scope="col">
      リビジョン <a href="<?cs var:file.changeset_href ?>"><?cs var:file.rev ?></a>, <?cs var:file.size ?>
-     (コミッタ: <?cs var:file.author ?>, コミット時期: <?cs var:file.age ?> 前)
+     (コミッタ: <?cs var:file.author ?>, コミット時期: <?cs var:file.date ?>, <?cs var:file.age ?>前)
     </th></tr><tr>
     <td class="message"><?cs var:file.message ?></td>
    </tr><?cs /if ?><?cs

なお、discypus.jpのTracでは日付はJST-9で表示されている。これはサーバのタイムゾーンと同じ。

[編集]

[カスタマイズ] Ticket.csの修正 (2007-06-23) #

職場のTracも経過時間表示だけだとウケが悪かったので、日付と経過時間を両方表示させている。 変更点をメモしておく。 (さっき、discypus.jpのTracも同じように設定してみた)

変更後の画面 (trac-0.10.4-ja-1.zip):

ticket-cs-01.png

変更点 (trac-0.10.4-ja-1.zip):

$ diff -u ticket.cs.org ticket.cs
--- ticket.cs.org       2006-10-13 16:36:12.000000000 +0900
+++ ticket.cs   2007-06-23 02:44:19.000000000 +0900
@@ -40,9 +40,9 @@
 <div id="searchable">
 <div id="ticket">
  <div class="date">
-  <p title="<?cs var:ticket.opened ?>">登録: <?cs var:ticket.opened_delta ?> 前</p><?cs
+  <p>登録: <?cs var:ticket.opened ?> (<?cs var:ticket.opened_delta ?>前)</p><?cs
   if:ticket.lastmod ?>
-   <p title="<?cs var:ticket.lastmod ?>">最終更新: <?cs var:ticket.lastmod_delta ?> 前</p>
+   <p>最終更新: <?cs var:ticket.lastmod ?> (<?cs var:ticket.lastmod_delta ?>前)</p>
   <?cs /if ?>
  </div>
  <h2 class="summary"><?cs var:ticket.summary ?></h2>
[編集]

[メモ] Tracプロジェクト作成時の初期値 (2007-04-17) #

(人に聞かれたので)

Tracプロジェクトを作成するとき(trac-admin でinitenvを実行)の初期値は、 Python/Lib/site-packages/trac/db_default.py に格納されている。

[編集]

[エラー] trac-0.10.3.1-ja-1 の trac-admin, tracd の改行コードを修正 (2007-03-15, 2007-04-08) #

(2007-03-15:作成, 2007-04-08:16進ダンプを加えて書き直した, 2007-04-28:オリジナルの改行コードを調べた, 2007-05-20:trac-0.10.3.1-ja-2の改行コードを調べた)

trac-0.10.3.1-ja-1 の trac-admin を Linux上で実行すると、以下のようなエラーが発生する:

$ ./trac-admin
: そのようなファイルやディレクトリはありません

あるいは:

$ ./trac-admin
: No such file or directory

エラーメッセージを16進ダンプする。(注:英語のほうが解析しやすいのでLANGをクリアしてtrac-adminを実行している):

$ LANG= ./trac-admin 2>&1 | xxd -g1
0000000: 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 3a 20 70 79  /usr/bin/env: py
0000010: 74 68 6f 6e 0d 3a 20 4e 6f 20 73 75 63 68 20 66  thon.: No such f
0000020: 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79  ile or directory
0000030: 0a

この16進ダンプから次の2つのことが判る:

  1. エラーは「/usr/bin/env: python<0d>: No such file or directory」である。
  2. エラーメッセージの途中に「0d」= CR = 復帰が含まれているので、その直後の「: No such file or directory」が行の先頭から表示された。

これで原因はわかった。 (実はエラーメッセージを見たとたんに2.だと判っていて、そこからたぶん1.だと推測しており、それを確かめるために16進ダンプを使ったのだが)

後は先頭行のCRを取り除いてやれば良い。

trac-adminの先頭32バイトを16進ダンプすると、改行コードがCR LF (0d 0a) であることが判る:

$ xxd -g1 -l 32 ./trac-admin
0000000: 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70  #!/usr/bin/env p
0000010: 79 74 68 6f 6e 0d 0a 23 20 2d 2a 2d 20 63 6f 64  ython..# -*- cod
                        ↑ここにCR (0d) が入ってる             ↑

trac-adminの先頭1行目末尾のCRを取り除いて(=改行コードをLFのみにする)、16進ダンプすると:

$ xxd -g1 -l 32 ./trac-admin
0000000: 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70  #!/usr/bin/env p
0000010: 79 74 68 6f 6e 0a 23 20 2d 2a 2d 20 63 6f 64 69  ython.# -*- codi

今度はちゃんと実行できる:

$ ./trac-admin
trac-admin - The Trac Administration Console 0.10.3.1

Usage: trac-admin </path/to/projenv> [command [subcommand] [option ...]]

 : (略)

あるいは、trac-admin と tracd からCR (trでは"\r") をすべて取り除いてもよい:

$ cd path/to/trac/bin
$ tr -d "\r" < trac-admin > ta
$ mv ta trac-admin
$ tr -d "\r" < tracd > td
$ mv td tracd

この処理が必要なのは以下のファイルだと思われる(ファイルの先頭に#!があるもの):

$ find . -type f | xargs grep -n "^#!/" | grep ":1:"
./cgi-bin/trac.cgi:1:#!/usr/bin/python
./cgi-bin/trac.fcgi:1:#!/usr/bin/python
./contrib/bugzilla2trac.py:1:#!/usr/bin/env python
./contrib/emailfilter.py:1:#!/usr/bin/python
./contrib/htdigest.py:1:#!/usr/bin/env python
./contrib/migrateticketmodel.py:1:#!/usr/bin/env python
./contrib/trac-post-commit-hook:1:#!/usr/bin/env python
./contrib/trac-pre-commit-hook:1:#!/usr/bin/env python
./scripts/trac-admin:1:#!/usr/bin/env python
./scripts/tracd:1:#!/usr/bin/env python
./setup.py:1:#!/usr/bin/env python
./trac/test.py:1:#!/usr/bin/env python
./wiki-default/checkwiki.py:1:#!/usr/bin/python
[編集]

各バージョンの改行コードを調べた (2007-04-28) #

Edgewallのオリジナル (tar.gzとzip) とインタアクトのja版 (zip) の「script/trac-admin」の改行コードを調べてみた。

Edgewallがリリースした時点で、リリース毎に改行コードがまちまちだったり。

trac-0.10.4.tar.gzLF
trac-0.10.4.zipCRLF
trac-0.10.4-ja-1.zip(未リリース)
trac-0.10.3.1.tar.gz(手元にないので不明)
trac-0.10.3.1.zipCRLF
trac-0.10.3.1-ja-1.zipCRLF
trac-0.10.3.tar.gzLF
trac-0.10.3.zipLF
trac-0.10.3-ja-1.zipLF
trac-0.10.2.tar.gz(手元にないので不明)
trac-0.10.2.zipCRLF
trac-0.10.2-ja-1.zipLF
trac-0.9.6.tar.gzLF
trac-0.9.6.zipLF

trac-0.5〜0.8は手元にも残していないので不明。

[編集]

trac-0.10.3.1-ja-2で改行コードが修正された (2007-05-20) #

trac-0.10.3.1-ja-2 (2007-05-05) にて、 改行コードがLFに変更されたようだ。

trac-0.10.3.1-ja-1.zip と trac-0.10.3.1-ja-2.zip を展開して、Cygwinのdiff (diffutils 2.8.7) で比較してみた。

ファイルを比較して、変更されたファイルの個数を数える。205個のファイルに差がある。

$ diff -rq trac-0.10.3.1-ja-1 trac-0.10.3.1-ja-2 | wc -l
205

ファイルをCRを取り除いて比較して、 変更されたファイルの個数を数える。どのファイルにも差がない。

$ diff -rq --strip-trailing-cr trac-0.10.3.1-ja-1 trac-0.10.3.1-ja-2 | wc -l
0
[編集]

[カスタマイズ] CSSへの追加 (2006-11-05, 2006-12-15, 2009-05-09) #

Trac 0.10.xでは、$TracEnv/templates/site_css.cs を次のようにカスタマイズした。

<?cs
##################################################################
# Site CSS - Place custom CSS, including overriding styles here.
?>

.wikipage h2 {
 border-bottom: 1px solid #b00;
 border-left: 6px solid #b00;
 font-size: 120%;
 margin-top: .5em;
 margin-bottom: .5em;
 padding-left: 5px;
 padding-top: 3px;
 padding-bottom: 0px;
 width:98%;
}

.wikipage h3 {
 border-bottom: 1px dashed #b00;
 width:98%;
 padding-left: 11px;
}

/* Quick search */
#proj-search { width: 20em }

/* Navigation */
.nav li {
 padding: 0 .4em;
}

/* Main navigation bar */
#mainnav :link, #mainnav :visited {
 padding: .2em 0.8em;
}

/* changeset diff, code */
table.sidebyside td.l,
table.sidebyside td.r,
table.inline td.l,
table.inline td.r,
table.code tbody tr td {
 font-size: 12.0px;
}
  • .wikipage h2, .wikipage h3は WeekBuildのHACK日記 で紹介されていた物 ( Tracサイトのデザインを変えてみる)を使用。
  • Quick search (画面右上の検索文字列入力欄) の幅を 20em に拡大。(2006-12-15)
  • #metanav, #ctxtnavのliのpaddingを .4em に縮小 (2006-12-15)
  • #mainnavのpaddingを 0.8em に縮小。
  • チェンジセットの表示, ファイルの表示のフォントサイズを11pt→12ptに拡大 (もっとましな書き方があるだろうけど) (2008-02-28)

Trac 0.11.xの場合は、templates/site.htmlを使った。また、今回はスタイルシートを別のファイル(/trac_custom.css)に分離してみた:

$TracEnv/templates/site.html:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://genshi.edgewall.org/" py:strip="">

  <!--! Add site-specific style sheet -->
  <head py:match="head" py:attrs="select('@*')">
    ${select('*|comment()|text()')}
    <link rel="stylesheet" type="text/css"
          href="/trac_custom.css" />
  </head>
</html>

ApacheのDocumentRootの/trac_custom.css:

.wikipage h2 {
 border-bottom: 1px solid #b00;
 border-left: 6px solid #b00;
 font-size: 120%;
 margin-top: .5em
 margin-bottom: .5em;
 padding-left: 5px;
 padding-top: 3px;
 padding-bottom: 0px;
 width:98%;
}

.wikipage h3 {
 border-bottom: 1px dashed #b00;
 width:98%;
 padding-left: 11px;
}

/* Quick search */
#proj-search { width: 20em }

/* Navigation */
.nav li {
 padding: 0 .4em;
}

/* Main navigation bar */
#mainnav :link, #mainnav :visited {
 padding: .2em 0.8em;
}

/* changeset diff, code */
table.sidebyside td.l,
table.sidebyside td.r,
table.inline td.l,
table.inline td.r,
table.code tbody tr td {
 font-size: 12.0px;
}

#dirlist td.change, #dirlist td.size {
 color: #000000;
}

#info .props {
 color: #000000;
}
[編集]

[Tips] Firefox 1.5 でBasic認証/Digest認証をクリアする (2006-09-29) #

Tracで真のログアウトを行う方法の1つ。Webブラウザが認証データを保持しているのだから、それを消去してしまえばよい。

Trac Users メーリングリストの Logout button does othing を見てて、Firefox 1.5には認証データを消去する機能があることに気がついたので、試してみた。

Tracにログインし、ログアウトする。2回目以後のログインでは認証ダイアログが表示されない:

trac-firefox-logout-01.png

trac-firefox-logout-02.png

Firefox 1.5の「Tools」→「Clear Private Data...」を選択する:

trac-firefox-logout-03.png

「Authenticated Session」にチェックを付け、「Clear Private Data Now」を押す:

trac-firefox-logout-04.png

なお、このダイアログのデフォルト設定は Tools → Options... → Privacy → Cacheタグ → Settings...ボタン で変更できる。 (2006-10-25)

Tracにログインしようとすると、再度認証ダイアログが表示される:

trac-firefox-logout-05.png

[編集]

[Tips] TracでCamelCaseな文字列を検索するなら (2006-09-10) #

検索したい文字列を""で括ると検索できる。

例:

TracWiki を検索すると、Wikiページ TracWiki が表示される

"TracWiki" を検索すると、ページやチケットの一覧が 得られる 検索結果 - Sandbox - Trac

[編集]

[メモ] チケットのフィールドの種別 (2006-06-06, 2007-06-10) #

手元の某プロジェクトのチケットの場合、次のようにしている。★がチケット作成時のデフォルトの値。

http://trac.edgewall.org/ の設定値(Tracのデフォルトとは異なる)を参考にした。

コンポーネント (Components) :割とおおざっぱ

  • サブシステム名(個数は2〜10程度で)
  • 文書
  • 開発環境
  • すべて
  • 範囲不明 ★
    • 担当者が適切なものに変える

優先度 (priority) ... ビジネス面の指標

  1. 最優先(P5)
  2. 優先(P4)
  3. 普通(P3) ★
  4. 低い(P2)
  5. 最も低い(P1)

重要度 (severity) ... 技術面の指標

  1. 作業できない(S6)
  2. 致命的(S5)
  3. 重大(S4)
  4. 普通(S3) ★
  5. 軽微(S2)
  6. 些細(S1)

チケットの分類 (Ticket Type)

  • 不具合 ★
  • 新機能/拡張
  • 変更/修正
  • タスク
  • リファクタリング

作業見積は重要度に含めず、代わりに ../TimingAndEstimationPlugin で追加される「Estimated Number of Hours」項目を使っている。

メモ (2007-06-10):

[編集]

[メモ] TimeTracking パッチ (2006-05-28) #

(2007-04-08 追記:Trac-0.10ではTiming and Estimation pluginを使うほうが容易)

TimeTracking http://trac.edgewall.org/wiki/TimeTracking

$ patch -p0 < trac-time-tracking-0.9.5.diff
patching file trac/ticket/roadmap.py
patching file templates/roadmap.cs
Hunk #1 succeeded at 61 (offset -2 lines).
patching file templates/milestone.cs
Hunk #1 succeeded at 143 (offset -2 lines).
patching file contrib/trac-post-commit-hook
[編集]

[メモ] Trac Environmentのバックアップ (2006-05-09) #

バックアップ。trac-admin hotcopy を実行後、ファイルをtar.gzにする。

#!/bin/bash

TRACENV=sandbox

TRACBASE=/var/trac
TRACBACKUP=/var/backupdisk/trac

FILENODE="$TRACENV-`date +%Y%m%d`"

mkdir -p $TRACBACKUP
trac-admin $TRACBASE/$TRACENV hotcopy $TRACBACKUP/$FILENODE
(cd $TRACBACKUP; tar czpf $FILENODE.tar.gz $FILENODE; \rm -rf $FILENODE )
[編集]

[エラー] Windows XP, Windows 2000のメモ帳でtrac.iniを修正すると、エラーが発生 (2006-04-29) #

環境は All-In-One Trac v0.1.0、Windows 2000 SP4。

[編集]

エラー画面 #

trac-ini-notepad-01.png

default: Error
(File contains no section headers. file: C:/trac-0.1.0/trac_repo/projects
\default\conf\trac.ini, line:1 '\xef\xbb\xbf[wiki]\n')
  • TRACENV「default」でエラー発生。
  • 設定ファイル trac.iniにセクションヘッダー([]で囲まれた部分)がない。
  • 1行目の内容は「\xef\xbb\xbf[wiki]\n」

エラーの出ないtrac.iniの16進数ダンプ (Cygwinのvimに入っているxxdを使用)

$ xxd -g1 -l 64 trac.ini
0000000: 5b 77 69 6b 69 5d 0d 0a 69 67 6e 6f 72 65 5f 6d  [wiki]..ignore_m
0000010: 69 73 73 69 6e 67 5f 70 61 67 65 73 20 3d 20 66  issing_pages = f
0000020: 61 6c 73 65 0d 0a 0d 0a 5b 68 65 61 64 65 72 5f  alse....[header_
0000030: 6c 6f 67 6f 5d 0d 0a 73 72 63 20 3d 20 63 6f 6d  logo]..src = com 

trac.iniの16進数ダンプ(notepadで保存した後)

$ xxd -g1 -l 64 trac.ini
0000000: ef bb bf 5b 77 69 6b 69 5d 0d 0a 69 67 6e 6f 72  ...[wiki]..ignor
0000010: 65 5f 6d 69 73 73 69 6e 67 5f 70 61 67 65 73 20  e_missing_pages
0000020: 3d 20 66 61 6c 73 65 0d 0a 0d 0a 5b 68 65 61 64  = false....[head
0000030: 65 72 5f 6c 6f 67 6f 5d 0d 0a 73 72 63 20 3d 20  er_logo]..src =

Trac自体のエラーメッセージにもあるように、セクションヘッダー(この場合は[wiki])の行の先頭にBOM (0xef 0xbb 0xbf) が付加されているため、セクションヘッダーと認識されなかったのが原因。

よって、これを取り去ってやればよい。

(あるいは、BOMの直後で改行を入れてやってもいいかもしれないが、試してない)

でも、UTF-8にBOM付ける意味ってあったっけ?

参照:

[編集]

コメント #

ソフト/Bug Tracking/trac#comment にて。