Сравнивая 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.