2

我需要将现有的存储库根名称重命名为新名称。

我正在使用 svnserve 服务器。

URL: svn://somename.dev.loc.con.dept/export/svnrepo/**old_name/CL_abc/trunk
Repository Root: svn://somename.dev.loc.con.dept/export/svnrepo/**old_name
  1. 将 svn://somename.dev.loc.con.dept/export/svnrepo/ old_name
    重命名 为
    svn://somename.dev.loc.con.dept/export/svnrepo/ new_name

  2. 在命令行中应该是:

    /export/svnrepo/**old_name**  to /export/svnrepo/**new_name** 
    
  3. 也需要重命名回购名称

    CL_abc

    CL_newname

4

1 回答 1

1

您需要在运行该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/repossvnservefoobar

$ 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
于 2013-03-15T18:14:47.017 回答