Инструмент для отображения всех исходных безопасных файлов ссылок - PullRequest
2 голосов
/ 28 мая 2009

Мой клиент мигрирует из Source Safe в Clearcase. Им нужно перечислить все файлы ссылок в базе данных Source Safe, чтобы ссылки могли быть перенесены в Clearcase, так как очевидно, что весь источник должен быть проверен в Clearcase в первый день, теряя все существующие ссылки.

Существуют ли какие-либо инструменты для создания этого отчета или, возможно, даже для полного импорта в прозрачный регистр?

Мой план состоит в том, чтобы написать скрипт powershell для рекурсии Source Safe для папок SS, поиска ссылок с использованием COM.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 29 мая 2009

Как упоминал VonC, импорт из VSS в ClearCase действительно ужасен:

  • Экспорт / импорт занимает вечность, поэтому мы открываем PMR для IBM (это, кстати, не помогло)
  • Общие ресурсы Source Safe превращаются в файлы, которые повсеместно создают дубликаты (ужас!).

Я сам работаю над ClearCase UCM, и мы приняли то же решение, что и вы (что, учитывая мой 10-летний опыт работы в CM, ВСЕГДА - лучшее решение): оставьте историю для справки и импортируйте не более пары версии один поверх других, вручную (например, текущий в разработке; текущий в тесте; текущий в живом).

Мы решили проблему с акциями следующим образом:

  1. «Доли», если они изолированы от дерева источников, для независимого импорта из других источников

  2. Другие источники были импортированы (без истории и без акций) с нуля. Допустим, скажем, в компоненте под названием MAIN_SRC

  3. Акции, которые были импортированы (без истории) с нуля. Допустим, скажем, в компоненте под названием SHARE_SRC

  4. Был создан проект, содержащий оба компонента: MAIN___SRC и SHARE_SRC.

Теперь проблема не решена, потому что ваши общие ресурсы живут в стороне от вашего основного исходного кода, когда ваша IDE (например, Visual Studio) полностью ожидает, что они будут находиться в тех же папках, в которых они находились ранее (т.е. Visual все ваши проекты становятся неправильными, если вы не решите эту проблему, и все файлы нужно будет перекомпоновать из самого Visual и т. Д. ... много работы).

Это решается с помощью символических ссылок ClearCase VOB :

Пусть говорит в MAIN___SRC, что вам нужно использовать файл с именем myShared file в SHARE_SRC.

Из папки, в которой нужно использовать файл myShared, используйте интерфейс командной строки и запустите:

cleartool ln -s ..\..\SHARE_SRC\(myPath)\mySharedFile . 

Вам нужно столько .. \ .., сколько необходимо, чтобы перейти на уровень папки компонента в ClearCase, а затем вниз по пути (myPath) в папке компонента SHARE_SRC.

Помните, что путь ClearCase состоит из:

M:\View_name\VOB_name\Component_name\Your first level of files and folders

(VOB_name \ Component_name - это «корень» компонента, если только у вас нет отдельного VOB компонента, в этом случае VOB_name \ Component_name становится просто VOB_name)

Самый простой способ - это отобразить все символические ссылки VOB, которые необходимо создать, и поместить все необходимые командные строки "cleartool ln -s" в сценарий для однократного запуска.

После этого у вас все будет хорошо, и ваша IDE думает, что источники находятся там, где они были раньше.

Приветствия

Thomas

2 голосов
/ 28 мая 2009

Как я уже упоминал в , этот вопрос , clearexport_ssafe следует использовать для импорта из Source Safe в ClearCase.

Однако в документации для этого инструмента прямо упоминается :

Акции. В Rational ClearCase нет функции, эквивалентной общему ресурсу Visual SourceSafe. clearexport_ssafe не сохраняет общие ресурсы как жесткие ссылки во время конвертации. Вместо этого акции становятся отдельными элементами

Таким образом, вашему сценарию потребуется перечислить все ссылки и создать программные ссылки между их исходным каталогом и вновь созданным отдельным элементом.

Но я полагаю, что вы, возможно, захотите рассмотреть другую организацию для целевого репозитория ClearCase, в которой все общие файлы больше не используются напрямую, как иллюстрируется этим ответом (для репозитория SVN в данном случае) :

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

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

I работает в основном с UCM , и все эти "общие ресурсы" являются естественным кандидатом на компонент UCM , с базовыми показателями UCM для обозначения их другой версии, и вы можете затем сделать свой собственная «конфигурация» (список меток) для выбора различных необходимых вам компонентов, что позволяет легко использовать их в разных проектах.

...