Вы устанавливаете .parent и высоту, например, max-height: 150px;
Как: ветка поставщиков , как правило, является хорошим подходом
Когда ( третьих сторон) : для минимизации количества задействованных ссылок: вы можете добавить эти библиотеки в отдельную внешнюю ссылку (например, Maven), но это означает, что вам необходим доступ к этой дополнительной ссылке для каждой среды (разработка - интеграция - омологация - подготовка к производству - производство)
Когда (код) : для управления сложностью изменений, когда вы знаете, что потребуются обновления и исправления для текущих версий, запущенных в производство , в то время как новые разработки находятся в стадии разработки. Прогресс.
Почему (сохраните оба) : для развертывания причина:вы можете управлять полной конфигурацией (список элементов, которые вам нужны) в одной ссылке и запрашивать ее везде и всегда, когда вам необходимо:
Для тестовых и производственных сред это также означает, что ваш собственный продукт ( упакованный результат того, что вы создаете) должен также входить в ваш SCM (только официальные выпуски, а не промежуточные, используемые внутри).
включая сторонние компоненты, необходимые для компиляции / выполнения)
Для тестовых и производственных сред это также означает, что ваш собственный продукт ( упакованный результат того, что вы создаете) также должен входить в вашу SCM (только официальные выпуски, а не промежуточные, используемые внутри). .
включая сторонние компоненты, необходимые для компиляции / выполнения)
Для тестовых и производственных сред это также означает, что ваш собственный продукт ( упакованный результат того, что вы создаете) также должен входить в вашу SCM (только официальные выпуски, а не промежуточные, используемые внутри). .
это также означает, что ваш собственный продукт ( упакованный результат того, что вы создаете) должен также входить в ваш SCM (только официальные выпуски, а не промежуточные, используемые внутри).
это также означает, что ваш собственный продукт ( упакованный результат того, что вы создаете) должен также входить в ваш SCM (только официальные выпуски, а не промежуточные, используемые внутри).
Если другие проекты зависят от вашего продукта, они будут создавать свой собственный проект для вашей упакованной версии, хранящейся в SCM, а не для вашего исходного кода, который они каким-то образом перекомпилировали.
Почему это важно?
Потому что, в конце концов, в работе будет работать упакованная версия вашего продукта, а не ваш «перекомпилированный исходный код». Отсюда важность сделать весь ваш тест с конечной конечной формой вашего продукта, четко сохраненной и помеченной в вашем SCM.
Мартин Лазар поднимает законную точку в его ответе
Контроль источника называется контроль «источника», поскольку предполагается, что он управляет источниками.
Хотя это, возможно, было исторически верно, все существующие RCS развивались в сторону SCM ( Управление исходным кодом ), который не просто контролирует источники, но также управляет изменениями в документах, программах и другой информации, хранящейся в виде компьютерных файлов.
Затем двоичные файлы могут быть сохранены (даже сохранены с двоичной дельтой)
Plus, что позволяет некоторым из этих SCM предлагать функцию S "C" M (как в Источник Конфигурация Управление ) .
Эта SCM (конфигурация) хранит не только «набор файлов», но также их отношения (или зависимости ) между этими наборами, чтобы вы могли запросить один набор файл, и "вытягивать" все остальные поставки, от которых зависит этот набор (для сборки, развертывания или запуска)
Предполагая, что вы используете .Net:
Я создаю папку «Библиотеки» в моем проекте и системе управления версиями, которая содержит любые сторонние сборки.
Затем мое решение ссылается на эти сборки, и мой процесс сборки переносит эту папку на наш сервер сборки.
Любой, кто извлекает ваш код из системы управления версиями, должен иметь возможность скомпилировать его без необходимости искать ссылки и сборки.
Как хранить сторонние библиотеки, которые вы используете в своем проекте, в вашем контроле исходного кода?
Как бинарный или источник или оба. Зависит от библиотеки.
Когда вы будете хранить бинарные файлы в вашем контроле исходного кода?
Сторонняя библиотека, для которой у нас нет исходного кода или внутренней библиотеки, в которую мы не внесли никаких изменений или библиотеки слишком велик, чтобы его можно было строить.
Когда бы вы сохранили код в вашем контроле исходного кода?
Скажем, мы используем внутреннюю библиотеку A, но исправили некоторую ошибку, специфичную для продукта X. Тогда хранилище продукта X сохранит источник и создайте его.
Вы когда-нибудь сохранили бы оба? В каких ситуациях вы бы это сделали?
Да, все последние двоичные файлы хранятся в системе контроля версий.
Таким образом, дерево выглядит так:
product
|-- src
|-- build
|-- lib
|- 3rdparty
|- internal
...
Управление исходным кодом называется контролем «источника», поскольку предполагается, что оно управляет источниками.
В Java это Распространенный способ использования некоторой системы контроля версий для хранения источников и других ресурсов, таких как конфигурационные XML-файлы или изображения, и использование некоторого инструмента управления зависимостями, такого как Apache Maven, который будет хранить, загружать и управлять зависимостями вашего проекта от сторонних библиотек. Затем, когда вы переустанавливаете свою ОС, Maven может автоматически загружать ваши зависимости из центрального репозитория (или из ваших собственных частных репозиториев) и сохранять их в локальном кэше на вашем диске. Вам даже не нужно знать, где находится кеш:)
Maven можно использовать и с другими языками, и, насколько я знаю, доступны плагины для .net и C / C ++, но я не знаю
Я не помещаю сторонний источник или двоичные файлы в SC. Мое обоснование было то, что мне не придется обновлять SC только для обновления библиотек. Я начинаю сожалеть об этом, хотя. Когда мне пришлось воссоздать проект, я обнаружил, что бегаю в поисках исходных кодов lib, а не просто синхронизируюсь с SC.
В недавнем Java-проекте я переключился на использование Maven - это было довольно приятно, поскольку это означало, что мне не нужно храните любые сторонние файлы jar в каталоге lib /. Во время компиляции maven вытягивает зависимости. Одним из приятных побочных эффектов является то, что банки имеют номер версии в имени файла.
Мой опыт заключается в том, чтобы создать папку "lib" и сохранить там все сторонние двоичные файлы. Я создам совершенно отдельное дерево для исходного кода для этих третьих сторон, если оно доступно.
В некоторых случаях это может отличаться, если вы используете открытый исходный код или стороннюю розничную версию с решениями с открытым исходным кодом. склонны просто включать код в мои проекты, а не регистрировать двоичные файлы.
Вам не нужно хранить сторонние библиотеки в вашем репозитории контроля версий. Эти библиотеки (например, SDL, libcurl и т. Д.) Всегда должны быть доступны в Интернете.
Всего два raccomandations:
Вообще говоря, я бы сделал примерно то, что было предписано другими пользователями.
В случае Subversion, и я признаю, что не могу говорить о включении этой функции в случае других систем, можно использовать External для связи в хранилище, поддерживаемом в другом месте. При оформлении заказа / экспорте вы получите полную копию исходного кода, включая обновленный код из этого внешнего репозитория, за один раз.
Это было особенно приятно для меня при разработке PHP / JS, так как нет проблем с сохранением двоичные файлы. Я бы оставил внешний вид Zend Framework, Doctrine ORM и jQuery в папке / lib / проекта. Каждое обновление дало бы мне полную обновленную копию всех необходимых файлов без какой-либо дополнительной работы, кроме добавления этого URL-адреса хранилища в свойство svn.
Концептуально вам нужно хранить как минимум двоичные файлы (и заголовки, если вы делаете C / C ++) Обычно это единственный способ для сторонних библиотек, в которых у вас нет источника.
Если у вас есть источник, вы можете выбрать сохранение источника и сборку сторонних библиотек в процессе сборки.
Вы должны иметь возможность установить новую ОС, получить исходные коды из системы управления версиями, собрать и запустить. Так что да, вы должны поместить их в систему контроля версий.
Это зависит от того, насколько они велики. Когда двоичные файлы или установщики слишком велики, это может привести к хаосу для удаленных пользователей. Преимущество хранения двоичных файлов и инсталляторов заключается в том, что все, что нужно разработчику для запуска и запуска, находится под контролем исходного кода, и версии верны. Если у вас есть отдельное место установки, версии могут испортиться. Итак, в целом я люблю хранить небольшие или умеренные двоичные файлы в управлении исходным кодом, но большие я оставляю без внимания.
Правка: О, и я называю мои "BinRef":)
Когда вы будете хранить двоичные файлы в системе управления версиями?
Я сохраняю двоичные файлы в системе управления версиями, когда хочу, чтобы они могли быстро вернуться к старой версии приложения. Я бы сделал это по ряду причин, в том числе по следующим:
Если вы используете git (что я рекомендую) и у вас есть исходный код сторонней библиотеки, то хранение библиотеки в собственном репозитории git и включение ее в качестве подмодуля - отличный вариант. настраивать.
Если исходная библиотека также использует git, вы можете клонируйте их библиотеку и отправьте ее на свой сервер, чтобы вы никогда не потеряли ее.
Подмодули Git позволяют указать, какая версия библиотеки требуется для проекта, что отлично подходит для обеспечения совместимости.