2012-05-28 4 views
0

Я пытаюсь перенести свое подчиненное репо на Atlassian. Atlassian требует, чтобы импортированный дамп репо имел корневой каталог с тем же именем, что и проект на проект. Предположим, что мой ключ проекта в Atlassian - FOOBAR, тогда дамп репо должен содержать/FOOBAR для всех изменений. Он также должен содержать подкаталоги соединительных линий, филиалов и тэгов.Миграция svn от Assembla до Atlassian

Чтобы переписать Svn дамп Assembla, я сделал это:

cat foobar-assembla.dump | svn-dump-reloc "/" "FOOBAR" > foobar-atlassian.dump 

Затем я попытался тестирования:

svnadmin create test 
cat foobar-atlassian.dump | svnadmin load test 

Это произведено сообщение об ошибке:

svnadmin: File not found: transaction '0-0', path 'FOOBAR/trunk' 
* adding path : FOOBAR/trunk ... 

Любые идеи ?

ответ

0

Следующие работал для меня.

Используя текстовый редактор со всеми опциями преобразования выключен:

  1. Заменить все экземпляры Node-path: trunk с Node-path: FOOBAR/trunk.
  2. В редакции, в которой создается FOOBAR/trunk, вручную добавить запись непосредственно перед тем, который добавляет FOOBAR/trunk, который создает FOOBAR, FOOBAR/branches и FOOBAR/tags.

Я понимаю, что это может не работать в некоторых случаях, например, когда Node-path: trunk происходит внутри самого файла. Но он работал в этом случае и должен работать в большинстве других.

1

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

Попробуйте запустить svn mkdir file://$PWD/test/FOOBAR непосредственно перед svnadmin load test.

Чтобы дать кредит, где это связано, я получил этот совет от http://dotslashstar.blogspot.com.au/2011/06/svn-hack-insert-missing-trunk-root.html

+0

+1: Хотя я нашел свой собственный путь с помощью текстового редактора (nano), я могу видеть, как 'svn mkdir' ** перед **' svnadmin load' может работать. –

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