### Subversion版本库URL 正如我们在整本书里描述的,Subversion使用URL来识别Subversion版本库中的版本化资源,通常情况下,这些URL使用标准的语法,允许服务器名称和端口作为URL的一部分: ~~~ $ svn checkout http://svn.example.com:9834/repos … ~~~ 但是Subversion处理URL的一些细微的不同之处需要注意,例如,使用`file:`访问方法的URL(用来访问本地版本库)必须与习惯一致,可以包括一个`localhost`服务器名或者没有服务器名: ~~~ $ svn checkout file:///path/to/repos … $ svn checkout file://localhost/path/to/repos … ~~~ 同样在Windows平台下使用`file:`模式时需要使用一个非正式的“标准”语法来访问本机上不在同一个磁盘分区中的版本库。下面的任意一个URL路径语法都可以工作,其中的`X`表示版本库所在的磁盘分区: ~~~ C:\> svn checkout file:///X:/path/to/repos … C:\> svn checkout "file:///X|/path/to/repos" … ~~~ 在第二个语法,你需要使用引号包含整个URL,这样竖线字符才不会被解释为管道。当然,注意URL使用普通的斜线而不是Windows本地(不是URL)的反斜线。 最后,必须注意Subversion的客户端会根据需要自动编码URL,这一点和一般的web浏览器一样,举个例子,如果一个URL包含了空格或是一个字符编码大于128的ASCII字符: ~~~ $ svn checkout "http://host/path with space/project/espaa" ~~~ …Subversion会回避这些不安全字符,并且会像你输入了这些字符一样工作: ~~~ $ svn checkout http://host/path%20with%20space/project/espa%C3%B1a ~~~ 如果URL包含空格,一定要使用引号,这样你的脚本才会把它做一个单独的**svn**参数。