Я пытаюсь увидеть, какие строки модифицируются в 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