• 将svn的项目转移到另外一个仓库中


    前几天在做一个项目的时候,因为需要,需要将Server A 上SVN仓库 repos1中的项目pro1迁移到Server B 上的SVN仓库中,首先想到的是:通过复制,但是仔细一想,这样是不可能的;然后想到的是先把项目pro1 checkout到本地,然后再 将本地的项目 import 到 ServerB的svn仓库中,但这样一来,ServerB上的SVN仓库中 就好比完全是一个新的pro1项目了,也就失去了svn管理的意义了。下面有一种方法可以解决:

    (在进行下面的操作时,请注意备份仓库数据,以免操作出错,损坏数据;同时保证需要迁移的项目,都已经commit,以免丢失修改)

    1.首先关闭两台服务器的svn所有服务,比如(apache、svn),(以避免在进行迁移时又有其他的用户访问提交,更新什么的...  

    2.将ServerA上的 项目pro1所在的仓库进行备份,使用命令:

          svnadmin dump oldrepos > reposdumpfile

          上面的 oldrepos 表示服务器Server1上需要备份的仓库,如:E:svn_root epos1;

           reposdumpfile表示一个中转的文件,文件名随意;

           运行完上面的命名后,文件reposdumpfile就存储了仓库oldrepos的信息和所有项目;

    3.如果需要将Server A上repos1中的所有项目迁移到Server2上,则将reposdumpfile文件直接拷贝到Server2上,然后转到 步骤5;

    4.如果我们只需要repos1仓库中的pro1则我们需还要对reposdumpfile文件进行过滤,命令如下:

           svndumpfilter include pro1 < reposdumpfile< pro1dumpfile

           上面的 include 表示 包含的意思,也就是说,将reposdumpfile中的 pro1 的项目取来放到文件 pro1dumpfile 中;如果使用 exclude 这表示相反的意思,将不是项目pro1的项目存放到文件中去;然后将pro1dumpfile文件拷贝到Server2上;

    5.在Server2上运行如下命令,则完成了项目的迁移;

          svnadmin load newrepos < pro1dumpfile

          上面的newrepos表示:Server2电脑上的 svn仓库的路径 如:F:svn_root epos2;

    6.最后打开svn服务,这样就成功的将项目迁移到了其他仓库中

  • 相关阅读:
    JavaScript的执行
    关于k阶裴波那契序列的两种解法
    科普 eclipse中的Java build
    [BZOJ 1037] 生日聚会Party
    [POJ 1185] 炮兵阵地
    [POJ 1935] Journey
    [POJ 2397] Spiderman
    [POJ 2373][BZOJ 1986] Dividing the Path
    [POJ 3378] Crazy Thairs
    [POJ 2329] Nearest number-2
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/7217716.html
Copyright © 2020-2023  润新知