Уменьшение размера.папки в SVN

в нашем проекте мы приняли решение сократить время сборки с помощью встроенных программ. Еженедельно / ежемесячно мы создаем стабильный релиз и фиксируем его в репозитории. Сборка использует эти двоичные файлы вместо создания всего из источника.

для скорости сборки это фантастика. Но, неудивительно, что он действительно увеличивает размер проверки SVN. Наш багажник в настоящее время находится на ~22 ГБ. Я понимаю, что это не предполагаемое использование Subversion. Но у нас нет альтернативы. момент.

но я хотел бы улучшить нынешнюю ситуацию. The .svn папка вносит большой вклад в размер Транка на диске. Когда двоичные файлы обновляются, кажется, что в них хранится несколько баз .папка svn. То есть, если двоичный файл равен 4 ГБ, в .svn. Если он обновлен, то .svn папка содержит исходную базу плюс новую базу и объем до 8 ГБ для этого одного файла.

можно ли сказать Subversion не держать базу в .svn папка для определенных файлов? Через google я нашел аналогичный вопрос,Как уменьшить .размер папки svn?.

ответ Симон получил

  • используйте частичную проверку (которая не будет работать для меня, поскольку мне нужны двоичные файлы)
  • это еще не особенность Subversion
  • это обсуждалось, но не будет функцией, по крайней мере, Subversion 1.8

к счастью для меня subversion 1.8 была выпущена. Была ли добавлена эта функция?

Я не заметил его в Примечания. Хотя" сокращение хранилища каталогов и свойств " выглядит многообещающе.

2 ответов


нет никакого способа, чтобы избавиться от необходимости хранить pristines на данный момент. Об этом говорили, но на самом деле это непростая проблема, потому что есть так много различных ситуаций использования, которые будут представлены путем их удаления необязательно.

С 1.7 первозданное хранилище было изменено и в некоторых случаях вы действительно можете увидеть ситуацию хуже, чем раньше 1.7. Пристыны теперь хранятся в файлах, названных хэшем первозданного. Так что если вы имейте несколько одинаковых файлов, у вас не будет дубликатов pristines. Однако, мы также не очистка pristines. Поэтому они просто продолжают расти. Вы можете вызвать неиспользуемые pristines для удаления с svn cleanup.

есть смысл держать неиспользуемые Приштины вокруг, если вы переключаетесь между ветвями, нам больше не нужно загружать вещи, которые у вас уже есть в 1.8.


для тех, кто использует команду очистки клиента TortoiseSVN, а не , .svn размер папок можно уменьшить, убедившись, что вакуумные нетронутые копии проверил:

enter image description here

кроме того, рекомендуется очистка на верхнем уровне рабочей копии, как указано здесь.

[Edit]

по данным ответ и SVN изменить журнал, svn cleanup имеет возможность вакуумировать нетронутые копии (/vacuum). Это делается по умолчанию, начиная с 1.8.