Я посмотрел на как создать каталог магистрали в существующем репозитории svn без магистрали и переместить все, и это может быть применимо, однако у меня есть "ствол", но способ, которым разработчик, при этом старший, импортировал проект в репозитории svn может дать заметную разницу.
При просмотре журнала выясняется, что разработчик локально создал дерево svn, каталог trunk/branches/tags
, создал все файлы в каталоге branches
, затем при первоначальном импорте в svn
зафиксировал ствол и теги как часть фиксации веток.
Это означает, что история копирования в ветку отсутствует. Бревно, почти верное, это:
% cd work
% mkdir -p project/trunk project/branches project/tags
% cd project/branches
... begin a bunch of work on a java service v1.0
... happy lets import to svn
% cd ..
% pwd project
% svn import -m"Initial import"
A branches
A branches/file-n
A branches/file-n ...
A tags
A trunk
Sending...
Committed rn
% svn mv $repos/project $repos/project_name
...
Committed rn
Так что svn merge
здесь не работает. trunk
является частью начального коммита, история на самом деле не позволяет провести чистое слияние.
Могу ли я использовать предложение копирования и фиксации выше? Или в этом случае нужен другой способ?
svn move
попасть на ствол. Это перенесет историю ветки в ствол, но оставит ветку пустой. К сожалению, наш процесс сборки на этом остановится. Я все же решил это. Может быть, это не основанная на рекомендации рекомендация, но она выполнила то, что наша организация сочла бы приемлемым: скопируйте файлы в транк, сделайте фиксацию и ветвь для новой строки выпуска. - person javafueled   schedule 09.11.2010