Ситуация: есть проект для ревью кода. К каждой строке загруженного куска кода можно оставлять комментарии. Кусок кода можно обновить.
При обновлении куска кода нужно также перенести на соответствующие строки комментарии.
Примеры (комментарии условно обозначил начинающимися с <<<):
01 <?php
<<< comment1
<<< comment2
02 echo 'Hello, world!';
Например, добавим в этот файл в первую строку php-комментарий и после обновления он должен выглядеть уже так:
01 // Some comment
02 <?php
<<< comment1
<<< comment2
03 echo 'Hello, world!';
Если строчки кода, к которой были оставлены комментарии, после обновления не стало, то и комментарии нужно удалить.
Какой алгоритм нужно использовать? Есть ли уже что-то готовое?
В принципе нужно почти то же самое, что и github, или bitbucket, или phpstorm показывает при просмотре diff.