Наша компания недавно начала создавать ветки CVS, чтобы отмечать каждый релиз. Раньше мы использовали теги, и если в течение периода тестирования мы исправляли что-то, что требовалось выпустить в релиз, мы просто перемещали тег вперед. Это работает хорошо, пока в один и тот же файл не внесены два изменения: одно должно быть выпущено, а другое - нет. Теперь нам нужно применить одно и то же изменение и к заголовку, и к ветке релиза.
Я использую плагин Eclipse CVS для взаимодействия с CVS. Когда я просматриваю историю файла, я вижу тег i20090529Release в разделе «Теги» (в данном случае это ревизия 1.30 файла), а когда я «Показать средство просмотра тегов» в представлении «История», значок указывает, что это ветвь. тег, в отличие от тега версии. Когда я смотрю на ревизии, которые были зафиксированы с тех пор, как произошла ветвь, я вижу, что следующая ревизия, внесенная в заголовок, становится версией 1.31, а следующая ревизия, внесенная в ветку, становится версией 1.30.2.1. У меня вопрос, почему тег i20090529Release остается с версией 1.30 файла, которая не является самой последней версией в ветви i20090529? Это действительно добросовестный «тег», или это скорее концептуальная идея, что ветвь начала разветвляться в этот момент? Я заметил, что не могу применить этот тег к любой другой ревизии файла. Почему он вообще отображается в столбце «Теги»?
Заранее благодарим за любые разъяснения, которые вы можете предоставить.