Мы используем Subversion, и помимо нескольких людей, таких как я, практически нет опыта с ветвлением и слиянием в Subversion. Мой опыт Subversion ограничивается простыми ветвями функций, где слияние и древовидные конфликты, хотя и не совсем редки, не очень трудно разрешить.
Учитывая это, я помогаю управлять проектом, в котором наш текущий метод передачи транков просто неустойчив для наших нужд. Я ввел функции ветвления и слияния с моей локализованной командой, и у нас был некоторый успех. Однако простейшая функция ветвления все еще не могла ответить на все наши вопросы, такие как:
- Как мы разрабатываем параллельный код для этой версии и последующих выпусков?
- Какой код считается стабильным?
- Что (в разработке) код входит в следующую версию?
- Что (в разработке) код входит в следующую версию?
- Какая версия кода является нашей тестовой, приемной или производственной средой?
- Как мы интегрируем параллельные действия разработки с известным стабильным выпуском, чтобы уменьшить ввод ошибок и неполную работу?
- Как предоставить горячие исправления выпущенному коду?
- Как мы знаем, из нашего источника контроля, какая деятельность в настоящее время продолжается?
- Как мы экспериментируем или R & D без нарушения текущей базы кода при использовании?
Похоже, что git -flow, как определено здесь, будет долгим ответом на многие из этих вопросов. Я экспериментировал с этим методом в Mercurial, и похоже, что этот метод можно реализовать и там. К сожалению, переход на DVCS сейчас не работает.
Однако моя краткая попытка имитировать этот метод в Subversion не удалась со многими конфликтами слияния и дерева. Варианты слияния и краевые случаи многочисленны и непонятны.
Может ли Subversion использоваться git -flow, и если да, то какой уровень боли?