VisualSVN - 将修订合并为一个

发布于 2024-09-16 20:04:05 字数 2708 浏览 5 评论 0原文

我们有一些带有 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一身骄傲 2024-09-23 20:04:05

我想我找到了解决方案。我将创建/转储/加载的代码简化为:

-- 创建 --

"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

I think I found a solution. I simplified the code of the create/dump/load to this:

-- create --

"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

-- load --

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

usage:

The new, merged repos.

create project_merged

Dump with last rev. what is 39

dump project_original 39 

Load the dump file into new repos.

load project_merged project_original

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文