Я смотрю на работу с Subversion с использованием Netbeans и задаюсь вопросом, насколько просто поддерживать разные версии (ветви) кода.
В настоящее время у нас есть Sourcesafe с единой версией кода, которая поддерживается в Netbeans,Теперь у нас больше клиентов, поэтому нам нужно поддерживать разные версии программного обеспечения.
Как я понимаю в Subversion, у вас есть папка ствола, которая является основной / рабочей ветвью кода.Затем, поскольку требуются разные версии, вы разветвляете код под ветви.Поэтому, думая о том, как все может выглядеть в будущем, можно использовать следующую иерархию:
product\trunk
product\branches\version 1.0.0.0
product\branches\version 1.0.0.1
product\branches\version 1.0.0.2
product\tags
Под транком и для каждой версии (т. Е. Версии 1.0.0.0, версии 1.0.0.1 и версии 1.0.0.2) у вас естьта же иерархия папок проекта Netbeans, например:
src
lib
test
Где lib содержит файлы JAR, используемые проектом, которые могут быть разработаны сторонними разработчиками.src будет содержать десятки, сотни, тысячи классов исходного кода, используемых приложением.Надеемся, что test будет содержать тестовые классы для эквивалентных классов исходного кода.
nbproject - это папка, специально используемая Netbeans для хранения различных настроек проекта.Netbeans обычно создает папку dist, когда вы компилируете свое приложение, которое представляет собой скомпилированный JAR-файл и JAR-файлы, на которые он ссылается, в папке lib.
У меня есть пара вопросов:
- Есть ли причина не добавлять папки nbproject, lib и dist в систему контроля версий?
При ведении различных версий кода в Netbeans необходимо ли создавать отдельный проект Netbeans для каждоговерсия исходного кода?В сущности, в представлении проектов в Netbeans вы должны иметь:
- Ствол продукта
- Версия продукта 1.0.0.0
- Версия продукта 1.0.0.1
- Версия продукта 1.0.0.2
- ... и так далее ...
- Версия продукта XXXX
Из того, что я виделSubversion обладает лучшей функциональностью слияния, чем Sourcesafe, и многими другими лучшими функциями.Он также интегрируется с Netbeans, что является еще одним большим плюсом.Я уже создал тестовое хранилище со стволом и одной разветвленной версией, в которую я слил файлы из разветвленной версии обратно в ствол с несколькими конфликтами в одном файле.