【问题标题】:SVN dump of Apache Lucene’s repositoryApache Lucene 存储库的 SVN 转储
【发布时间】:2011-01-18 18:13:35
【问题描述】:

我想获取Apache Lucene’s repository 的 SVN 转储。如何将上面的 repo 复制到我的本地机器上?

【问题讨论】:

    标签: svn svnadmin


    【解决方案1】:

    一种选择是首先创建一个本地存储库:

    $ svnadmin create /path/to/your/repo
    

    创建存储库后,对其进行初始化以进行同步:

    $ svnsync init /path/to/your/repo /path/to/source/repo
    

    现在您已设置好进行同步,请同步到新的存储库:

    $ svnsync sync /path/to/source/repo
    

    如果您不想保留整个存储库,因为您只需要一个子目录,但您仍然希望 subversion 中的整个历史记录,那么您可以创建一个仅包含相关部分的存储库:

    $ svnadmin dump /path/to/your/repo | svndumpfilter include /path/to/correct/tree \
      > /path/to/filtered/repository/backup
    

    我们现在有一个已过滤为仅包含相关树的备份。所以,现在让我们将它恢复到一个新的可用存储库:

    $ svnadmin load --ignore-uuid /path/to/treeonly/repository \
      < /path/to/filtered/repository/backup 
    

    请参阅 svnsyncrepository replicationrepository filtering 上的帮助。

    【讨论】:

    • 因为 apache lucene 不是根文件夹。 svnsync 无法工作。有没有其他方法可以只复制项目转储而不是整个 repo 转储。
    【解决方案2】:

    克隆整个 Subversion 项目(具有完整历史记录)的一种方法是使用 Git's Subversion bridge

    git svn clone http://svn.apache.org/repos/asf/lucene/dev/trunk lucene
    

    默认情况下,这将获取 Subversion 中主干的全部历史记录。请注意,根据 Subversion 存储库的大小、寿命和复杂性,此命令可能需要一些时间才能运行。

    【讨论】:

    • Git 非常擅长这一点。我相信 Mercurial 也有类似的选择。
    【解决方案3】:

    你可以使用svn命令行工具。

    svn export http://svn.apache.org/repos/asf/lucene/dev/trunk/
    

    svn co http://svn.apache.org/repos/asf/lucene/dev/trunk/
    

    如果您想要断开连接的转储,请使用第一个。如果要更新和提交,请使用第二个。

    【讨论】:

    • 我需要完整的回购历史转储。这样我就可以用这个设置本地仓库了。
    猜你喜欢
    • 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
    相关资源
    最近更新 更多