如何设置简单的SVN服务器?

如何设置简单的SVN服务器?,svn,version-control,svnadmin,svnserve,svn-checkout,Svn,Version Control,Svnadmin,Svnserve,Svn Checkout,我有一个很早以前创建的工作存储库,现在我正试图建立另一个,但我遇到了很大的困难。下面是我创建第二个的步骤;我希望这能奏效: 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>

我有一个很早以前创建的工作存储库,现在我正试图建立另一个,但我遇到了很大的困难。下面是我创建第二个的步骤;我希望这能奏效:

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
相同。发生了什么?

首先,
cd repo1
是多余的:
svnserve
不关心此实例中的工作目录

要使示例正常工作,请将
-d
更改为
-d-r\repos

或者,您可以将
co
命令更改为
svn cosvn://localhost/repos/repo1

当运行
svnco
时,它使用URL告诉
svnserve
在哪里寻找回购。默认情况下,此路径相对于
/
,而不是启动
svnserve
的工作目录!现有存储库之所以有效,是因为repo恰好位于
/
中,而不是因为
svnserve
是从
/repo
启动的。当您希望从
/
以外的地方引用回购路径时,请使用
svnserve
-r[--root]
选项


这意味着当使用
svnserve-r u:\repos
启动时,存储在
u:\repos\repo1
的存储库必须由url
/repo1
引用(
svn://localhost/repo“
)而不是
/repos/repo1
。Capish?

可能值得研究一些替代方案,例如使用非常简单,只需单击几下即可完成安装,还可以创建和管理存储库。我知道这有点偏离你的问题,但作为一个评论,添加它也没什么坏处@迈克尔先生,非常好的评论,欢迎光临。我想要一个只使用命令行的解决方案(而且只使用svn工具,也就是说,没有第三方),因为我想要一个非常便携、小巧、无需安装的解决方案?小的没有安装?您知道您可以在没有任何服务器的情况下访问Subversion存储库吗?也就是说,您可以通过
file:///URL
@bahrep旧消息是,大多数人仍然更喜欢eyecandy和简单的管理,而不是命令行工具。就我个人而言,SVN不会这么做,它没有提供我从源代码管理中要求的功能,Mercurial/Git确实提供了这些功能。@LimitedAtonement Eek!是的,它是针对你的,但我没打中xD@Mawg谢谢你的建议。认可的。