2016-09-23 25 views
1

Из Mercurial документации:В hg clone, в чем разница между «добавлением наборов изменений», «добавлением манифестов» и «добавлением изменений файла»?

манифеста файл, который описывает содержимое хранилища для конкретного набора изменений ID https://www.mercurial-scm.org/wiki/Manifest

При клонировании Mercurial репозитория, я вижу строки вывод:

adding changesets 
adding manifests 
adding file changes 

Я не понимаю разницы между этими t Hings. Я думал, что понял, что такое набор изменений, но я не знаю, как он будет отличаться от набора «изменений файлов». И, основываясь на приведенном выше описании, манифест звучит как одно и то же. Так в чем разница между всеми этими?

ответ

2

Mercurial делит информацию, необходимую для отслеживания в системе контроля версий на несколько уровней:

  • Изменения - метаданные о каждой версии. Кто (автор), когда (дата и время), почему (сводный текст) и что (затронутые имена файлов) и т. Д. Здесь.
  • Манифесты - каждый манифест содержит списки файлов для файлов при данной ревизии. Это похоже на таблицу ссылок в базе данных; содержимое файла не содержится, только часть версии данного файла является частью этой ревизии.
  • Файл изменяется. Эти файлы хранят фактические данные файла. Неэффективно хранить каждую версию, когда-либо выпущенную из заданного файла, полностью сформированного. Вместо этого он хранит данные файла в форме дельта-сжатия ; сохраняются изменения между версиями, причем случайная полная копия помогает ускорить восстановление версии.

Все 3 уровня необходимо скопировать в ваш репозиторий с удаленного сервера при клонировании.

Подробнее см. В Mercurial Wiki Design page.

 Смежные вопросы

  • Нет связанных вопросов^_^