【问题标题】:Migrate a new SVN Repository迁移新的 SVN 存储库
【发布时间】:2014-03-08 01:16:59
【问题描述】:

我正在尝试将某些项目从一个 SVN 迁移到另一个。两个存储库都有其他具有多个修订版的项目。 我正在尝试将项目及其提交历史从一个存储库移动到另一个存储库。修订号并不重要,理想情况下,我只想复制过去一年的提交历史,因为我们不需要更多,而且我认为复制整个历史会太耗时。

我查看了 svnsync,但我认为它不符合我的目的,因为新存储库不是从 0 开始的

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    要将存储库转储为特定格式,请使用:

    $ svnadmin dump $REPO_DIR > dumpfile
    

    您可以使用svndumpfilter 指定要转储的内容:

    $ svnadmin dump $REPO_DIR | svndumpfilter include $REPOPREFIX > dumpfile
    

    这样,您只会丢弃您想要的项目。

    当你得到你的转储文件时,你可以使用svnadmin load 来加载它:

    $ svnadmin load $REPO_PATH < dumpfile
    

    问题是您无法将旧存储库加载到现有目录。在这种情况下,您可能必须指定--parent-dir

    $ svnadmin load --parent-dir /second_repo < dumpfile
    

    完成加载后,您可以将该目录移动到另一个位置。

    有关详细信息,请参阅Migrating Repository Data Elsewhere 上的在线 Subversion 手册。

    【讨论】:

      【解决方案2】:

      如果修订的数量很少(少于 20 个),那么我会手动进行。更新到旧版本,将文件复制到新版本并提交。重复 50 次。

      您可以创建一个脚本,其中包含将更新旧工作副本的修订列表,并在循环中执行更新/复制/提交过程。

      在 TortoiseSVN 安装文件夹中有命令行应用程序 svnsvnlook 可以帮助您制作上述脚本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多