导入导出的SVN

时间:2009-12-10 12:36:58

标签: svn import export

我有点具体的问题。我如何导入导出的SVN回购? 我已经在这里阅读了一些导入/导出问题,但我的情况更具体。我得到的是一个导出的SVN仓库(带有我的项目源),现在我需要再次导入它。我该怎么做?

4 个答案:

答案 0 :(得分:2)

我认为Dave对于export这个词的含义存在混淆是正确的,但对于他的答案所涉及的命令似乎有些混乱。

如果您有一个目录结构,在其中您可以看到项目中看起来像源文件的文件,并且没有.svn个子目录,那么您将得到svn export ...命令的结果,并且您没有任何存储库历史记录,您只有项目的快照。在这种情况下,您使用svnadmin create ...命令在新服务器上创建一个新的subversion repo,然后使用svn import ....将该快照提交到新的存储库中。

如果你有一个包含大量东西的单个文件,看起来它的部分源代码与很多其他内容混合在一起,那么你就得到了所谓的“转储文件”。此转储文件包含您的项目,包括该项目的所有历史记录。在这种情况下,使用svnadmin create ...创建新存储库,然后使用svnadmin load ...命令将数据加载到存储库中。

之后,您将需要使用svn co ...签出可以开发的工作副本。

如果你得到的是项目的快照,我会鼓励你回到他们并尝试获取转储文件......源代码控制历史很有价值。

答案 1 :(得分:1)

如果您无权访问旧存储库,那么从另一个存储库导出文件的事实就无关紧要了。只需import就像你想要放入Subversion的任何其他文件一样。您将不会拥有任何旧存储库的历史记录。

答案 2 :(得分:1)

我认为这里的“出口”之间存在混淆。

在svn world中,“export”表示制作目录结构的副本并删除所有suversion元数据(.svn目录和文件)。如果你收到这种导出,那么你有一个完全独立于subversion的目录结构(它不再受svn控制)。所以你需要将这个dir结构添加到svn,就好像你要用文件创建一个全新的目录,并且需要将它们提交给subversion

在svn世界之外,“导出”有时意味着创建完整备份。在svn中,使用svnadmin dump命令可以创建整个存储库的完整备份。如果这是您收到的导出类型,那么您可能只有一个"dump file"。要恢复转储文件,请使用svnadmin load将其还原到subversion存储库。更具体地说,您需要将导出副本上传到托管subversion存储库的计算机上,然后执行svnadmin load。然后,您将能够正常检查dirs和文件。

希望有所帮助。

答案 3 :(得分:0)

如果您仍然可以访问旧存储库,则可以使用svnadmin dump导出并导出svnadmin load,如更详细的in this post所述。