[redmine] redmine_code_review を mercurial 4.7 と組み合わせるとエラーになる

36 views
Skip to first unread message

ohira

unread,
Sep 3, 2018, 10:44:34 PM9/3/18
to mercurial-ja
いつもおせわになっております。

おおひらです。

redmine にコードレビュー用のプラグインを組み合わせて使っているのですが、
mercurial のバージョンを4.7に上げるとエラーになってしまいます。

Environment:
  Redmine version                3.4.6.stable
  Ruby version                   2.4.4-p296 (2018-03-28) [x86_64-freebsd10.3]
  Rails version                  4.2.8
  Environment                    production
  Database adapter               Mysql2
SCM:
  Subversion                     1.10.2
  Mercurial                      4.5.2
  Git                            2.18.0
  Filesystem                     
Redmine plugins:
  redmine_code_review            0.9.0

利用しているプラグイン
https://github.com/haru/redmine_code_review

mercurial 4.5.2 では正常に動作するのですが、mercurial 4.7 にするとエラーになるようです。

redminehelper.py (エラーに表示されるファイル)
https://github.com/redmine/redmine/blob/master/lib/redmine/scm/adapters/mercurial/redminehelper.py

redmine, ruby など最新のバージョンのソースからmakeしています。

エラーメッセージ
[shin@faith] /var/lib/redmine/plugins% hg --version
Mercurial - 分散構成管理ツール(バージョン 4.7)
(詳細は https://mercurial-scm.org を参照)
Copyright (C) 2005-2018 Matt Mackall and others
本製品はフリーソフトウェアです。
頒布条件に関しては同梱されるライセンス条項をお読みください。
市場適合性や特定用途への可否を含め、 本製品は無保証です。
[shin@faith] /var/lib/redmine/plugins% bundle exec rails server webrick -e production -b 0.0.0.0
=> Booting WEBrick
=> Rails 4.2.8 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2018-09-04 11:00:24] INFO WEBrick 1.3.1
[2018-09-04 11:00:24] INFO ruby 2.4.4 (2018-03-28) [x86_64-freebsd10.3]
[2018-09-04 11:00:24] INFO WEBrick::HTTPServer#start: pid=42406 port=3000
cvs: not found
*** エクステンション redminehelper のインポートに失敗 (/var/lib/redmine/lib/redmine/scm/adapters/mercurial/redminehelper.py): 'module' object has no attribute 'command'
hg: 未知のコマンド 'rhsummary'
(推測される候補: summary)
*** エクステンション redminehelper のインポートに失敗 (/var/lib/redmine/lib/redmine/scm/adapters/mercurial/redminehelper.py): 'module' object has no attribute 'command'
hg: 未知のコマンド 'rhmanifest'
(推測される候補: manifest)
^C[2018-09-04 11:04:09] INFO going to shutdown ...
[2018-09-04 11:04:10] INFO WEBrick::HTTPServer#start done.
Exiting
[shin@faith] /var/lib/redmine/plugins% hg --version Mercurial - 分散構成管理ツール(バージョン 4.7)
(詳細は https://mercurial-scm.org を参照)
Copyright (C) 2005-2018 Matt Mackall and others
本製品はフリーソフトウェアです。
頒布条件に関しては同梱されるライセンス条項をお読みください。
市場適合性や特定用途への可否を含め、 本製品は無保証です。
[shin@faith] /var/lib/redmine/plugins% hg --version
Mercurial - 分散構成管理ツール(バージョン 4.5.2)
(詳細は https://mercurial-scm.org を参照)
Copyright (C) 2005-2018 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[shin@faith] /var/lib/redmine/plugins% bundle exec rails server webrick -e production -b 0.0.0.0
=> Booting WEBrick
=> Rails 4.2.8 application starting in production on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2018-09-04 11:04:54] INFO WEBrick 1.3.1
[2018-09-04 11:04:54] INFO ruby 2.4.4 (2018-03-28) [x86_64-freebsd10.3]
[2018-09-04 11:04:54] INFO WEBrick::HTTPServer#start: pid=42785 port=3000

Katsunori FUJIWARA

unread,
Sep 4, 2018, 1:58:52 AM9/4/18
to mercurial-ja
藤原です。


2018年9月4日(火) 11:44 ohira <shin....@gmail.com>:

> いつもおせわになっております。
>
> おおひらです。
>
> redmine にコードレビュー用のプラグインを組み合わせて使っているのですが、
> mercurial のバージョンを4.7に上げるとエラーになってしまいます。

[snip]

> *** エクステンション redminehelper のインポートに失敗 (/var/lib/redmine/lib/redmine/scm/adapters/mercurial/redminehelper.py): 'module' object has no attribute 'command'
> hg: 未知のコマンド 'rhsummary'
> (推測される候補: summary)


mercurial.registrar の command クラスの導入により、Mercurial
4.3 (2017-08 release) から deprecated 扱いになっていた
mercurial.cmdutil の command クラスが、Mercurial 4.7 で drop され
たために発生しているものです。


> redminehelper.py (エラーに表示されるファイル)
>
> https://github.com/redmine/redmine/blob/master/lib/redmine/scm/adapters/mercurial/redminehelper.py
>


おおひらさんのメール中で参照している redminehelper.py の上記 URL
は最新版を参照しているものなので、この問題への対処が含まれています
が:

> Environment:
> Redmine version 3.4.6.stable

もしも上記 3.4.6.stable が 2018-06-10 リリースの 3.4.6 を指すなら
ば、2018-08-25 付で取り込まれた redminehelper.py への以下の対処が
含まれませんので、この問題が顕在化するはずです。

https://github.com/redmine/redmine/commit/9709f8f364e1d05003b3016937ba3590db1dcdb5#diff-fd489005de7015763aa0c7e19259c657


当面の対処としては以下のいずれかでしょうか。

- 上記修正が含まれる版の redmine をビルドして使用
- Mercurial 4.6.2 (or earlier) との組み合わせで使用


--
----------------------------------------------------------------------
FUJIWARA Katsunori(flying...@gmail.com)

ohira

unread,
Sep 5, 2018, 4:55:47 AM9/5/18
to mercurial-ja
おおひらです。

回答ありがとうございます。

もしも上記 3.4.6.stable が 2018-06-10 リリースの 3.4.6 を指すなら 
ば、2018-08-25 付で取り込まれた redminehelper.py への以下の対処が 
含まれませんので、この問題が顕在化するはずです。 

ご指摘いただいた通りです。
リリースされたtar.gzの中から一番新しいものを使いました。

#redmine-3.4.6
cd /usr/local/arc/
cd ../src
tar xf ../arc/redmine-3.4.6.tar.gz
cd redmine-3.4.6/
sudo ruby config.ru
...


3.4.7 はまだなさそうなので
3.4-stable の最新を試してみました。

#redmine-3.4-stable
cd /usr/local/src/
hg clone https://bitbucket.org/redmine/redmine redmine-3.4-stable
cd redmine-3.4-stable/
hg update 3.4-stable
...

残念ながらビルドできませんでした。
おそらく他のツールのバージョンを再調整しなければならないのだと思いますが、はっきりわかりません。

 - Mercurial 4.6.2 (or earlier) との組み合わせで使用 
しばらく、このやり方で利用して、redmineの新しいバージョンがリリースされたら再度試してみます。 

2018年9月4日火曜日 14時58分52秒 UTC+9 FUJIWARA Katsunori:
Reply all
Reply to author
Forward
0 new messages