Прежде всего, все разрешено в Subversion, но есть "лучшие практики".
ствол, ветвь и теги - это всего лишь соглашения о присвоении имен, вы можете хранить свои файлы в любом месте, даже если это несколько стволов. Важно, чтобы слияние с работой выполнялось svn copy
при создании новой ветви и фиксация всех каталогов и файлов при слиянии.
Итак, из вашего вопроса, я полагаю, вы когда-то сделали svn copy svn://host/trunk svn://host/unstable_trunk
. Это хорошо, хотя не совсем нормальная лучшая практика.
Теперь, когда вам захочется перейти с транка на unstable_trunk, вы должны запустить 'svn merge ^ / trunk', стоящий внутри вашей рабочей копии unstable_trunk. Как только вы разрешили конфликты, вы делаете svn commit -m'merged changes from trunk'
. Это запишет свойство svn с именем svn: mergeinfo на всех затронутых узлах, чтобы будущие слияния знали, что уже объединено. Я считаю, что лучше всего убедиться, что вы делаете этот коммит в корневом каталоге.
Также важно, чтобы вы выполняли только одну реинтеграцию из ветви обратно в транк.