我们有一些服务器使用VisualSVN免费服务。因为我们想在其上留出一些空间,所以我决定合并一些旧项目的修订版。它们不再使用了(旧的转速。)。
为了测试这个,我在Win7机器上创建了一个本地的visualsvn服务器。 我创建了一个名为“test”的存储库项目,以及一些根据需要调用svnadmin的python工具。
我提交了一个包含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)
我只使用svnadmin创建了一个test2项目。尝试在此恢复:
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
答案 0 :(得分:0)
我想我找到了解决方案。我将create / dump / load的代码简化为:
- 创建 -
"c:\Program Files\VisualSVN Server\bin\svnadmin.exe" create %1
- dump -
"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