Преимущества НЕ-версии .dproj

Я прочитал в блоге о версии Insight (http://www.delphifeeds.com/go/s/77066), который (среди прочего) JCL не имеет своих .dproj файлов в и мне было интересно, какие преимущества этого будут.

Тем более, что я и мой коллеги разработчик часто "обманывают" друг друга, проверяя файлы проекта с помощью собственных любимых настроек отладки (он любит оптимизацию, я хочу его отключить). И из-за регулярных взлетов Delphi 2007, которые прикручивают файл dproj со всеми видами ошибочных зависимостей. В любом случае, управление версиями не помогает с этими вещами?

Мы используем Starteam как наш VCS на данный момент.

Ответ 1

Я храню в своих файлах .dproj настройки, которые используются msbuild для моего процесса сборки. Например, условные определения, настройки компилятора и т.д. Если вы делаете то же самое, вам нужно их выставить.

Если вы используете версию Delphi, где среда IDE регулярно разрывает файл .dproj, то, безусловно, контроль над версиями поможет вам отступить.

Я не вижу никакого преимущества в том, чтобы не управлять версиями.

Ответ 2

Если вы используете Delphi 2009 или более поздние версии Option Sets, это идеальное решение для этой проблемы.

Наборы параметров - это в основном коллекции настроек, которые обычно находятся в DPROJ (который вы делаете), но вместо этого сохраняются в файле .OPTSET(который вы не используете).

Сделайте свой DPROJ с параметрами, которые являются общими для всех разработчиков, что никто не может изменять, если только это не согласовано по всем разделам.

Затем в менеджере проектов (D2009 и выше) сначала выберите конфигурацию DEBUG node, а затем конфигурацию RELEASE node, щелкните правой кнопкой мыши и выберите "Новый набор опций". Вызовите эту опцию, например, "Local Debug Settings.optset" и "Local Developer Release Settings.optset".

Теперь передайте только свой DPROJ для управления версиями, поскольку теперь он относится к этим файлам .OPTSET. По этой причине вы должны называть свои наборы параметров одинаково на каждой машине.

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

В IDE будут применены измененные настройки из наборов опций без изменения исходного DPROJ. Настройки применяются иерархически, когда наборы параметров являются последними для применения.

Ответ 3

Если вы решите не выпускать свой DPROJ, при создании ваших версий релизов я рекомендую вам использовать отдельную сборку script, какую-либо версию, например, версию.

  • командный файл, который вызывает компилятор командной строки и указывает параметры и пути компилятора.
  • проект Finalbuilder (намного проще, чем командный файл)
  • msbuild script (никогда не делал этого сам, но я предполагаю, что это будет возможно).

Ответ 4

Одним из решений этой проблемы является более четкое представление о том, какие части DPROJ (а также файлы DFM) вы можете проверить.

Вы не указываете, какую систему управления версиями вы используете, но TortoiseHg имеет функцию выбора hunk как часть процесса фиксации, которая позволяет вам выбирать отдельные строки в измененном файле, который должен быть зафиксирован, и оставить остальные строки незафиксированными.

Я использую этот метод, чтобы никогда не проверять ненужные изменения из DPROJ (например, изменение активной конфигурации из RELEASE на DEBUG) и DFM (например, изменения свойств ExplicitHeight и ExplicitWidth).

Ответ 5

Единственная причина, по которой я могу думать, что НЕ управляет версиями файлов DPROJ, - если, подобно JCL, вы можете восстановить их как часть процесса сборки. JCL - это библиотека классов (кодовая библиотека), а не приложение, и она нацелена на несколько версий Delphi с различиями в их .dproj файлах. Фактически, версии delphi до 2005 года вообще не использовали файлы .dproj.

Ответ 6

Более поздняя версия Delphi XE4, 5, 6 и XE7 очень стабильна для построения XML файлов .dproj. Я не жалуюсь, используя git для версий .dproj и .groupproj. Обновления этих файлов с помощью редактора IDE приводят к ожидаемым только чистым и чистым изменениям.