如何设置一个简单的 SVN 服务器?
Posted
技术标签:
【中文标题】如何设置一个简单的 SVN 服务器?【英文标题】:How do I setup a simple SVN server? 【发布时间】:2013-03-12 15:17:48 【问题描述】:我有一个很久以前创建的工作存储库,现在我正在尝试设置另一个,但我遇到了很大的困难。这是我为创建第二个所做的;我希望这会起作用:
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
在另一个终端:
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>
另一个存储库以相同的方式配置在u:\repo
。怎么回事?
【问题讨论】:
可能值得研究像visualsvn.com 这样非常易于使用的替代方案,只需单击几下即可完成设置,还可以创建和管理存储库。我知道这有点偏离你的问题,但仍然作为评论添加它不会有太大的伤害。 :) @MrMichael 优秀的评论,欢迎。我打算只使用命令行(并且只使用 svn-tools,即没有第三方)解决方案,因为我想要一些非常便携、小巧、无需安装、etc 的东西。 @MrMichael 便携式?小的?没有安装? 你知道你可以在没有任何服务器的情况下访问 Subversion 存储库吗? IE。您可以通过file:///URL
直接访问磁盘上的存储库。 svnbook.red-bean.com/en/1.7/svn.serverconfig.multimethod.html
@bahrep 老新闻,仍然大多数人更喜欢眼睛和简单的管理而不是命令行工具。就我个人而言,SVN 无法做到这一点,它不提供我需要的源代码控制功能,而 Mercurial/Git 确实提供了这些功能。
@LimitedAtonement Eek!是的,它是针对你的,但我错过了 xD
【参考方案1】:
首先,cd repo1
是多余的:svnserve
在这种情况下不关心工作目录。
为了使您的示例有效,请将-d
更改为-d -r \repos
。
或者,您可以将co
命令更改为svn co svn://localhost/repos/repo1
。
当svn co
运行时,它使用URL 告诉svnserve
在哪里寻找repo。默认情况下,此路径相对于/
,而不是启动svnserve
的工作目录!现有存储库有效,因为 repo 恰好位于 /
中,而不是因为 svnserve
是从 /repo
启动的。如果您希望从 /
以外的其他地方引用您的存储库的路径,请使用 svnserve
的 -r [--root]
选项。
这意味着存储在u:\repos\repo1
的存储库在使用svnserve -r u:\repos
启动时必须由URL /repo1
(svn://localhost/repo'
) 而不是/repos/repo1
引用。卡皮什?
【讨论】:
@Mawg 感谢您的建议。接受。以上是关于如何设置一个简单的 SVN 服务器?的主要内容,如果未能解决你的问题,请参考以下文章