cómo search un cambio reciente en el file especificado en la architecture de git

Me gustaría conocer un algorithm que detecte cambios recientes en el file especificado a medida que estoy aprendiendo la architecture git core.

usted sabe que git log -n1 -- <file> muestra la confirmación que tiene cambios recientes en el file especificado. es muy simple saber el último cambio. Casualmente quiero implementarlo solo.

Yo uso libgit2 para caminar cada commit. y me he tomado algunos días, pero no puedo entenderlo. El model de cometer git usando una estructura similar al DAG es difícil de search para mí.

 [for example] o---o---o---o---o---M--[HEAD] `-o------Moo' `-Co-' o means: a commit M means: merge commit C means: rechange change in the specified file 

¿Cuál es la mejor manera de detectar cambios recientes en el file especificado?

Tendrá que caminar el padre se compromete. Los commit de fusión tienen 2 o más padres. Eventualmente terminas en un commit común que es la twig. Por lo tanto, si su function recorre cada padre recursivamente, debe devolver como valor de retorno los commits ya inspeccionados para que no vuelva a cruzar los mismos commits. Alternativamente, si se encuentra un cambio, puede devolver la confirmación que alberga el cambio y cortocircuitar.