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