сравнение 2 коммитов в суровых условиях

Я не нашел никакой документации по получению разницы между двумя файлами в Rugged. Я использовал приведенный ниже код, чтобы зафиксировать файл, используя надежный

@repo=Rugged::Repository.new($reponame)
@[email protected]('D:\Ruby\MyGitRepo\file1.txt','blob')
puts @sha
commit = @repo.lookup(@sha)

как увидеть разницу между двумя фиксациями одного и того же объекта в Rugged?


person Ahmad Osama    schedule 17.01.2013    source источник


Ответы (1)


Способ сравнения двух коммитов в git основан на процессе сравнения.

brianmario недавно обернул функцию итератора различий в libgit2. Учтите, что эта функция еще не объединена.

Ниже приведен пример высокого уровня его будущего использования.

r = Rugged::Repository.new('.')
diff = r.diff(commit1, commit2)

diff.deltas.each do |delta|
  # ...
  delta.hunks.each do |hunk|
    # ...
    hunk.lines.each do |line|
      # ...
    end
  end
end

Подробнее о предлагаемой реализации diff и использование.

person nulltoken    schedule 18.01.2013
comment
спасибо .. Я наткнулся на этот пост, когда разместил здесь вопрос .. попробовал .. - person Ahmad Osama; 19.01.2013