VisualSVN - объединение ревизий в одну - PullRequest
0 голосов
/ 30 августа 2010

У нас есть сервер с бесплатным сервисом 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 Free.Но я попытался с этими операциями также в Win2k3, и я также получил эти ошибки.

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

dd

1 Ответ

0 голосов
/ 15 сентября 2010

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

- создать -

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

- сброс -

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

-load -

"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

...