2010-04-30 3 views
0

Я пытаюсь мигрировать в SVN из не так известной системы управления версиями (назовём это nsfvc). svn trunk был создан некоторое время назад из ствола nsfvc. В nsfvc есть активная ветвь, которую я должен импортировать в ветвь svn. Разница между стволом и веткой nsfvc огромна (обновления, переименования, добавления, удаления, перемещения).Импорт/совершить Svn ветви с другой кодовую

Как мне это сделать? Я предполагаю, что это не так просто, как ...

svn co http://mysvn/repo/branches/branch c:\workspace 
# replace files in c:\workspace 
svn add 
svn ci 
+0

Если вы не бежите в проблему, которая должна работать правильно ? –

+0

@John W Я еще не пробовал, хотя я провел несколько тестов в своей песочнице. Не хотел ничего пропускать. Итак, проверяя с вами, ребята. – publicRavi

+0

Похоже, вы на правильном пути. Вероятно, слишком поздно предлагать, но если это первый раз, когда вы, ребята, будете использовать SVN, вы можете подумать о переносе вместо этого в DVCS, таком как mercurial или git. У них есть лучшая поддержка для слияния и ветвления, поэтому использование одного может сделать вашу жизнь намного проще в долгосрочной перспективе ... –

ответ

1

Я надеюсь, что я не недоразумение, но мой совет:

  • создать Svn ветвь от nsfvc ветви таким же образом вы создали соединительную линию svn из магистрали nsfvc. (Я предполагаю, что импорт SVN?)

  • в этот момент вы должны иметь зеркальную состояние nsfvc хранилища в хранилище SVN

  • теперь вы должны быть свободны в SVN слияния между стволом СВН и СВН ветви. svn merge - это просто процесс применения diff. Вам не нужно настраивать какое-либо специальное соединение между соединительной линии и веткой.

  • если вы работаете Svn 1.5.x или 1.6.x, вы можете использовать SVN mergeinfo для отслеживания последующих слияний между стволом и ветвями

+0

Вопрос: Когда ветка создается путем запуска svn-копии, svn не дублирует все файлы. Он делает «мягкую копию». Если я прибегну к импорту в филиал, этого не произойдет. Я все еще склоняюсь к своему плану (по моему вопросу). Как вы думаете? – publicRavi

+0

Вы правы. («дешевая копия» - это термин SVN). Если вы импортируете в филиал, он будет занимать столько места на жестком диске, как первоначальный импорт в багажник. Конечно, любые последующие действия были бы дешевыми копиями. Это действительно проблема? Я не вижу, что вы действительно теряете что-либо, потому что это одноразовая вещь, которую вы делаете (т.е. настройка ветки), и пространство на жестком диске в наши дни не так скудно ... –

+0

Вы собираюсь ненавидеть меня за это :) Я следил за своим планом, и все выглядит хорошо. Принято для усердия. – publicRavi

Смежные вопросы