Backport #2572

Re: "require 'logge'" fails on ruby 1.8.7 from http://github.com/shyouhei/ruby

Added by Shyouhei Urabe about 2 years ago. Updated 8 months ago.

[ruby-dev:39981]
Status:Closed Start date:
Priority:Low Due date:
Assignee:Hiroshi Nakamura % Done:

0%

Category:-
Target version:-

Description

卜部です。

r20345はほんとうにこれでいいんですかねえ? 落ちはしないだけで意味不明な感じにな
りそうなんですが...

MOROHASHI Kyosuke さんは書きました:
> 諸橋です。
> いつもお世話になっております。
> 
> http://github.com/shyouhei/ruby
> 
> から取得したRubyの 、remotes/origin/ruby_1_8_7 ブランチをビルドして
> loggerを require するとNoMethodErrorが発生します。
> 
> 原因は、Logger::ProgName を設定する際にの csv/svn の $Id$ のキーワード
> 展開への依存だと思うのですが、これは、1.9ブランチと1.8ブランチでは
> すでに修正されているようです。
> 
> これを1.8.7ブランチへバックポートしていただけないでしょうか?
> 
> 1.9ブランチへの修正
>   http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20290
> 
> 1.8ブランチへの修正
>   http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20345
> 
> とはいえ、1.8ブランチへの修正は、他の変更と一緒になってしまっているので
> そのままでは取り込めないようにも思います。
> どうすべきか、ご判断をお願いします。
> 
> ちなみに、私自身がやりたいこと自体は、下記でうかがったString#inspectの
> 修正を含む、Ruby 1.8.7が欲しいというモノです。
> 
> http://redmine.ruby-lang.org/issues/show/2569
> 
> 自分でcherry-pickして使おうとしたところ、今回の問題に当たりました。
> 
>

History

Updated by Yui NARUSE about 2 years ago

  • Status changed from Open to Assigned
  • Assignee set to Hiroshi Nakamura

Updated by Kyosuke MOROHASHI about 2 years ago

もろはしです。

2010年1月7日18:47 Urabe Shyouhei <shyouhei@ruby-lang.org>:
> r20345はほんとうにこれでいいんですかねえ? 落ちはしないだけで意味不明な感じにな
> りそうなんですが...

たしかにそうですね。
結局、空になってしまいそうです。
そういう意味では、1.9ブランチ向けのr20290のほうが良さそうですが、そちらを
バックポートするというのは、ポリシー的に大丈夫なのでしょうか?

-- 
諸橋 恭介(もろはし きょうすけ)

本を書きました!!
「Railsレシピブック」http://www.amazon.co.jp/dp/4797336625

mail : moronatural@gmail.com

はてな:  http://d.hatena.ne.jp/moro/
twitter: http://twitter.com/moro

Updated by Hiroshi Nakamura about 2 years ago

いまいち問題を把握してない可能性もありますが、gitが$Id$展開しないからコケるんだけどgitからcloneしてもそのまま動くようにしてくれよ、ということでいいですかね?

# trunkやruby_1_8で直って、ということはないはずですが。

svn-git連携でうまいことできたりしないものなんでしょうか。

Updated by Kyosuke MOROHASHI about 2 years ago

もろはしです。

2010年1月8日16:19 NAKAMURA, Hiroshi <nakahiro@gmail.com>:
> いまいち問題を把握してない可能性もありますが、gitが$Id$展開しないからコケるんだけどgitからcloneしてもそのまま動くようにしてくれよ、ということでいいですかね?

はい。そうです。

> # trunkやruby_1_8で直って、ということはないはずですが。

trunkのほうはおなじような理由での修正だったみたいです。
"should handle the case that cvs/svn do  not expand $Id keyword.
[ruby-core:19991]"

> svn-git連携でうまいことできたりしないものなんでしょうか。

いちおう同様なキーワード展開の機能はあるようです。ただ、それぞれのscmで
$Id$の示すモノが違うというのがちょっと紛らわしいかな、とも思います。

http://progit.org/book/ja/ch7-2.html

このあたりを踏まえ、

- そもそもこれは修正対象か(githubのは自己責任でね、というスタンス)
- 直すとしてどう直すか?
-- 別ブランチへのパッチ取り込み
-- 上記.gitattributesやGitのフィルタを使うなど
-- logger..rbの該当箇所だけ別途修正

など、誰に何をお願いすればよいのか悩んでいるため相談させていただきました。

Updated by Hiroshi Nakamura about 2 years ago

なるほど、今気付いたんですが、trunk側は不自然なことになってますねえ。そのうちruby_1_8に合わせときます。

で、gitでどうするかですが、shyouheiさんに任せます。ruby_1_8に合わせとくと(偶然)エラーにはならなくなる(ProgNameは"/"になる)のでそれでもいいですし、他に手があればそれでもいいと思います。

Updated by Hiroshi Nakamura about 2 years ago

  • Assignee changed from Hiroshi Nakamura to Shyouhei Urabe

Updated by Shyouhei Urabe about 1 year ago

悩み中。

Updated by Hiroshi Nakamura 8 months ago

  • Status changed from Assigned to Closed
  • Assignee changed from Shyouhei Urabe to Hiroshi Nakamura
r31806で、問題のタネごとなくしてしまいました。長らくご迷惑をおかけしました。 Index: lib/logger.rb =================================================================== --- lib/logger.rb (revision 31805) +++ lib/logger.rb (revision 31806) @@ -170,8 +170,7 @@ class Logger VERSION = "1.2.6" - id, name, rev = %w$Id$ - ProgName = "#{name.chomp(",v")}/#{rev}" + ProgName = "#{File.basename(__FILE__)}/#{VERSION}" class Error < RuntimeError; end class ShiftingError < Error; end

Also available in: Atom PDF