VisualSVN - объединение ревизий в одну

У нас есть сервер с бесплатным сервисом VisualSVN. Поскольку мы хотим освободить на нем немного места, я решил объединить версии некоторых старых проектов. Они больше не используются (старые ревизии).

Чтобы проверить это, я создал локальный сервер visualsvn на машине Win7. Я создал проект репозитория под названием «test» и некоторый инструмент Python, который при необходимости вызывает svnadmin.

Я зафиксировал текстовый файл с 5 ревизиями.

Дамп, сохраняю этот проект:

E:\Repository_Saver>dump.py
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe dump e:\Repositories\te
st -r 5 >E:\Repository_Saver\test.dump
* Dumped revision 5.

Восстановить в этот проект (не удаляя его). У меня ошибка:

E:\Repository_Saver>restore.py
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load e:\Repositories\te
st --ignore-uuid
<<< Started new transaction, based on original revision 5
     * adding path : trunk ...svnadmin: File already exists: filesystem 'e:\Repo
sitories\test\db', transaction '5-6', path 'trunk'

Я создал новый каталог проекта с VisualSVN и попытался восстановить дамп:

E:\Repository_Saver>restore.py
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load e:\Repositories\te
st2vs --ignore-uuid
<<< Started new transaction, based on original revision 5
     * adding path : trunk ...svnadmin: File already exists: filesystem 'e:\Repo
sitories\test2vs\db', transaction '1-1', path 'trunk'

Я попытался восстановить в несуществующий каталог проекта:

E:\Repository_Saver>restore.py
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load e:\Repositories\te
st2notexists --ignore-uuid
svnadmin: Can't open file 'e:\Repositories\test2notexists\format': A rendszer ne
m találja a megadott elérési utat.
(The system not found the path)

Я создал проект test2 только с svnadmin. Попробуйте восстановить здесь:

E:\Repository_Saver>restore.py
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load --ignore-uuid e:\R
epositories\test2
<<< Started new transaction, based on original revision 5
     * adding path : trunk ... done.
     * adding path : trunk/akarmi.txt ...svnadmin: Checksum mismatch, file '/tru
nk/akarmi.txt':
   expected:  c8f86f8733e4cb120d475cfd118bd93a
     actual:  94bed0edc96af1cc6f87cb19ec81ef9e

С форсированием:

E:\Repository_Saver>restore.py
c:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe load --force-uuid e:\Re
positories\test2
<<< Started new transaction, based on original revision 5
     * adding path : trunk ... done.
     * adding path : trunk/akarmi.txt ...svnadmin: Checksum mismatch, file '/tru
nk/akarmi.txt':
   expected:  c8f86f8733e4cb120d475cfd118bd93a
     actual:  94bed0edc96af1cc6f87cb19ec81ef9e

Итак, это список моих попыток. Не могу никуда восстановить дамп. Но это потребовалось, чтобы я мог объединить ревизии.

Что я делаю не так? Что я должен сделать?

Это локальный компьютер Win7 / x64 с бесплатным VisualSVN. Но я пробовал с этими операциями и в Win2k3, и у меня тоже были эти ошибки.

Спасибо за каждую идею, помощь, ссылку, попытку ...

dd


person durumdara    schedule 30.08.2010    source источник


Ответы (1)


Думаю, я нашел решение. Я упростил код создания / дампа / загрузки до этого:

-- Создайте --

"c:\Program Files\VisualSVN Server\bin\svnadmin.exe" create %1

-- свалка --

"c:\Program Files\VisualSVN Server\bin\svnadmin.exe" dump -r%2 %1 >%1.dump

-- нагрузка --

"c:\Program Files\VisualSVN Server\bin\svnadmin.exe" load %1 <%2.dump

использование:

Новые объединенные репо.

create project_merged

Дамп с последней ревизией. что такое 39

dump project_original 39 

Загрузите файл дампа в новые репозитории.

load project_merged project_original

Важно: перед загрузкой файл дампа необходимо не открывать! Я каждый раз совершал эту ошибку, открывая его (чтобы посмотреть содержимое).

Репозиторий GUI «создание» не работает с нагрузкой. VisualSVN создает несколько дополнительных файлов ... :-(

Спасибо: dd

person durumdara    schedule 15.09.2010