Взрыв размера Subversion путем перемещения по каталогам;миф или факт? - PullRequest
0 голосов
/ 16 января 2011

Мне недавно пришлось перефакторировать некоторый код из предыдущего сопровождающего, и первоначально мне пришлось сделать много сменных каталогов и переименовать и так далее.Это было относительно небольшое количество кода, поэтому сравнение размеров на самом деле не показало много.Учитывая, что Subversion всегда будет сохранять каждую версию, не будет ли это взрываться по размеру?

Я предполагаю, что

repo/trunk/bobbyapple

перемещено в

repo/branches/oldapple

будет считаться различными историями, основанными вне пути, и эта подрывная деятельность сохранит их по-разному (move = copy + delete).Таким образом, если кто-то перемещается по большим каталогам, это быстро может взорвать размер?

Ответы [ 2 ]

6 голосов
/ 16 января 2011

Копирование в SVN по сути бесплатное, а изменения сохраняются в виде различий.Так что нет, это не «взорвет» размер.

1 голос
/ 16 января 2011

SVN Создает «дешевые копии», которые не на самом деле делают копию чего-либо, а просто создают новую версию файлов, которые были изменены в копии.Цитируется здесь:

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

см .: http://svnbook.red -bean.com / ru / 1.0 / ch04s02.html # svn-ch-4-sect-2.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...