SVN, чтобы Очистить Экспорт - PullRequest
5 голосов
/ 06 августа 2009

У меня есть клиент, который довольно настаивает на использовании Clearcase. Существуют ли какие-либо инструменты / сценарии, которые позволили бы моей команде работать с SVN-репозиторием (или действительно что-нибудь , кроме Clearcase), но периодически автоматически синхронизировать обратно наборы изменений с Clearcase VOB?

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

Спасибо, Kent

Ответы [ 7 ]

3 голосов
/ 06 августа 2009

Я использую Git непосредственно в представлении ClearCase.
Тогда я мог бы git2svn вернуть содержимое в SVN, если бы у меня был репозиторий SVN для синхронизации.

Примечание: чтобы инструмент работал непосредственно в представлении ClearCase, я должен использовать представление снимка, чтобы записывать файлы, даже если они еще не извлечены. Затем для любого действия, которое я считаю завершенным, я обновляю представление снимка, которое позволяет мне перечислять все «похищенные» файлы. Я проверяю их, затем регистрирую их.


Проблема, с которой я столкнулся бы при работе с SVN в этом случае (репозиторий ClearCase для клиента), заключается в следующем:

  • представил еще один центральный репозиторий (то есть, для фиксации у вас должен быть доступ к вашему частному центральному SVN-репозиторию, а для «фиксации на клиенте» - центральный ClearCase VOB - Version Object Base, "хранилище" в жаргоне ClearCase).
  • представил другое моделирование ветвей, где в SVN это дешевая копия в каталоге, тогда как в ClearCase это метаданные (ветка), не представленные в виде каталога. Это означает, что физическое дерево проверки SVN может не соответствовать обновлению представления снимка в ClearCase, поскольку некоторые каталоги, извлеченные SVN, просто не будут существовать в ClearCase.

По крайней мере, с Git у вас есть:

  • частный репозиторий (вы не добавляете другой центральный репозиторий, к которому у всех должен быть доступ)
  • та же модель ветвления (по крайней мере, когда речь идет о «не представлении ветви каталогом»)
2 голосов
/ 24 октября 2009

Нам нужно было именно это для проекта, в котором я был. Команде было более комфортно в SVN, а корпоративным стандартом был ClearCase. Поэтому я написал скрипт для непрерывного переноса транка в прозрачный регистр и запустил его на нашем сервере сборки.

Я поместил скрипт здесь: http://dvae.net/blog/2009/09/clearcase-to-svn/

Мы настроили задание на нашем сервере сборки, который периодически запускался и выполнял миграцию с использованием clearfsimport. Мы использовали Luntbuild в качестве сервера сборки, но круиз-контроль тоже подойдет. Как и при обычной сборке, мы устанавливаем скрипт для запуска только при обнаружении модификаций svn. Работа выполнялась каждые 20 минут, поскольку сервер ClearCase находился в другой стране, и все операции выполнялись медленно, а синхронизация выполнялась в течение 40 минут. Я предлагаю бегать так часто, как вы можете.

Сценарий основан на ClearCase UCM, если вам нет необходимости удалять «cleartool mkact» и в конце создать метку вместо базовой линии.

Я установил комментарий в чистом виде как объединение всех коммитов SVN с момента последней синхронизации.

Я нашел это надежным, и единственная причина, по которой он потерпел неудачу, заключалась в том, что триггеры Clearcase (например, триггер «злой двойни») остановили регистрацию. Когда это происходит, сборка завершается неудачно, Lunbuild отправляет электронное письмо, и тогда мне приходится вручную выполнять обратное слияние истории, чтобы избавиться от проблемы злых двойников, зафиксировать и повторно запустить.

1 голос
/ 13 апреля 2012

Существует также коммерческий инструмент от Clearvision для этой цели, который доступен здесь:

http://www.clearvision -cm.com / ClearCase-подрывная-ГИТ-ртутный-integration.html

Может синхронизировать clearcase с subversion, git или Mercurial.

1 голос
/ 07 сентября 2009

Да, CollabNet предлагает коммерческий продукт специально для этой цели, который называется CollabNet Subversion Connector.

1 голос
/ 26 августа 2009

Если у clearcase есть поддержка командной строки, вы сможете написать скрипт для проверки в clearcase и настроить svn для его автоматического выполнения при фиксации кода ( ловушка после фиксации )

1 голос
/ 12 августа 2009

Только к вашему сведению: это может быть полезно для вас: Переход от SVN к ClearCase

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

0 голосов
/ 29 августа 2009

Эта статья описывает несколько способов для этого:

http://www -01.ibm.com / поддержка / docview.wss? Ratlid = cctocbody & Rs = 984 & UID = swg21258843 .

В основном варианты:

1) Если вы не заинтересованы в ведении истории версий и просто хотите начать с последней версии или предварительно выбранной конфигурации, вы можете использовать команду clearfsimport . Обратитесь к справочному руководству по командам ClearCase по теме clearfsimport (cleartool man clearfsimport) для получения дополнительной информации.

2) Если вам требуется история версий, вы можете оценить инструмент с открытым исходным кодом svn2cc .

ДОРАБОТКИ:

  1. В Subversion можно создавать представления, представляющие определенные вехи в потоке разработки. Оттуда вы можете импортировать версии из каждого представления последовательно, используя вышеупомянутую команду clearfsimport. Команда clearfsimport в этом сценарии будет создавать новую версию элемента при каждом запуске, применяя метку к импортированным версиям автоматически.

  2. Вы можете попробовать использовать clearexport_cvs, так как хранилище Subversion очень похоже на хранилище CVS (Concurrent Versions System), для получения дополнительной информации об этой утилите экспорта смотрите IBM Rational ClearCase Command Reference.

...