Компиляция кода для представлений снимка экрана ClearCase UCM - PullRequest
1 голос
/ 26 марта 2012

У нас есть огромная кодовая база с около 27000 файлов в ClearCase UCM. Наш процесс сборки выглядит следующим образом:

  1. Копировать файлы из динамического представления потока на локальный компьютер (скажем, каталог D:\ABC)
  2. Запустить компиляцию

В следующий раз, когда мы скомпилируем, мы очистим D:\ABC и повторим вышеописанный процесс. Копирование занимает около 50 минут.

Причины, по которым мы предпочитаем динамические представления, а не снимки:

  1. Мы всегда можем быть уверены, что используем последний код
  2. Мы генерируем много кода и модифицируем несколько существующих во время компиляции. Это может испортить снимки.
  3. Мы избавлены от проблем очистки представлений о снимках, их перебазирования и т. Д. *

Проблемы с просмотром снимков:

  1. Нам нужно очистить код, который мы сгенерировали для последней сборки (они показаны как view-private)
  2. Нам нужно отменить угон (мы удаляем доступ только для чтения для некоторых файлов, так как они должны быть изменены во время компиляции)
  3. Мы должны очистить выходные каталоги и файлы в них, созданные Visual Studio во время компиляции
  4. Нам нужно обновлять представление снимка каждый раз, когда мы собираемся скомпилировать
  5. Мы не доверяем чистоте представления снимка

Мои вопросы:

  1. Правильно ли мы поступаем, копируя файлы из динамических представлений?
  2. Я хотел знать, есть ли какой-нибудь способ, которым мы можем использовать представления снимка, и при этом быть уверенным, что он чистый?
  3. Существуют ли другие варианты или лучшие практики, которые мы можем использовать для улучшения нашего процесса?

Буду признателен за любую помощь.

1 Ответ

1 голос
/ 26 марта 2012

1 / Нет:

  • Копирование из динамического представления дольше, чем использование прямого представления снимка, который вы просто обновите (чтобы получить последний код)
  • Plus,во время копирования файл может быть обновлен (проверена новая версия), а затем будет скопирован вашим процессом (потому что динамическое представление ... динамически получит указанную новую версию).Вкратце: вы не знаете, что копируете.
  • обновление представления моментального снимка является инкрементным процессом.
    Копирование динамического представления не выполняется (копируется все вместо загрузки только дельты)

2 / Вы должны update -overwrite, чтобы убедиться, что любой захваченный файл удален

3 / Использование базовой линии безопаснее, чтобы получить фиксированный момент времени кодовой базы

...