Думаю, я бы ожидал увидеть cspec, подобный этому:
elements * CHECKEDOUT
elements * .../my_feature_branch/LATEST
elements * .../pilot/LATEST -mkbranch my_feature_branch
elements * /main/LATEST -mkbranch my_feature_branch
-mkbranch
в последней строке отвечает на ваш вопрос. Строка 2 гарантирует, что вы используете свою ветвь функций, когда она существует. Изменения в строке 3 должны работать лучше, чем в строке 2 (если только в CC 7.1.2 нет новых сокращений, позволяющих работать вашей старой версии; похоже, я использую 7.0.x).
Относитесь к моему ответу с некоторой осторожностью - см. ответ по VonC для альтернативного способа сделать это. Ясно, что есть некоторая проблема, которую VonC видит при таком подходе. Тем не менее, команда, над которой я работаю, занималась именно этим в течение многих лет (примерно с 1994 года), не сталкиваясь с проблемами, которые так взволновали VonC. Кроме того, для нанесения полной метки на набор VOB, составляющих наш набор продуктов, требуется около 12 часов (где-то около дюжины крупных многобайтовых VOB, как нам кажется). Я проверил время с нашим гуру CC, и он отметил, что мы не будем в ближайшее время переходить на UCM, частично из-за этой проблемы с маркировкой.
Итак, лучшая современная практика с небольшими VOB может использовать метку, созданную специально в качестве отправной точки для ветви функций, но не все системы используют их. Опытным путем метка не нужна. Я не уверен, какие другие «лучшие практики» (или «худшие практики, которые компенсируют недостаток лучших практик») у нас могут помешать нам столкнуться с проблемами.