gitコアアーキテクチャを学習しているときに、指定されたファイルの最近の変更を検出するアルゴリズムを知りたいです。
git log -n1 -- <file>
指定されたファイルに最近変更があったコミットを表示します。最新の変更を知るのは非常に簡単です。さりげなく自分で実装したいです。
libgit2を使用して各コミットをウォークします。何日かかかりましたが理解できません。構造のようなDAGを使用するgitcommitモデルは、私にとってそれを探すことはほとんどありません。
[for example]
o---o---o---o---o---M--[HEAD]
`-o------M-o-o'
`-C-o-'
o means: a commit
M means: merge commit
C means: rechange change in the specified file
指定されたファイルの最近の変更を検出するための最良の方法は何ですか?