VisualSVN - 将修订合并为一个
我们有一些带有 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
We have some server with VisualSVN free service. Because we want to make some space on it, I determined to merge some old projects' revisions. They are not used anymore (the old revs.).
To test this I created a local visualsvn server on Win7 machine.
I created a repository project named "test", and some python tool that call the svnadmin as needed.
I commited a text file with 5 of revisions.
Dump, I save this project:
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.
Restore to this project (without delete it). I got error:
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'
I created a new project dir with VisualSVN, and I tried to restore the dump:
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'
I tried to restore into a nonexistent project dir:
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)
I created a test2 project with svnadmin only. Try to restore here:
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
With forcing:
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
So that is the list of my tryings. I cannot restore the dump to anywhere.
But this needed to I can merge revisions.
What I do wrong? What I need to do?
This local machine is Win7/x64, with VisualSVN Free.
But I tried with these operations also in Win2k3, and I also got these errors.
THanks for every idea, help, link, trying...
dd
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想我找到了解决方案。我将创建/转储/加载的代码简化为:
-- 创建 --
-- 转储 --
-- 加载 --
用法:
新的合并存储库。
以最后一转转储。什么是 39
将转储文件加载到新的存储库中。
重要提示:转储的文件在加载之前必须未打开!
我每次打开它(查看内容)时都会犯这个错误。
GUI 存储库“创建”无法加载。 VisualSVN 正在制作一些附加文件... :-(
谢谢:
DD
I think I found a solution. I simplified the code of the create/dump/load to this:
-- create --
-- dump --
-- load --
usage:
The new, merged repos.
Dump with last rev. what is 39
Load the dump file into new repos.
Important: the dumped file must be unopened before load!
I everytime made this mistake that I opened it (to see the content).
The GUI repository "creating" is not working with load. VisualSVN is make some plus files... :-(
Thanks:
dd