如何设置一个简单的 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 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

TPLINK路由请问如何设置能让外网访问SVN服务器?

如何设置 SVN

如何迁移svn库 简单的dump/load方式

用心剖析,详解如何搭建百万PV网站架构,简单易懂!!!

TODO:Windows 10 下SVN简单配置

超简单的 SVN 服务搭建