Apache Lucene 存储库的 SVN 转储

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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 

请参阅 svnsync、repository replication 和 repository 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/

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

【讨论】:

我需要完整的回购历史转储。这样我就可以用这个设置本地仓库了。

以上是关于Apache Lucene 存储库的 SVN 转储的主要内容,如果未能解决你的问题,请参考以下文章

svn 迁移但转储存储库的一部分

如何克隆 SVN 存储库的一部分?

移动了存储库。我是否使用SVN交换机,SVN重定位或其他所有内容

如何将 SVN 转储文件导入 SourceForge?

如何从一个非常大的仓库中获取项目的 svn 转储

dumpfilter svn repo 中的一个项目