Project

General

Profile

Backport #2572

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

Added by shyouhei (Shyouhei Urabe) over 10 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Normal
[ruby-dev:39981]

Description

=begin
卜部です。

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して使おうとしたところ、今回の問題に当たりました。

=end

#1

Updated by naruse (Yui NARUSE) over 10 years ago

  • Status changed from Open to Assigned
  • Assignee set to nahi (Hiroshi Nakamura)

=begin

=end

#2

Updated by moro (Kyosuke MOROHASHI) over 10 years ago

=begin
もろはしです。

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

=end

#3

Updated by nahi (Hiroshi Nakamura) over 10 years ago

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

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

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

=end

#4

Updated by moro (Kyosuke MOROHASHI) over 10 years ago

=begin
もろはしです。

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の該当箇所だけ別途修正

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

=end

#5

Updated by nahi (Hiroshi Nakamura) over 10 years ago

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

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

=end

#6

Updated by nahi (Hiroshi Nakamura) over 10 years ago

  • Assignee changed from nahi (Hiroshi Nakamura) to shyouhei (Shyouhei Urabe)

=begin

=end

#7

Updated by shyouhei (Shyouhei Urabe) over 9 years ago

=begin
悩み中。
=end

Updated by nahi (Hiroshi Nakamura) almost 9 years ago

  • Status changed from Assigned to Closed
  • Assignee changed from shyouhei (Shyouhei Urabe) to nahi (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