svn import беспорядок, ничего не на стволе

Я посмотрел на как создать каталог магистрали в существующем репозитории 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 является частью начального коммита, история на самом деле не позволяет провести чистое слияние.

Могу ли я использовать предложение копирования и фиксации выше? Или в этом случае нужен другой способ?


person javafueled    schedule 08.11.2010    source источник
comment
Возможно, мне что-то не хватает, но похоже, что ваша цель - переместить все из / branch / branch1 / file1 и т. Д. В / trunk / file1 и т. Д. Похоже, svn move решит эту проблему ...   -  person ThatBlairGuy    schedule 08.11.2010
comment
И да и нет. Без истории на стволе я не могу просто svn move попасть на ствол. Это перенесет историю ветки в ствол, но оставит ветку пустой. К сожалению, наш процесс сборки на этом остановится. Я все же решил это. Может быть, это не основанная на рекомендации рекомендация, но она выполнила то, что наша организация сочла бы приемлемым: скопируйте файлы в транк, сделайте фиксацию и ветвь для новой строки выпуска.   -  person javafueled    schedule 09.11.2010


Ответы (1)


Я решил это с помощью комбинации нескольких вещей здесь, в SO.

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

Вместо этого я скопировал файлы в основной каталог, без .svn каталогов, конечно, через svn export и зафиксировал их.

Кто-то может сказать, что вы просто потеряли историю. Я не так уверен в этом. История ветки все еще существует, и новая ветка была создана из ствола. Предыдущая ветвь остается активной и может быть удалена, если процесс позволяет, помечен как EOL и т. Д.

Обратная связь приветствуется.

person javafueled    schedule 09.11.2010