2009-12-10 90 views
0

我有一个特定的问题。我将如何导入导出的SVN回购? 我已经阅读了几处附近的导入/导出问题,但我的案例更具体。我得到的是一个导出的SVN回购(与我的项目的来源),现在我需要再次导入它。我会怎么做?导入导出SVN

+0

你还有权访问旧版本库吗? – 2009-12-10 12:40:14

+1

不知道我理解这个问题。如果已导出,所有SVN特定文件将被删除。您可以像使用其他源代码一样创建一个新的存储库。 – 2009-12-10 14:19:58

+0

那最后的评论(尼尔)解决了这个问题。 – Zlatko 2009-12-11 12:37:09

回答

2

我认为Dave对于export这个词的含义存在混淆,但似乎对他的答案中涉及的命令有些困惑。

如果你有,你看到的样子在你的项目中的源文件中的文件,并且没有.svn子目录的目录结构,你有一个svn export ...命令的结果,而你没有任何资料库历史记录,您只有项目快照。在这种情况下,您可以使用svnadmin create ...命令在新服务器上创建一个新的Subversion回购,然后使用svn import ....将该快照提交到新的存储库中。

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

之后,你会想用svn co ...检出一个工作拷贝,然后可以在发展。

如果你得到了什么是该项目的一个快照,我会鼓励你回去给他们,并尝试获取转储文件,而不是...源代码管理历史很有价值。

+0

+1我更新了我的回复来修复我的错误,谢谢@retractile – Upgradingdave 2009-12-10 21:14:53

+0

我对svn迁移非常陌生,现在正在努力应对。这是服务器上最后的'svn co'部分吗?我认为你的意思是服务器操作完成后,用户必须签出本地工作副本,不是吗? – Montag451 2014-04-09 11:48:53

+0

Enmos:'svn co'用于检出工作副本,您将在其中进行开发,而不是服务器。 – retracile 2014-04-09 19:03:54

0

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

+0

我不知道,我刚刚出口。 – Zlatko 2009-12-10 13:18:38

1

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

1

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

在svn世界中,“导出”意味着复制一个目录结构并删除所有suversion元数据(.svn目录和文件)。如果你收到了这种导出,那么你有一个完全独立于Subversion的目录结构(它不再受svn控制)。所以你需要将这个dir结构添加到svn中,就像创建一个带有文件的全新目录一样,并且需要将这些目录提交给subversion

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

希望有所帮助。

+0

谢谢,@retractile,我得到了混淆的命令并纠正它们。 – Upgradingdave 2009-12-10 21:14:17