Любая система контроля версий должна уметь обрабатывать прозу. Вопрос в том, насколько эффективно это можно сделать.
Команда git diff
использует что-то вроде diff -u
для отображения различий между двумя версиями файла. Если файл состоит из текста с очень длинными строками (то есть, много символов между '\n'
символами), тогда он может испытывать некоторые трудности при значительном отображении различий; может отображаться две строки по 5000 символов с одним изменением символа.
Но это не обязательно означает, что именно так git
хранит файлов. Я не очень хорошо знаком с внутренним форматом хранения git, но, насколько я понимаю, он достаточно хорошо работает с двоичными файлами, которые могут содержать много мегабайт данных без символов '\n'
.
Обратите внимание, что некоторые старые системы контроля версий (SCCS, RCS), вероятно, хранят различия между версиями построчно. Но даже для таких систем, в худшем случае , вы сохраняете полную копию каждой версии плюс некоторые накладные расходы. Система должна по-прежнему работать нормально.
Обратите внимание, что git diff --word-diff
должен хотя бы частично решить проблему сравнения версий.