将 svn 存储库从 Linux 移动到 Windows
我对此做了很多研究,并认为这将是一项容易的任务,但我想我错了。我将概述我为移动 svn 存储库所做的一切,但无法重新定位或签出目录。
Linux config =
svn in /home/services/svn/asr
checkout would be svn://"server name"/asr
performed svnadmin dump /home/services/svn/asr > asr.dump
这里的一切工作正常,我将 25GB 转储移动到 Windows 服务器
Windows config =
created a new repository (svnadmin create c:\svn\asr)
performed svnadmin load c:\svn\asr < asr.dump
everything loaded fine to revision 538 (which is head revision)
created a service to run svnserve.exe with --root c:\svn\asr
added my passwd, authz, and setup everything
当尝试重新定位时,我收到一个关于不是存储库的根的错误。我正在使用 svn://"server name"/asr
如果我创建一个新文件夹并从 svn"//"server name"/asr 执行签出,我会收到一条错误消息:
I have done alot of research on this and thought it would be a easy task, but guess I was wrong. I will outline everything I did to move the svn repository, but am not able to relocate, or checkout the directories.
Linux config =
svn in /home/services/svn/asr
checkout would be svn://"server name"/asr
performed svnadmin dump /home/services/svn/asr > asr.dump
Everything here worked fine, and I moved the 25GB dump to the Windows server
Windows config =
created a new repository (svnadmin create c:\svn\asr)
performed svnadmin load c:\svn\asr < asr.dump
everything loaded fine to revision 538 (which is head revision)
created a service to run svnserve.exe with --root c:\svn\asr
added my passwd, authz, and setup everything
When attempting to relocate I get a error about not being the root of the repository. I am using svn://"server name"/asr
If I create a new folder and perform a checkout from svn"//"server name"/asr I get a error stating:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的问题不是转储,而是服务器的配置:
你必须通过
(没有reponame)启动服务器然后你可以通过URL签出或重新定位
否则你已经声明了asr两次(第一次在svnserve中,第二次在URL中)并且这不是现有的存储库(将是c:\ svn \ asr\asr ..)。
顺便说一句:如果您使用 FSFS 存储库(我认为自 SVN 1.3 以来的标准设置),您只需文件复制存储库而无需转储/重新加载。转储/重新加载周期非常慢并且转储非常臃肿
Your problem is not the dump, but the configuration of your server:
You have to start server via
(without the reponame) Then you can checkout or relocate via URL
Otherwise you have stated the asr twice (first in svnserve, second in URL) and this is not an existing repository(would be c:\svn\asr\asr ..).
BTW: If you used FSFS Repositories(standard setting since SVN 1.3, I think) You just can file copy the repository without dump/reload. Dump/reload cycles are really slow and dumps are very bloated
我怀疑问题可能在于服务的配置而不是存储库的完整性。
首先要尝试的是您是否可以从服务器上的命令提示符执行 svnlook 操作,例如 svnlook log c:\svn\asr 。如果没问题,则表明存储库没问题。乍一看,以 c:\svn\asr 为根目录的 svnserve 的设置看起来不错,但您可以尝试在前台运行该服务,这可能会为您提供更多信息:
现在尝试再次进行结帐。
I suspect that the problem could be with the configuration of the service rather than the integrity of the repository.
The first thing to try is whether you can do
svnlook
operations from a command prompt on the server, egsvnlook log c:\svn\asr
. If that's fine then it suggests the repository is ok. The setup of svnserve with the root of c:\svn\asr looks ok at first glance, but you could try running the service in the foreground, which may give you more information:and now try doing a checkout again.