我需要将现有的SVN存储库从一个开发服务器复制到另一个开发服务器.根据我的理解,我已经提出了步骤.如果有人可以验证并告诉我是否遗漏了任何一点,那将是很棒的.
Current server: dev10.dev.location.somename.com
Current repo location: dev10$/export/svnrepo/reponame
URL: svn:// dev10.dev.location.somename.com/export/svnrepo/newrepo/trunk
New server: dev11.dev.location.somename.com
New repo location: dev11$/export/svnrepo/newrepo
Run Code Online (Sandbox Code Playgroud)
我想有一个像svn://dev11.dev.location.somename.com/export/svnrepo/newrepo/trunk这样的网址.我是否需要导入新的存储库?
SVN server --- **svnserve**
Run Code Online (Sandbox Code Playgroud)
脚步:
在dev11中安装svnserve服务器
检查工作目录在dev10完全检入Subversion,然后备份.
转储Subversion存储库.这是通过svnadmin命令完成的:在dev10
svnadmin dump /export/svnrepo/reponame | gzip -9 - > reponame.dump.gz
Run Code Online (Sandbox Code Playgroud)在dev11创建新的subversion存储库---- 要创建存储库'newrepo',请svnadmin create从$ SVNHOME/bin 运行命令.在dev11提供存储库的完整路径.
svnadmin create /export/svnrepo/newrepo
Run Code Online (Sandbox Code Playgroud)将reponame.dump.gz文件复制到dev11服务器.
将dumpfile加载到新存储库:dev11
zcat reponame.dump.gz | svnadmin load /export/svnrepo/newrepo
Run Code Online (Sandbox Code Playgroud)将新存储库签出到dev11的目录
svn co svn:// dev11.dev.location.somename.com/export/svnrepo/newrepo/trunk
Run Code Online (Sandbox Code Playgroud)将我的工作目录切换到新的存储库.
如果我与Subversion Edge一起运行svnserve.exe,会导致任何冲突吗?我们有人远程检查代码,他将通过https进行,但对于每个人内部我想利用普通svn协议使用的更高速度(SVN EDGE不支持svn协议).
我不认为这有任何问题,但是,我总是喜欢在设置生产之前仔细检查.
场景:AD域中的Windows服务器仅使用SVNSERVE(没有Apache)托管Subversion存储库,而不是 VisualSVN.
目标:通过SASS通过GSSAPI将用户身份验证到Subversion存储库,通过Kerberos验证到Windows域.
多个站点中频繁发布的帖子表明,在此配置中,用户通常无法获得"无法获取SASL机制列表".我没见过任何实际运行的实例.有没有人有这个运行?
我问这个问题是因为2011年在Gentoo论坛上发帖,其中正是在这个场景中的某个人审查了相关的源代码压缩包并得出结论,虽然这种配置可能一度有效,但它所需的文件不再是在源头.
GEntoo论坛讨论,海报声称svnserve + gssapi + sasl曾一度工作,但不再有.
现在,我并不认为这种说法是准确的,但我确实知道自己陷入了同样的困境,而且我还没有看到任何声称对此类设置声称"胜利"的帖子.如果有,请告知详细信息!
提前谢谢了.
我使用 tarball 在 UAT Linux redhat 6.6 中安装了 SVN 1.9.2,并将 SVNSERVE 作为守护程序运行,一切顺利。然后我创建了一个存储库并配置了客户端访问的存储库,并尝试使用 tortoiseSVN 访问存储库但无法访问存储库。看到错误,
“db/format 包含无效的文件系统格式选项寻址逻辑”
在 UAT 中安装之前,我在 TEST 服务器中尝试过,但我可以毫无问题地安装和访问存储库。我正在使用 Redhat 6.6 服务器。任何人都看到了这个问题。由于下周我们进行了生产安装,我被困住了。
编辑:实际上我移动到 SVN 安装的 bin 目录并启动了 svnserve 作为守护进程。svnserve 启动的是 Redhat OS 附带的那个。当使用完整路径调用 svnserve 时,它解决了这个问题。
我有一个很久以前创建的工作存储库,现在我正在尝试设置另一个,但我遇到了很大的困难。这是我为创建第二个所做的工作;我希望这能奏效:
U:\repos>svnadmin create repo1
U:\repos>echo password-db = passwd >> repo1/conf/svnserve.conf
U:\repos>echo auth-access = write >> repo1/conf/svnserve.conf
U:\repos>echo user1 = user >> repo1/conf/passwd
U:\repos>cd repo1
U:\repos\repo1>svnserve -d
Run Code Online (Sandbox Code Playgroud)
而在另一个终端:
U:\>mkdir wc
U:\>cd wc
U:\wc>svn co svn://localhost/repo1
svn: E210005: Unable to connect to a repository at URL 'svn://localhost/repo1'
svn: E210005: No repository found in 'svn://localhost/repo1'
U:\wc>
Run Code Online (Sandbox Code Playgroud)
另一个存储库以相同的方式配置在u:\repo。这是怎么回事?
我注意到SVN运行良好,直到我重新启动我的机器(Mac OS X).然后,当我这样做时svn checkout svn://10.0.0.9/testA,我得到了错误svn: No repository found in 'svn://10.0.0.9/testA'.
svn info 产生以下内容:
Path: .
URL: svn://10.0.0.9/testA
Repository Root: svn://10.0.0.9
Repository UUID: e5a0987c-ab12-4088-82c5-263f6c00c66a
Revision: 3
Node Kind: directory
Schedule: normal
Last Changed Author: Mika
Last Changed Rev: 3
Last Changed Date: 2013-03-15 14:55:57 +0400 (Fri, 15 Mar 2013)
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
从cmdline开始时
svnserve.exe -d -r d:\svn\mytools
Run Code Online (Sandbox Code Playgroud)
一切正常.
然后我试图将其设置为以Windows服务运行:
@echo off
set SvnHome=C:\Program Files\TortoiseSVN
set SvnRepository=D:\Svn\mytools
sc delete SvnMyTools
sc create SvnMyTools binPath= "%SvnHome%\bin\svnserve.exe --service -r %SvnRepository%" start= delayed-auto type= share
Run Code Online (Sandbox Code Playgroud)
服务已安装,但无法启动.它一直报告错误
Error 1083: The executable program that this service is configured to run in does not implement the service.
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用regedit编辑服务cmdline,因此尝试添加双引号arround ref to exe,尝试更改cmdline参数(使用-d代替--service,同时使用-d和--service)等等.有时报告的错误看起来有点不同,但无论如何都不起作用.:-(
问题是 - 如何设置它使其在Windows 7 x64上作为服务工作?有可能吗?我的意思是 - 如果" - service"cmdline开关能够在svnserve中工作吗?
注意:svnserve版本是1.7.9(r1462340).其余的TortoiseSVN组件是1.7.12.24070.
提前致谢.
在svnserve.conf通过取消注释文件中的以下行进行更改后,我尝试使用 cmd 创建一个 svnserver ,
anon-access = read
auth-access = write
Run Code Online (Sandbox Code Playgroud)
在cmd中执行的命令是,
sc create svnserver binpath= "C:\Program Files\TortoiseSVN\bin\svnserve.exe --service -r c:\Goods\Repo" DisplayName= "Subversion" depend= tcpip start= auto
Run Code Online (Sandbox Code Playgroud)
但我收到错误
'sc' is not recognized as an internal or external command
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么。我已经安装了 tortoise SVN Client 和 Visual SVN Server。有人可以让我知道我在这里缺少什么。
我在Windows上运行SVN服务器
我为这样的项目创建了一个repo:
E:\ SVN\WEB\MYWEB-WWW
我在"passwd"文件中添加了用户:
[users]
admin = qazwsx
developer1 = 123456
developer2 = qwerty
Run Code Online (Sandbox Code Playgroud)
然后我编辑"authz"文件:
[groups]
Admins = admin
Developers = developer1, developer2
[/]
@Admins = rw
@Developers = r
* =
Run Code Online (Sandbox Code Playgroud)
我的"svnserve.conf"文件如下所示:
anon-access = none
auth-access = write
auth-access = read
password-db = passwd
authz-db = authz
Run Code Online (Sandbox Code Playgroud)
我检查了repo,并使用admin用户登录,一切都很好,但是当我尝试使用admin用户进行提交时,它无法显示此消息"身份验证失败"
我也试过没有使用"admin"用户的组,但同样的错误
svnserve ×11
svn ×9
svn-checkout ×2
svnadmin ×2
tortoisesvn ×2
windows ×2
authz ×1
fsfs ×1
gssapi ×1
ldap ×1
redhat ×1
repository ×1
sasl ×1
service ×1
svn-server ×1