Система контроля версий для огромных файлов?

StackOverflow https://stackoverflow.com/questions/1063897

  •  21-08-2019
  •  | 
  •  

Вопрос

Я ищу быстрый, но не такой уж и грязный способ сделать снимки кучи файлов общим объемом около 80 гигов.Проблема здесь в том, что многие файлы имеют размер около 1 ГБ.

Какая бесплатная система контроля версий лучше всего подходит для такого типа вещей?

Я знаю, что ZFS — это вариант, но я бы предпочел сначала попробовать что-нибудь еще.

Это было полезно?

Решение

Subversion по большей части будет обрабатывать ваши файлы размером > 1 ГБ с добродушным апломбом, но если есть много больших изменений, ожидайте, что генерация различий займет некоторое время...

Лучшие практики Subversion есть раздел о больших файлах:

Хорошей особенностью подрывной деятельности является то, что по дизайну нет ограничений в размере файлов, которые он может обрабатывать.Файлы отправляются «потоковым» в обоих направлениях между клиентом Subversion и сервером, используя небольшой постоянный объем памяти на каждой стороне сети.

Конечно, есть ряд практических вопросов, которые следует учитывать.В то время как нет необходимости беспокоиться о файлах в диапазоне размером с килобит (например,Типичные файлы исходных кодов), совершение более крупных файлов может потребовать огромного количества как времени, так и пространства (например,Файлы, которые составляют десятки или сотни мегабайтов большие.)

Для начала помните, что ваша подрывная работа хранит нетронутые копии всех файлов, контролируемых версией в .svn/ Text-Base/ области.Это означает, что ваша рабочая копия занимает как минимум вдвое больше места на дисковом пространстве, чем исходный набор данных.Кроме того, клиент Subversion следует (в настоящее время несправедливый) алгоритм для совершения файлов:

.Копирует файл в .svn/ tmp/ (может занять некоторое время и временно использует дополнительное пространство диска)))

.Выполняет двоичный различий между TMPFILE и нетронутой копией, или между TMPFILE и пустым файлом, если вновь добавлен.(Можно занять очень много времени для вычисления, хотя в конечном итоге может быть отправлено лишь небольшое количество данных).

.Отправляет DIFF на сервер, затем перемещает TMPFILE в .svn/Text-Base/

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

Другие советы

Возможно, вам действительно захочется попробовать монотонный хотя, просто проверьте это.Возможно, с его помощью вы найдете то, что ищете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top