我目前SVN服務器的路徑是我應該如何改變SVN協議而不是http
,但我想用svn協議而不是http
的svn://文件/回購/測試做一個SVN同步
我需要做什麼。
請幫忙。
我試圖與以下命令:SVN切換--relocate http://file.com/repo/testproj的svn://file.com/repo/testproj 但它給錯誤: 的svn: ''不是工作副本
我目前SVN服務器的路徑是我應該如何改變SVN協議而不是http
,但我想用svn協議而不是http
的svn://文件/回購/測試做一個SVN同步
我需要做什麼。
請幫忙。
我試圖與以下命令:SVN切換--relocate http://file.com/repo/testproj的svn://file.com/repo/testproj 但它給錯誤: 的svn: ''不是工作副本
您可能正在通過HTTP服務器來提供文件,如Apache或其他東西。您需要停止這樣做並使用svnserve
服務器進行服務。這將對svn://
或svn+ssh://
協議產生反應。
基本上,醫生說,
The easiest option is to run svnserve as a standalone 「daemon」 process. Use the
-d
option
for this:
$ svnserve -d
$ # svnserve is now running, listening on port 3690
When running svnserve in daemon mode, you can use the
--listen-port
and--listen-host
options to customize the exact port and hostname to 「bind」 to.Once we successfully start svnserve as explained previously, it makes every repository on your system available to the network. A client needs to specify an absolute path in the repository URL. For example, if a repository is located at
/var/svn/project1
, a client would reach it viasvn://host.example.com/var/svn/project1
. To increase security, you can pass the-r
option to svnserve, which restricts it to exporting only repositories below that path. For example:
$ svnserve -d -r /var/svn...
Using the -r option effectively modifies the location that the program treats as the root of the remote filesystem space. Clients then use URLs that have that path portion removed from them, leaving much shorter (and much less revealing) URLs:
$ svn checkout svn://host.example.com/project1
通過這個手冊:http://svnbook.red-bean.com/en/1.7/svn.serverconfig.svnserve.html