Ветвление из тега - PullRequest
       30

Ветвление из тега

7 голосов
/ 25 мая 2010

Я ищу мнения здесь. Следующее может рассматриваться как вопрос, относящийся к SVN, или как более общий вопрос управления версиями.

Если источники проекта должны быть разветвлены в точке, соответствующей релизу, возможно, для работ по техническому обслуживанию, предпочтительно:

(a) ответвление от тега или

(b) ответвление от узла (например, на транке), который копирует тег?

Каковы плюсы и минусы этих двух подходов? Это имеет значение вообще?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 25 мая 2010

Я бы предложил (б), так как это позволит вам легко передать слияние обратно в транк, используя отслеживание слияния svn (при условии, что у вас есть svn 1.5+ на стороне сервера и клиента). Если бы вы использовали технику (а), вам бы пришлось самостоятельно управлять слияниями, что неплохо, если бы вы не делали несколько слияний из одной и той же ветви. Учитывая, что вы рассматриваете возможность создания ответвления из тега, что обычно для исправлений, вам, вероятно, в конечном итоге потребуется несколько раз объединиться с вашей магистральной линией, чтобы вернуть эти патчи в ствол.

Теги - это предпочтительный способ делать «моментальные снимки» во времени или отмечать этапы определенной строки кода (будь то ствол или ветвь) только для быстрого создания определенного этапа из источника, который был помечен как этап. или для легкого различия между вехами. Кроме этого, вся работа выполняется между стволом и ветвями. Как уже отмечалось, вы можете легко найти ревизию / источник, из которого был легко скопирован тег, используя svn log. Например, svn log --stop-on-copy -v tags/yourtag поместит последнюю скопированную ревизию в конец вывода. Это позволяет вам создать из ревизии ветку активной строки кода, из которой был создан тег.

4 голосов
/ 25 мая 2010

По моему мнению, я бы пошел (а) по маршруту, если я собираюсь добавить и пропатчить основной проект позднее, и уйти (б), если я собираюсь разработать что-то параллельное.

0 голосов
/ 25 мая 2010

В частичном ответе на мой вопрос:

(a) имеет то преимущество, что ветвь более очевидно связана с конкретным релизом или кандидатом на релиз

(b) имеет то преимущество, что пересмотр ствола, связанный с ветвью, становится более очевидным

В любом случае, можно установить одно из другого, хотя, возможно, легче получить к стволу из тега, чем найти тег из ствола. Таким образом, в этом отношении (а) представляется предпочтительным.

Кроме того: при объединении обслуживания филиала обратно в магистраль (b) представляется более естественным вариантом.

Буду признателен за любые дальнейшие мнения, мысли или ссылки.

...