无法访问hunk的new_start,old_start等属性

时间:2014-04-22 13:51:28

标签: ruby git libgit2 rugged

我使用旧版本的坚固耐用很长时间,现在我想升级到最新版本。在开发分支中,我发现hunk类属性有问题,例如:old_start,new_start,old_lines,new_lines - 由于缺少访问器,我无法访问这些属性(如果我正确理解代码) 。之前这些参数包含在range属性中,现在它们被移动到分离的变量中,但在lib / rugged / diff / hunk.rb中没有相应的访问器:

module Rugged
  class Diff
    class Hunk
      include Enumerable
      alias each each_line

      attr_reader :line_count, :header, :range, :owner

在ext / rugged / rugged / rugged_diff_hunk.c中,我们有:

rb_iv_set(rb_hunk, "@old_start", INT2FIX(hunk->old_start));
rb_iv_set(rb_hunk, "@old_lines", INT2FIX(hunk->old_lines));
rb_iv_set(rb_hunk, "@new_start", INT2FIX(hunk->new_start));
rb_iv_set(rb_hunk, "@new_lines", INT2FIX(hunk->new_lines));

奇怪的是,有一个旧的属性'范围',但这个变量不再创建(在检查方法中它总是打印为零)。

是否有一些时间表来解决这个问题,或者它不是一个错误,我应该以其他方式访问new_start和old_start的hunk?

1 个答案:

答案 0 :(得分:1)

是的,看起来缺少这些实例变量的访问器。您是否介意在Github问题跟踪器上打开一张坚固的票:https://github.com/libgit2/rugged/issues