SVN认为文件已经受版本控制

时间:2012-04-22 06:31:08

标签: svn

所以我有两个文件夹要添加到新的存储库但是他们拒绝添加因为它们已经受版本控制。我删除了那些文件夹及其子文件夹中的所有.svn文件夹,但SVN仍然知道某种方式。我如何才能看到他们认为自己属于哪个回购,告诉他们不要在那里,并将它们放入新的回购中而不删除它们或不必移动它们?

2 个答案:

答案 0 :(得分:17)

如果您删除了本地工作副本中的所有.svn个文件夹,则不应再对其进行版本控制。请注意,旧版本的SVN用于在所有文件夹中创建隐藏的.svn文件夹,而不仅仅是在根文件夹或直接子文件夹中。

您还可以执行export命令在目标目录中创建完整的非版本副本,以避免手动删除.svn个文件夹。

可能导致此错误的另一个问题是,在新存储库中,您已经拥有与您尝试添加的目录/文件同名的文件或目录。 一个好的做法是将文件导入空目录以避免名称冲突。

总而言之,程序将是这样的:

  • 从当前存储库导出文件或手动删除所有.svn个文件夹
  • 在新/目标存储库中创建一个空文件夹
  • 执行从目标存储库文件夹到本地副本的结帐
  • 执行提交以添加所有新文件

答案 1 :(得分:2)

如果这些文件已经在版本控制中,则删除.svn文件夹将不起作用。这是你必须做的:

(1)删除所有存在问题的文件夹或之前删除.svn文件夹的文件夹。

(2)执行SVN UPDATE以重新创建这些文件夹并将所有内容返回到它们中(即使您将在下一步中删除它们)。

(3)现在,删除有问题的文件夹。

(4)执行SVN提交,该提交将提交从存储库中删除这些文件夹。现在,他们已经从存储库中消失了。

(5)您现在可以再次创建文件夹并执行任何操作 - 从中​​创建新的SVN存储库;或者将它们重新添加到现有存储库中。

似乎步骤(1) - (2)是多余的和不必要的;但为了安全起见,你应该这样做。