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


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

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

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

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

ответ, который получил Саймон, был

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

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

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

2 55

2 ответа:

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

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

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

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

enter image description here

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

[Edit]

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