5

我有一个很久以前创建的工作存储库,现在我正在尝试设置另一个,但我遇到了很大的困难。这是我为创建第二个所做的;我希望这能奏效:

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. 这是怎么回事?

4

1 回答 1

4

首先,cd repo1是多余的:svnserve在这种情况下不关心工作目录。

要使您的示例正常工作,请更改-d-d -r \repos.

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

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

这意味着存储在 的存储库在u:\repos\repo1启动时svnserve -r u:\repos必须由 url /repo1( svn://localhost/repo') 引用,而不是/repos/repo1. 卡皮什?

于 2013-03-12T15:17:48.343 回答