#javascript #string #version-control #storage #string-comparison
Вопрос:
Я пытался создать систему управления версиями, используя строки (файлы в Base64) в Javascript. Я полагаю, что вместо того, чтобы хранить каждую версию файла как совершенно новый файл, это сократит пространство. Вместо этого я хотел бы создать цепочку различий на основе исходного файла.
Например: new_version("Hello world! My name is Bob.", "Hello world! My Papa is Sam.")
должно возвращать что-то вроде ?16?P?1?pa?4?Sam?1?
того, где целое число представляет, сколько пробелов нужно пропустить перед внесением изменений. Проблема, с которой я сталкиваюсь, — это слова разной длины. Замена Сэма на Билла полностью изменила бы оставшуюся строку. Мне интересно, есть ли лучший способ, чем сравнивать каждого персонажа, как я сделал для своего прототипа.
Комментарии:
1. Думайте в битах, а не в битах — или используйте GitLab 🙂