У нас есть проекты в SVN, и я пытаюсь повысить уровень автоматизации в нашем процессе выпуска.
Исторически мы разрабатывали в основной строке, а затем добавляли теги при выпуске, что влекло за собой ручную (хотя и незначительную) работу по созданию фактического тега и последующему увеличению номера версии в исходных файлах перед следующим тегом.
Сейчас мы используем Jenkins, и я настроил наши проекты для встраивания версии SVN и номера сборки Jenkins в результирующие EXE и DLL и т. Д. Я пытаюсь пойти по пути использования ветвей выпуска, а не тегов. Так что в идеальном мире ветка выпуска никогда не будет обновляться, но мы позволим себе применить незначительные исправления ошибок.
При использовании Jenkins и SVN, на мой взгляд, значение традиционного тега было уменьшено, поэтому я сейчас думаю, что не нужно вообще беспокоиться о необходимости ручного тега в нашем процессе выпуска. Это как если бы каждая фиксация помечена номером ревизии SVN.
Итак, мой вопрос в том, где мне разместить эти ветки выпуска:
- В
branches
- Но тогда они просто загромождаются ветками разработки и т. Д. - В
tags
- Потому что они будут неизменными в хороший день, но это нарушает условности? Смущаете новых сотрудников? - В новом каталоге
releases
- поскольку это новое соглашение, оно будет предупреждать людей о его немного нестандартном использовании.
Будет ли добавление нестандартного каталога на том же уровне, что и ствол, доставить мне неприятности с другими инструментами? Черепаха и др.