如何设置简单的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谢谢你的建议。认可的。