红宝石1.9中的Grit警告

3

我正在学习 grit (版本 2.4.1)。以下是我的基本代码:

#!/usr/bin/env ruby -wKU

require "grit"
repo = Grit::Repo.new("./myproject")

p repo.commits

运行这段代码会给我带来很多警告。正如用户@Dogbert所指出的,这个GitHub差异帮助我消除了其中一些问题,现在我只得到以下警告信息: 更新diff-lcs (v1.1.2)中第266和303行的hunk = hunk.map { |block| yield block }更改为hunk = hunk.map { |blk| yield block }已经解决了这两个警告。
/Users/mircospino/.rvm/gems/ruby-1.9.2-p180/gems/diff-lcs-1.1.2/lib/diff/lcs.rb:266: warning: shadowing outer local variable - block
/Users/mircospino/.rvm/gems/ruby-1.9.2-p180/gems/diff-lcs-1.1.2/lib/diff/lcs.rb:303: warning: shadowing outer local variable - block

更新2

正如用户@injekt在这里所说,process.rb将在下一个版本中被删除。这将消除以下问题:

/Users/mircospino/.rvm/gems/ruby-1.9.2-p180/gems/grit-2.4.1/lib/grit/process.rb:289: warning: method redefined; discarding old spawn
/Users/mircospino/.rvm/gems/ruby-1.9.2-p180/gems/grit-2.4.1/lib/grit/process.rb:221: warning: previous definition of spawn was here

更新3

感谢用户@DogBert...

/Users/mircospino/.rvm/gems/ruby-1.9.2-p180/gems/diff-lcs-1.1.2/lib/diff/lcs/hunk.rb:69: warning: method redefined; discarding old flag_context=

通过更改diff-lcs gem中hunk.rb的第68行,从:attr_accessor更改为:attr_reader,使问题得到解决。

现在我有一个"stackoverflow meta"的问题:我该怎么做?


你确定你手动编辑了正确的文件(正在使用的 gem)吗?那应该可以解决警告问题。 - Dogbert
1
是的,这就是完整的差异。https://github.com/mojombo/grit/pull/71/files - Dogbert
如果问题涉及到一个子系统,请添加链接,同时考虑填写标签数据。(我已添加链接。) - DigitalRoss
在DogBert指出的差异后,更新了警告信息。 - microspino
1
@microspino,请修改 hunk.rb 的第 68 行,将 accessor 改为 reader - Dogbert
显示剩余3条评论
1个回答

0

我通过以下方式成功消除了警告:

感谢@DogBert提供的GitHub差异,

在diff-lcs(v1.1.2)的第266行和303行中,将hunk = hunk.map { |block| yield block }更改为hunk = hunk.map { |blk| yield block }

正如用户@injekt在此处所说,process.rb将在下一个版本中被删除。这将消除这些警告:

warning: method redefined; discarding old spawn
warning: previous definition of spawn was here

正如用户@DogBert所说,将hunk.rb的第68行从:attr_accessor更改为:attr_reader,在diff-lcs gem中消除了warning: method redefined; discarding old flag_context=...警告。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接