您需要在运行该svnserve
命令的 Subversion 服务器上执行此操作。该svnserve
命令可以采用使用该命令创建的存储库的名称,也可以采用svnadmin create
包含使用该命令创建的多个存储库的目录svnadmin
。
一个存储库
$ hostname
$ mysvn
$ cd /opt/repos
$ svnadmin create foo
$ svnserve -r foo -d
访问该存储库
$ svn ls svn://mysvn
$ svn mkdir svn://mysvn/trunk svn://mysvn/tags svn://mysvn/branches
$ svn co svn://mysvn/trunk
在上面的示例中,我创建了一个名为 的 Subversion 存储库foo
,并svnserve
使用该存储库作为服务器的根目录运行。
当我访问该存储库时,该 URL 中没有存储库名称。我的 URL的根就是机器名。没有什么可重命名的。
多个存储库
$ hostname
$ mysvn
$ cd /opt/repos
$ svnadmin create foo
$ svnadmin create bar
$ svnserve -r . -d
访问这些存储库
$ svn ls svn://mysvn
svn: E210005: Unable to connect to a repository at URL 'svn://localhost'
svn: E210005: No repository found in 'svn://localhost'
$ svn ls svn://mysvn/foo
$ svn ls svn://mysvn/bar
$ svn mkdir svn://mysvn/bar/trunk svn://mysvn/bar/tags svn://mysvn/bar/branches
$ svn co svn://mysvn/bar/trunk
在本例中,我在目录下创建了两个名为foo
和的Subversion 存储库目录。当我启动时,我给它包含我的 Subversion 存储库的目录的名称。我的存储库名称是我的目录的名称。我有目录,这就是名字。如果我想更改存储库的名称,我需要在服务器上更改它们:bar
/opt/repos
svnserve
foo
bar
$ hostname
mysvn
$ pkill svnserve #Stop the SVN server
$ cd /opt/repos
$ mv bar to fubar #Change the repo name
$ svnserve -r /opt/repos -d
访问存储库
$ svn ls svn://mysvn/fubar/trunk
当我重新启动 SVN 服务器时,我的存储库有一个新名称。
看起来您需要执行以下操作:
$ ssh somename.dev.loc.con.dept #Get on the Subversion server
$ pkill svnserve #Shutdown the server
$ mv /export/svnrepo/oldname /export/svnrepo/newname
$ svnserve -r / -d
现在,您将能够使用新名称访问您的存储库。但是,我建议您通过以 root 身份启动该svnserve
过程来简化您的 Subversion URL:/export/svnserve
$ svnserve -r /export/svnrepo -d
现在,用户可以使用稍短的名称访问他们的项目:
$ svn co svn://somename.dev.loc.con.dept/newname/CL_abc/trunk