Ветви для каждой маленькой перемены? - PullRequest
18 голосов
/ 17 ноября 2008

У нас есть клиент (у которого есть клиент, у которого есть клиент), который сводит нас с ума запросами на изменение базы кода (в PHP). Наш первый ответ состоял в том, чтобы просто работать в главном соединительном канале в SVN, но клиент часто возвращается и запрашивает, что определенное изменение должно быть передано живым серверам как можно скорее. С другой стороны, другие изменения внезапно уменьшаются по приоритету, которые изначально были сгруппированы с другими изменениями (по-видимому).

Мы думаем об использовании ветки для каждого запроса на изменение. Это безумие? Какие другие решения могут работать?

Спасибо!

Редактировать : Это действительно сложный вопрос, чтобы выбрать правильный ответ. Спасибо всем за ваши великолепные ответы.

Редактировать : Я знаю, что лучший ответ, который я выбрал, не был особенно популярен. Я тоже хотел найти техническое решение этой проблемы. Но теперь я думаю, что если клиенту требуется программное обеспечение с функциями, которые могут быть развернуты по модульному принципу ... эта проблема должна решаться , а не при использовании нами системы контроля версий. Это должно быть вписано в программное обеспечение.

Редактировать : Теперь, спустя почти месяц, мой коллега / клиент убедил меня, что несколько веток - это путь. Это происходит не только из-за безумия клиента, но и из-за того, что мы должны быть в состоянии определить, «готова ли функция к работе» или «нужно больше работать» или что-то еще. У меня нет SVN, но мы объединяемся по совету из SVN Cookbook: вы объединяете ветку из ревизии, которая была разветвленной, до головной ревизии.

Кроме того, используя эту систему, мы объединяем все ветви в какой-то момент, и это становится новым QA, а затем - живая сборка. Тогда мы разветвляемся от этого.

Последнее редактирование (возможно): Несколько месяцев спустя эта система все еще работает для нас. Мы создаем ветки для каждого тикета и редко сталкиваемся с проблемами. С другой стороны, мы стараемся отделить вещи от того, над чем работают люди ...

Два года спустя: Мы сейчас используем GIT, и теперь эта система на самом деле вполне разумна.

Ответы [ 11 ]

0 голосов
/ 17 ноября 2008

Когда вы делаете много быстрых изменений в «живой» ветке проекта, вам нужно иметь твердый процесс проверки кода, чтобы уменьшить вероятность его взлома. Проверка кода должна быть сделана до регистрации; и держитесь подальше от разработки ядра из этой ветки.

Как только изменение будет одобрено, вы можете зарегистрировать изменение (и / или объединить с вашей рабочей веткой) и создать новый "тег", как только оно будет сделано.

...