Ветка из ветки: переход в нормальную ветку - PullRequest
2 голосов
/ 03 мая 2011

Обычно я создаю ветви из ствола, работаю с ними и, в конце концов, реинтегрирую их обратно в ствол.

Иногда я создаю ветку Y из другой ветви X, чтобы я мог начать с кода X.Обычно я сначала реинтегрирую Y в X, а затем реинтегрирую X в транк.

Y --> X --> trunk

Но что, если я сначала хочу реинтегрировать X в транк, и я больше не хочу, чтобы Y зависел от X?Другими словами, я хочу, чтобы Y был нормальной ветвью, чтобы я мог объединить его напрямую и из магистрали, не проходя через X.

Y --> trunk
X --> trunk

Что мне делать?Один из подходов - создать новую ветвь и объединить в ней все изменения Y.Но я бы хотел продолжать использовать Y, если это возможно, чтобы не потерять следы его истории.Это возможно?

1 Ответ

0 голосов
/ 04 мая 2011

Subversion не отслеживает никаких зависимостей между ветвями. Это только хранит историю и историю слияний.

При слиянии Y с X svn вставляет информацию о слиянии, которое только что произошло. Когда вы объединяете X обратно в транк, эта информация распространяется в транк. Таким образом, изменение никогда не будет применено дважды при последующих слияниях. Независимо от того, как были сделаны эти слияния.

Вы должны просто слить X в транк, а затем работать с Y, как X никогда не существовало. Объединяйтесь с транком, если хотите, или просто продолжайте работать над ним, если хотите.

В ветках svn нет никаких зависимостей или чего-либо еще.

...