SVN к экспорту Clearcase

Ничего себе, я почти очень не хочу добавить другой ответ, когда у нас есть 57 различных способов рекомендовать эти NullObject pattern, но я думаю, что некоторые люди, заинтересованные этим вопросом, хотели бы знать, что существует предложение по таблице для Java 7 для добавления "пустая безопасная обработка" — оптимизированный синтаксис для if-not-equal-null логики.

пример, данный Alex Miller, похож на это:

public String getPostcode(Person person) {  
  return person?.getAddress()?.getPostcode();  
}  

?. средства только разыменовывают левый идентификатор, если это не является пустым, иначе оцените остаток от выражения как null. Некоторые люди, как член Отряда Java Dick Wall и эти избиратели в Devoxx действительно любят это предложение, но также существует оппозиция, на том основании, что это на самом деле поощрит больше использования null как значение сигнальной метки.

Обновление: официальное предложение по пустому безопасному оператору в Java 7 было отправлено под Монета Проекта. синтаксис немного отличается, чем пример выше, но это - то же понятие.

Обновление: пустое безопасное предложение по оператору не превращало его в Монету Проекта. Так, Вы не будете видеть этот синтаксис в Java 7.

5
задан Kent Boogaart 6 August 2009 в 16:24
поделиться

6 ответов

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

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


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

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

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

  • частный репозиторий (вы не добавляете еще один центральный репозиторий, к которому все должны иметь доступ)
  • та же модель ветвления (по крайней мере, когда дело доходит до «не представления ветви по каталогу»)
3
ответ дан 14 December 2019 в 01:13
поделиться

Просто к сведению: Это может быть вам чем-то полезно: Переход с SVN на ClearCase

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

1
ответ дан 14 December 2019 в 01:13
поделиться

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

1
ответ дан 14 December 2019 в 01:13
поделиться

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

http://www-01.ibm.com/support/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.

0
ответ дан 14 December 2019 в 01:13
поделиться

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

1
ответ дан 14 December 2019 в 01:13
поделиться

Нам нужно было именно это для проекта, над которым я работал. Команде было удобнее в svn, а корпоративным стандартом был ClearCase. Итак, я написал сценарий для непрерывной миграции транка в clearcase и запустил его на нашем сервере сборки.

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

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

Сценарий основан на ClearCase UCM, если вы не должны удалить 'cleartool mkact' и в конце создать метку вместо базовой линии.

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

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

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

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

2
ответ дан 14 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: