问题
I didn't find any documentation on getting the difference between 2 files in rugged. I used the below code to commit a file using rugged
@repo=Rugged::Repository.new($reponame)
@sha=@repo.write('D:\Ruby\MyGitRepo\file1.txt','blob')
puts @sha
commit = @repo.lookup(@sha)
how can see the difference between the 2 commits of the same object in rugged?
回答1:
The way to compare two commits in git relies on a diffing process.
brianmario recently wrapped the diffing iterator feature of libgit2. Beware that this feature is not merged yet.
Below a high level example of its future usage.
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
See this pull request for more information about proposed diff implementation and usage.
来源:https://stackoverflow.com/questions/14386044/comparing-2-commits-in-rugged