2015-10-15 97 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!我不想爲你的幫助信貸! –