Сравнивая 2 коммитов в бурном

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

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

Как можно увидеть разницу между 2 коммитами одного и того же объекта в прочном?

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.

Другие вопросы по тегам