ClearCase эквивалент SVN 'svn: externals' - PullRequest
1 голос
/ 08 декабря 2010

На работе мы используем ClearCase в качестве нашего хранилища исходного кода.Я хочу найти эквивалент 'svn: externals', но для ClearCase.Есть ли такая вещь?

Ответы [ 2 ]

1 голос
/ 08 декабря 2010

В ClearCase нет эквивалента свойству Subversion svn:externals. Самое близкое, что вы можете получить, это использовать внутренние символические ссылки ClearCase с помощью команды cleartool ln -s. Если вы связываете файлы, вы можете попробовать использовать жесткие ссылки, но они могут вызвать путаницу среди пользователей.

У меня были проблемы с svn:externals, и я перестал их использовать. Слишком легко указать активно меняющуюся HEAD в качестве ссылки svn:externals, а затем забыть об этом при создании тега. Это может привести к изменению вашей версии с тегами без вашего ведома.

Чтобы обойти это, вы должны пометить только указанную ревизию И , убедитесь, что вы используете закрепление ревизии, так как более поздняя ревизия может переместить или удалить дерево каталогов, на которое вы ссылались. (Спорят, считается ли ссылка на каталог tags указанной версией или вам действительно нужно использовать -r).

Лучшим способом является обработка каталогов из подкомпонентов, на которые вы ссылаетесь с помощью таких вещей, как svn:exterals, как фактических выпусков и сохранение их на каком-либо сервере выпусков. Когда вы выполняете сборку своего приложения, вы копируете необходимые файлы с сервера релизов в свой проект так же, как это делают Maven и Ant / Ivy. Если ваш релиз на самом деле является просто исходным кодом, вы можете сохранить его на своем сервере релизов как tarball.

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

0 голосов
/ 08 декабря 2010

Не совсем:

  • только ClearCase UCM подходит для того, чтобы иметь возможность ссылаться на набор файлов с точной меткой (базовая линия)
  • нет способа включить набор файлов (компонентов) в компонент
...