Libgit2 git_diff_line_t不支持行修改,而是使用添加和删除,有什么方法可以检测?

时间:2019-07-05 11:18:27

标签: c git diff libgit2

我试图查看diff中修改了哪些行,但是libgit2 API仅具有以下行类型:-

GIT_DIFF_LINE_ADDITION
GIT_DIFF_LINE_DELETION

如果我们要检测到修改,则需要一些解决方法。

我观察到,每当进行修改时,这些行就会按顺序删除,然后开始添加。但是这个顺序并不总是有效的。因此不确定是否可以使用正确的伪代码/算法来检测到这一点。

https://gitlab.gnome.org/gaurav1999/diferencia/merge_requests/3/diffs

我正在VALA中尝试这样做。 但是任何算法建议都可以用任何语言甚至英语提供帮助。

在这种情况下,它通过: https://gitlab.gnome.org/gaurav1999/diferencia/merge_requests/3#note_544291

在这种情况下,它会失败,也许其他情况也会发生。 https://gitlab.gnome.org/gaurav1999/diferencia/merge_requests/3#note_544294

0 个答案:

没有答案