VisualSVN - 将修订合并为一个

时间:2010-08-30 07:19:36

标签: svn tortoisesvn merge restore 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

1 个答案:

答案 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