2015-10-15 165 views
1

我已经在Ubuntu 14.04 LTS上安装了Subversion。我在/home/svnadmin/svn/repo-one下创建了一个存储库。然后,我可以使用ToroiseSVN连接并使用完整路径查看 - /home/svnadmin/svn/repo-one。我想让/home/svnadmin/svnsvnserve的根目录。我已征询svnserve --help手册,发现这一点:SVN定义根目录

-r [--root] ARG: root of directory to serve 

但是当我尝试运行命令:

svnserve -r /home/svnadmin/svn/ 

当我执行该命令我得到的错误:

You must specify exactly one of -d, -i, -t or -X. 

任何人都可以帮助我吗?我误解了-r命令应该做什么?我试过寻找答案,无法找到解决我的问题的任何地方。

+1

它们控制您希望进程运行的方式:作为后台进程,作为xinetd守护进程的后端,隧道模式(不知道)或调试模式。你想如何永久设置它? [Documentation here](http://svnbook.red-bean.com/en/1.7/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.invoking)。 – Rup

+0

作为xinted守护进程的后端。 –

+1

然后你需要'-i'。 [示例xinetd config这里](http://svnbook.red-bean.com/en/1.7/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.invoking.inetd)。 – Rup

回答

3

这些标志选择哪个模型的过程用于监听连接:

  • -d - 运行作为一个独立的守护进程,监听端口本身
  • -i上 - 运行作为xinetd后台,与通信在SSH隧道模式
  • -X - - 上stdin和stdout
  • -t父进程在调试监听模式,接受单个连接然后停止。

Documentation here。所以,你需要选择一个:像你想-i的xinetd的模式听起来评论从讨论,并在文档中有一个样品xinetd配置本太:

svn stream tcp nowait svnadmin /usr/bin/svnserve svnserve -i -r /home/svnadmin/svn/ 

假设你在/ etc有svn 3690/tcp /服务来定义这个端口,你几乎可以在现代的发行版上做这些。

+0

谢谢@Rup!我不想为你的帮助信贷! –