Ввод средств разработки (компиляторы, IDE, редакторы и т. Д.) И среды выполнения (jre, .net framework, интерпретаторы, ...) под управлением версии имеет несколько хороших причин. Во-первых, вы можете легко скомпилировать/запустить свою программу, просто проверив ваш репозиторий. У вас нет ничего другого. Во-вторых, тройка, безусловно, совместима с версией, как вы ее протестировали. Однако у него есть свои недостатки. Основной из них - большой объем больших двоичных файлов, которые нужно поставить под систему контроля версий. Это может привести к замедлению процесса VCS и ускорению процесса резервного копирования. какая у тебя идея?Вы размещаете инструменты разработки/времени выполнения в репозитории?
ответ
То, что я нахожу, очень красиво и распространено (в проектах .Net у меня есть опыт в любом случае) включает любые зависимости «не по умолчанию» в папке lib или зависимостей с исходным контролем. Время выполнения обеспечивается GAC и считается предполагаемым.
Во-первых, вы можете легко скомпилировать/запустить свою программу, просто проверив ваш репозиторий.
Неверно: часто этого недостаточно, чтобы просто получить/скопировать/проверить инструмент, вместо этого инструмент также должен быть установлен на рабочей станции.
Лично я видел библиотеки и сторонние компоненты в исходной системе управления версиями, но не с инструментами.
Я сохраняю все зависимости в папке под контролем источника под названием «3rdParty». Я согласен, что это очень удобно, и вы можете просто снести источник и начать работу. Это действительно не должно влиять на производительность элемента управления источником.
Единственный реальный откат - первоначальный размер, который нужно сместить, может быть довольно большим. В моей ситуации любой, кто тянет вниз, он также обычно запускает его код, так что все в порядке. Но если вы ожидаете, что многие люди вытащит источник только для чтения, это может раздражать.
Инструменты и зависимости, фактически используемые для компиляции и сборки проекта, абсолютно - это очень полезно, если вам когда-либо приходилось отлаживать проблему или разрабатывать исправление для более старой версии, и вы перешли к более новым версиям, t вполне совместим со старыми.
Редакторы IDE & Нет - в идеале вы должны быть построены из сценария, поэтому они не нужны. Сгенерированный вывод должен быть одинаковым независимо от того, что вы использовали для редактирования источника.
Кроме того, для проприетарных IDE (например, Visual Studio) могут возникать проблемы с лицензированием, поскольку это затрудняет управление тем, кто использует какие части программного обеспечения.
Редактировать: Мы также использовали для хранения пакетных файлов, которые автоматически проверяли исходный код автоматически (и все зависимости) в исходном элементе управления. Разработчики просто проверяют папку «Setup» и запускают пакетные скрипты, вместо того, чтобы искать репозиторий для соответствующих бит и частей.
Я включаю в себя текст (и, следовательно, легко диффундируемый) файл в каждом корне проекта, который называется «How-to-get-this-project-running», который включает в себя все необходимые вещи, включая правильную версию .net и сервисные пакеты.
Я видел это в нескольких местах, где я работал. Во всех случаях я нашел это довольно удобным.
Как я обычно использую eclipse, у которого есть встроенный компилятор, я предпочитаю его размещать под VCS. – user156178
Я должен согласиться. Builds = Источники + Инструменты.Если у вас нет обоих, вы не получаете сборку, а возможность создавать напрямую после синхронизации, даже с новой машины, является отличительной чертой зрелой среды разработки, imho. –