2010-11-17 2 views
5

Проблема, которую мы имеем, - это клиент, который предоставляет нам контент для включения в выпуски, и это включает в себя множество видеофайлов. Их содержание обычно идет в SVN, но поскольку у них нет доступа к нему, версия этих больших двоичных файлов действительно не подходит для SVN. Наше тестирование не требует этих файлов (мы просто должны проверить, что мы можем запустить видео, если оно найдено), и мы не несем ответственности за проверку/тестирование поставляемого вами контента.Невертируемый каталог SVN?

Так что я подумал, возможно ли иметь SVN-каталог, который не является версией, и является просто обычным каталогом, который все еще можно вытащить при обновлении/проверке? Или, может быть, у SVN есть способ вытащить файлы из источника, отличного от SVN, в чем-то вроде svn: externals, но не глядя на другое репо?

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

+1

Я не уверен, как интерпретировать ваш вопрос ... разве это не удалось бы решить, установив 'svn: ignore *' в такой каталог и ничего не совершая там? – Archimedix

+0

Обратите внимание, что часть «все еще вытягивается при обновлении/выгрузке». – gimpf

+2

Если вы хотите управлять большими файлами, SVN не накладывает никаких ограничений или что-то еще. Для лучшего разделения вы можете захотеть использовать выделенные ветви в качестве альтернативы 'svn: external' для деревьев, содержащих эти большие объекты, и при необходимости слить дерево не больших файлов против них. – Archimedix

ответ

1

Является ли проблема мостом между вашим клиентом и репо SVN или версией двоичных файлов?

Для второго, я думаю, нет ничего сложного. Читайте здесь: http://help.collab.net/index.jsp?topic=/faq/svnbinary.html

Обратите внимание, что, является ли файл двоичные не влияют на количество хранилища пространства, используемое для хранения изменений к этому файлу, а также не влияют на объем трафика между клиентом и сервер. Для целей хранения и передачи , Subversion использует отличный метод , который одинаково хорошо работает на двоичных и текстовых файлах; это , полностью не связанный с отличным способом , используемым командой svn diff.

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

+0

@JB Jansen - это видео НЕ крошечные образы – ajreal

+0

Хотя я считаю, что этот ответ не идеален по форме, он по-прежнему верен. Почему это было приостановлено? – gimpf

+0

И что? Слишком много дискового пространства? Это незначительно по сравнению с стоимостью хорошего управления проектами. Обратите внимание, что я не один, чтобы рекомендовать версирование файлов тезисов. –

4

Увы, нет, подрывная деятельность хранит все версии, на которые он нацелен - нет никакого флага, чтобы указать, чтобы он оставался только последней версией. Возможно, на следующий день после стирания будет реализовано, но не задерживайте это ожидание :)

В принципе, для этого нет решения SVN - так что вам нужно посмотреть на сервер управления документами или просто отдельный файловый магазин.

Существует один вариант, который может работать для вас, но если вы используете TortoiseSvn, вы можете использовать его client-side hooks, чтобы автоматически вытащить видеофайлы из хранилища файлов в локальную систему.

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

0

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

Об этом, Настройте отдельный выделенный SVN-репозиторий для больших файлов. Предоставьте клиенту доступ только к этому репозиторию. Используйте svn: externals, чтобы вытащить эти файлы в свое дерево кода.

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

+0

Пользователям нельзя доверять SVN. –

Смежные вопросы