Каков наилучший способ исключить ревизию из багажника, а затем вернуть ее позже? - PullRequest
0 голосов
/ 27 июля 2011

Мы используем svn и у нас есть код, который должен выйти через несколько дней, но есть одна ревизия, которую мы хотим исключить из нашей сборки, так как у нас не будет времени полностью ее проверить. Какой лучший способ исключить эту ревизию из транка?

Должны ли мы создать ветку с этой ревизией, отменить изменения этой ревизии в транке, а затем, когда код выйдет, слить ревизию из этой ветви обратно в транк?

Ответы [ 2 ]

2 голосов
/ 27 июля 2011

Как вы указываете, что входит в сборку?Это целое дерево в хранилище, или вы используете svn: externals или как?

Если вы используете svn: externals, то вы можете просто применить номер ревизии к этому компоненту.

Если вы проверяете все дерево, вы можете отменить изменение, пока не сделаете релиз.Вам не нужно сохранять его в ветке, он все еще там, в хранилище.

Итак,

svn merge -c -<revision-no>

должны отменить изменения, внесшие эту конкретную ревизию.(Затем вам нужно совершить).

Если ревизия затронула не только этот компонент, то вы можете ограничить объединение только этим компонентом.

Затем после этого вы делаете еще одно «слияние» для повторного применения изменения:

svn merge -c <revision-no>

(обратите внимание на отсутствие «-» перед номером редакции).

1 голос
/ 27 июля 2011

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

То, что вы предлагаете, это ИМХО лучший способ продолжить.

Создайте ветку или тег, чтобы сохранить изменения, а затем вернуться к стволу. Позже, когда вы будете готовы интегрировать изменения, вам просто нужно объединить ветку и повторить.

...