如何更改最初导入SVN存储库的文件?

时间:2009-11-20 09:31:47

标签: svn version-control tortoisesvn repository

我为项目创建了一个SVN存储库,但现在意识到最初导入的文件不是最新的。

当我将项目的2个版本与Beyond Compare进行比较时,项目中没有完全相同的文件集。两个项目文件夹都有一些独特的文件。

我现在想要将正确的文件添加到存储库,但我不确定最佳方法。

  • 我可以完全删除存储库并重新开始。虽然我记得这在过去是有问题的,因为存储库将具有相同的名称
  • 我可以尝试在exisitng上复制正确的文件并提交。虽然可能存在未被覆盖的旧文件,但导致旧文件被提交到新项目。

在这种情况下,标准的SVN方法是什么?

3 个答案:

答案 0 :(得分:2)

只需使用第二种方法并用正确的文件替换现有文件,然后提交。

对于未被覆盖的旧文件,您的意思是什么?如果它们没有被覆盖,那只意味着你没有替换它们,因为它们已经是正确的文件。

所以,没问题。

如果您正在谈论在最新版本中删除的文件,请将文件夹/文件与您选择的工具(如Total Commander)进行比较,然后让工具删除一侧不存在的文件在另一。然后再提交。

重要提示:分别执行这两个步骤。

答案 1 :(得分:0)

我认为没有一种标准的方法可以做到这一点。这取决于你的情况 - 我们对此知之甚少。

根据您的编写,您可以使用两个版本之间的差异更改工作副本(然后您必须处理文件的添加/删除)或者您只需删除旧的项目文件夹并添加一个包含而是新文件。我认为后者至少需要两次提交才能成功(你不能在一次提交中删除并添加相同的项),前者可以通过一次提交来完成。

答案 2 :(得分:0)

我会按照以下步骤操作:

1)获取干净且更新的工作副本。清洁=没有修改。更新=你知道。

2)删除所有文件。保留文件夹结构。小心不要删除任何.svn文件夹或其中的任何文件。

3)将新文件复制到工作副本。

4)提交。

2和3的替代方案是:

2b)将新文件复制到覆盖旧文件的工作副本

3b)使用Beyond Compare检测工作副本中哪些文件不应该存在,因为它们不属于新文件。删除这些文件,直到工作副本和新文件文件夹相同,但.svn文件夹除外(您可以在BC中过滤掉这些文件夹)