Я обязан политикой использовать CVS в этом конкретном проекте, поэтому даже если бы я действительно переключился на что-то другое, например Git, я не могу.
Итак, мой настоящий вопрос звучит так: у нас есть соглашение, что мы создаем новую ветку в CVS каждый раз, когда делаем релиз (мы также помечаем теги, но это не главное). Мы называем эти ветки версий, и они позволяют нам легко проверять конкретную версию и вносить в нее исправления - это то, чем являются наши минорные релизы.
Но теперь у меня есть несколько крупных рискованных изменений, и если бы я работал в Git, я бы создал ветвь функций в мгновение ока. Однако, работая в CVS, я попытался создать функциональные ветки в другом проекте и обнаружил, что все быстро оказалось грязным. В результате у меня появилось много веток, и я потерял счет того, какие ветви были синхронизированы, которые нуждались в объединении и которые больше не использовались.
Итак, ближе к вопросительному знаку, возможно ли использовать ветви функций в CVS? Слишком много проблем, чтобы стоить того, или я в итоге извинюсь за то, что не использовал их? Должен ли я прикусить пулю и просто начать кодирование в HEAD, но согнуть процесс кодирования, чтобы внести изменения самым ненавязчивым способом?