[SVN]: понятие филиала - PullRequest
       6

[SVN]: понятие филиала

2 голосов
/ 22 февраля 2010

Я хотел бы понять, когда создавая ветку , SVN просто делает полную копию из ствола или использует какой-то механизм для ее достижения?

Спасибо.

Ответы [ 3 ]

6 голосов
/ 22 февраля 2010

AFAIK, то, что он делает, это ссылка на ревизию, из которой вы разветвляетесь, и затем записывает дельты для всего, что вы регистрируете.

Цитировать книгу SVN:

Репозиторий Subversion имеет особый дизайн. Когда вы копируете каталог, вам не нужно беспокоиться о том, что хранилище становится огромным - Subversion фактически не дублирует какие-либо данные. Вместо этого он создает новую запись каталога, которая указывает на существующее дерево. Если вы пользователь Unix, это та же концепция, что и жесткая ссылка. Оттуда копия называется «ленивой». То есть, если вы фиксируете изменение в одном файле в скопированном каталоге, то изменяется только этот файл - остальные файлы продолжают существовать как ссылки на исходные файлы в исходном каталоге.

1 голос
/ 22 февраля 2010

SVN не копирует ваши файлы, он просто делает ссылку на вашу начальную ревизию в trunc (или где-то еще). Таким образом, размер хранилища не растет.

0 голосов
/ 22 февраля 2010

SVN делает копию транка в точке, чтобы он мог сохранить историю транка в ветви.

Вот хороший пример того, что это такое http://svnbook.red -bean.com / ru / 1.0 / ch04.html

...