Я использовал старую версию Rugged в течение длительного времени, и теперь я хотел бы перейти на новейшую версию. В ветке разработки я обнаружил, что что-то не так со свойствами класса ханков, такими как: 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));
Что также странно, есть старый метод доступа к свойству range, но эта переменная больше не создается (в методе проверки она всегда печатается как nil).
Есть ли какое-то расписание, чтобы исправить эту проблему, или это не ошибка, и я должен получить доступ к new_start и old_start куска каким-то другим способом?