3

頑丈な2つのファイルの違いを取得するためのドキュメントは見つかりませんでした。以下のコードを使用して、ruggedを使用してファイルをコミットしました

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

頑丈な同じオブジェクトの2つのコミットの違いをどのように確認できますか?

4

1 に答える 1

4

git で 2 つのコミットを比較する方法は、差分プロセスに依存しています。

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 の実装と使用方法の詳細については、このプル リクエストを参照してください。

于 2013-01-18T07:39:13.093 に答える