Ticket #21766

リポジトリブラウザでマージ情報を持ったチェンジセットが表示できない

Eröffnet am: 2010-05-17 21:06 Letztes Update: 2010-05-20 21:06

Auswertung:
Verantwortlicher:
(Keine)
Typ:
Status:
Geschlossen
Komponente:
Meilenstein:
Priorität:
5 - Mittel
Schweregrad:
9 - Höchste
Lösung:
Keine
Datei:
Keine

Details

How to Reproduce

While doing a GET operation on /changeset/4/WebProject, Trac issued an internal error.

Request parameters:

{'new': u'4', 'new_path': u'/WebProject'}

User Agent was: Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)

System Information
Trac 0.11.7.ja1
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) v.1310 32 bit (Intel)
setuptools 0.6c9
Genshi 0.5
CustomFieldAdmin 0.2.2.1
SQLite 3.6.13
pysqlite 2.3.2
jQuery: 1.2.6
Python Traceback
Traceback (most recent call last):
  File "c:\traclight\python\lib\site-packages\TraM-0.3-py2.5.egg\tram\main.py", line 280, in dispatch_request
    dispatcher.dispatch(req)
  File "c:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\web\main.py", line 206, in dispatch
    resp = chosen_handler.process_request(req)
  File "c:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\web_ui\changeset.py", line 321, in process_request
    self._render_html(req, repos, chgset, restricted, xhr, data)
  File "c:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\web_ui\changeset.py", line 567, in _render_html
    for old_node, new_node, kind, change in get_changes():
  File "c:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\web_ui\changeset.py", line 362, in get_changes
    for npath, kind, change, opath, orev in chgset.get_changes():
  File "c:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\cache.py", line 366, in get_changes
    path.strip('/'))):
  File "c:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\svn_authz.py", line 92, in has_permission
    for perm in self._get_section(self.module_name + ':' + p):
  File "c:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\svn_authz.py", line 146, in _get_section
    yield self._get_permission(section, self.auth_name)
  File "c:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\svn_authz.py", line 162, in _get_permission
    print("authuser:".encode("utf-8")+subject.encode("utf-8"))
AttributeError: 'NoneType' object has no attribute 'encode'

Ticket-Verlauf (3/10 Historien)

2010-05-17 21:06 Aktualisiert von: suzz
  • New Ticket "リポジトリブラウザでマージ情報を持ったチェンジセットが表示できない" created
2010-05-17 21:14 Aktualisiert von: suzz
  • Details Updated
  • Schweregrad Update from 5 - Mittel to 9 - Höchste
2010-05-17 22:00 Aktualisiert von: okamototk
Kommentar

上記のエラーを発生させるリポジトリの作成手順をよろしければ教えて頂けますか? (できればsvnコマンドをどう打ったかのレベルで)

よろしくお願いいたします。

2010-05-18 10:10 Aktualisiert von: None
Kommentar

同件が発生しています。まだ、2.5.0beta2 ですが…
2.5.0beta2を上書きインストールしてから発症しました。上書き前の環境は、2.4.2(+Tram0.2…その他プラグイン幾つか…)。
残念ながら、発症しているチェンジセットは、14ヶ月前のチェンジセットなので、コミット方法は判りません。(私以外コミットしないので、TortoiseSVN使用だとは思いますが…)

ちなみに…こちらでは、一部のブランチをリポジトリブラウザから選択すると類似エラーが発生します。

Traceback (most recent call last):
  File "d:\traclight\python\lib\site-packages\TraM-0.3-py2.5.egg\tram\main.py", line 280, in dispatch_request
    dispatcher.dispatch(req)
  File "d:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\web\main.py", line 206, in dispatch
    resp = chosen_handler.process_request(req)
  File "d:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\web_ui\browser.py", line 358, in process_request
    'dir': node.isdir and self._render_dir(req, repos, node, rev),
  File "d:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\web_ui\browser.py", line 404, in _render_dir
    entries = [entry(n) for n in node.get_entries()]
  File "d:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\svn_fs.py", line 711, in get_entries
    path.strip('/'))):
  File "d:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\svn_authz.py", line 92, in has_permission
    for perm in self._get_section(self.module_name + ':' + p):
  File "d:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\svn_authz.py", line 146, in _get_section
    yield self._get_permission(section, self.auth_name)
  File "d:\traclight\python\lib\site-packages\Trac-0.11.7.ja1-py2.5.egg\trac\versioncontrol\svn_authz.py", line 162, in _get_permission
    print("authuser:".encode("utf-8")+subject.encode("utf-8"))
AttributeError: 'NoneType' object has no attribute 'encode'
カレントエントリ及び8ヶ月ほど前に造った同ブランチが幾つか参照できません。(他にもブランチは存在しますが、それらは問題なし)
当方では、問題のブランチをリポジトリブラウザの展開ボタン(三角のあれ)でフォルダ展開して中のフォルダやファイルを選択すれば参照は可能ですので、 緊急性はそれほど高くありませんが、症状としてはかなり重篤な気はします…

2010-05-18 11:20 Aktualisiert von: okamototk
Kommentar

ご報告ありがとうございます。2件も報告を頂いているので結構、問題になりそうですね。

ちなみに、ユーザでログインせずにリポジトリにアクセスした際に発生するのでしょうか。 あと、具体的なアクセスしたパス名と、svnauthの内容をよろしければ教えて頂けませんか?

# セキュリティ上、ここに報告するのがまずければ、okamototk at users.sourceforge.jpまで # 直接メールで頂ければと思います。

よろしくお願いします。

2010-05-18 20:51 Aktualisiert von: okamototk
Kommentar

TracLightning2.5.0rc2で該当の箇所を修正してみたので、お手数ですがお試し頂けますか?

手元で再現しないので確証が持てないのですが、また不具合があればレポート頂ければ と思います。

よろしくお願いします、

2010-05-19 00:36 Aktualisiert von: suzz
Kommentar

以下のようなチェンジセットで不具合現象を再現させました。(コマンドラインでなくて申し訳ない。。。)

TracLightning をインストールしてできる SampleProject のリポジトリに対して、

  1. WebProject/trunk から WebProject/branches/TRY-HOGE にブランチを作成 (Rev.2)
  2. 上記で作成したブランチの SampleClass.java を変更してコミット (Rev.3)
  3. branches/TRY-HOGE の内容を trunk/ マージしてコミット (Rev.4)
  4. Trac のリポジトリブラウザから Rev.4 のチェンジセットを閲覧 (http://localhost/trac/SampleProject/changeset/4/WebProject/trunk)

svnauthz の内容は以下のとおりです。

[groups]

[/]
admin = rw
* = rw
guest = r

[SampleProject:/]
guest = rw

2010-05-19 01:08 Aktualisiert von: None
Kommentar

おかもとさん、 2.5.0rc2 で正しく表示できることを確認しました。

2010-05-19 01:12 Aktualisiert von: suzz
Kommentar

ログインしてなかった... ちなみに私も職場の運用環境では、該当の print 文を削除して暫定回避しました。

2010-05-20 21:06 Aktualisiert von: okamototk
  • Status Update from Offen to Geschlossen
  • Ticket Close date is changed to 2010-05-20 21:06

Dateianhangliste

Keine Anhänge

Bearbeiten

Please login to add comment to this ticket » Anmelden