Вопрос

Я хотел бы понять, как Subversion хранит изменения в FSFS, и как просмотр / Shapshot построен для данного номера ревизии.

То, что я почерпнул от Googleing, заключается в том, что FSFS - это простая структура каталогов, с подкататорами для каждой ревизии, как:

..svn/rev/0/
..svn/rev/1/
..svn/rev/2/

Предположительно только изменения (DELTAS) записываются в каждую редакцию. Так означает, что это означает, что при строительстве представления / снимка для ревизии N все Delts от 0 до n должны быть затерены?

Любые ссылки на ресурсы по этому признателю.

Спасибо

Это было полезно?

Решение

Subversion хранит все Delts каждого редакции в одном (плоском) файле редакции. Каждый файл / папка внутри репозитория (называемый «узлом») имеет внутренний идентификатор.

Один файл редакции состоит из всех сжатых дельтас для этого конкретного фиксации, однако Deltas не против предыдущей ревизии, но используйте схему под названием «Пропущенные Deltas» Избегая линейного растущего времени поиска для растущей истории версий.

Важно, что FSFS использует Пересылка Deltas Вместо назад Deltas с помощью BDB-Backend. Таким образом, FSFS быстрее на коммитах, но медленнее по оформлению заказа, характеристика производительности Беркли БД - это другой путь.

Вы можете прочитать намного больше внутри SVN Design Примечание о FSFS.

Другие советы

Вот ссылка на ссылку структуры FSFS (включая описание формата файла): https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top