镜像subversion repo到自己的机器

时间:2009-08-20 21:08:57

标签: svn

我正在研究一个大型软件项目以及它是如何发展的。我可以访问subversion存储库来分析代码,但我希望在我的机器上有一个这个存储库的副本。 我想这样做,所以我不会挂在生产svn上,也因为我认为对我来说,对抗本地仓库而不是远程仓库会更快。

所以,有两个问题:

  1. 到目前为止,我如何估算出包含所有更改的回购邮件的大小?
  2. 如何复制回购以便我在本地获得完整的更改历史记录?

5 个答案:

答案 0 :(得分:5)

svnsync应该可以做到这一点。

答案 1 :(得分:3)

您可以使用svnsync创建完整存储库的本地(只读)镜像。

svn-book中解释了必要的步骤。基本步骤是:

# Create a local mirror repository.
svnadmin create local_mirror

# Create pre-revprop-change hook.
echo > local_mirror\hooks\pre-revprop-change.cmd

# Associate local mirror with remote repository.
svnsync init local_mirror repo_url

# Sync the repositories.
svnsync sync local_mirror

虽然使用像git这样的其他VCS也可以使用,但这允许您像往常一样使用svn工具。 此外,为了估计存储库的大小,您将需要相同的存储算法。如果您使用的是另一个VCS,则每个VCS都有自己的存储方式,本地仓库的大小很可能与原始仓库的大小不匹配。

答案 2 :(得分:2)

您可以使用git svn clone获取本地Git存储库,包括整个历史记录。

答案 3 :(得分:1)

您可以使用“svnsync”复制远程存储库。

请参阅文档here

答案 4 :(得分:1)

假设您不会在本地提交,我建议您使用svnsync设置相关SVN存储库的本地镜像。有一个操作方法here,它似乎可以将SVN结构镜像到您的本地计算机。

因此:

  1. 本地计算机上的大小将与远程存储库的磁盘大小一样大。如果您可以访问远程计算机上的文件系统,则可以查看它。
  2. 当您正确设置svnsync时会自动出现。