Подтвердить что ты не робот

SVN и двоичные файлы

После запроса этого вопроса мне было рекомендовано не проверять двоичные файлы в subversion. Мой вопрос в том, что мне делать с сторонними dll, которые должны быть в папке bin? Мне нужно иметь возможность проверить рабочую копию и запустить ее как веб-сайт со всеми DLL и т.д. Нетронутыми.

4b9b3361

Ответ 1

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

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

Ответ 2

Я всегда проверяю сторонние библиотеки DLL (в папку "lib" ), чтобы приложение могло создавать и запускать из новой проверки. Я думаю, что правило "не проверять двоичные файлы" применяется к двоичным файлам, которые генерируются исходным кодом, который вы проверили.

Ответ 3

Как сказал Бен. Я не добавляю двоичные файлы, которые часто меняются в исходный контроль. Но DLL 3-й части, и они попадают в папку lib на моем svn.

Ответ 4

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

Ответ 5

Рекомендации просты:

  • Все, что требуется для восстановления решения, должно быть проверено в *
  • Все, что генерируется в процессе сборки, должно остаться в стороне.

- Страница * Программы, инструменты, пакеты обновления являются очевидным исключением из этого правила. Но они должны быть перечислены в файле с версией.

Ответ 6

Я включаю любые необходимые DLL файлы в каталог DLL в проекте и ссылаюсь на них оттуда (с копией на локальный). Затем их можно либо включить в один и тот же репозиторий/папку, либо использовать с помощью svn-external из удаленного места (если они разделены между несколькими проектами).

Ответ 7

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

Исключение из этого будет, если вы SVNing установочных образов. Мы делаем это здесь, но в другом наборе репозиториев, которые используют наши производители (программисты этого не делают).

Ответ 8

Если по двоичным файлам вы имеете в виду исполняемые файлы, наилучшей практикой является их восстановление из источника - если источник доступен. Если по двоичным файлам вы имеете в виду нетекстовые файлы, я могу сказать вам, что я все время использую SVN для хранения нетекстовых файлов (jpg-изображения, файлы Visio, bmp файлы, документы MS Word 2003 с изображениями и диаграммами, файлы MS Project и похожие файлы. У меня никогда не было проблем с коррупцией или что-то в этом роде. И очень удобно хранить и управлять всем в SVN.

Ответ 9

Фактически SVN сохраняет двоичные файлы намного более эффективными, чем CVS, для получения дополнительной информации см. SVN-FAQ