Мне нужно написать простую систему управления версиями и задаться вопросом, какой алгоритм я буду использовать для различий файлов?Алгоритм для системы управления версиями?
Я не хочу изучать существующий исходный код из-за проблем с лицензией. Мне нужно иметь лицензию в MPL, чтобы я не мог смотреть на какие-либо существующие системы, такие как CVS или Mercurial, поскольку они все лицензированы GPL.
Просто, чтобы дать некоторый фон, мне просто нужны некоторые действительно простые функции - двоичные файлы в папке. нет подпапок, и каждый файл ведет себя как собственный репозиторий. Нет метаданных, за исключением некоторых разрешений.
В целом очень простые вещи, моя единственная проблема заключается в том, как хранить только различия в файле от пересмотра до ревизии, не тратя слишком много места, но также не будучи слишком неэффективным (возможно, хранить полную версию, каждый X изменяется, немного как ключевые кадры в видео?)
Хм, мне нравится ваш ответ лучше. Кажется, вы действительно знаете, о чем говорите. :-P – Jaxidian