2009-11-20 111 views
0

我已经为项目创建了一个SVN仓库,但现在意识到最初导入的文件并不是最新的。如何更改最初导入到SVN存储库的文件?

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

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

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

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

回答

2

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

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

所以,没问题。

如果你正在讨论的文件已被删除的最新版本,然后做一个文件夹/文件比较你选择的工具(如总指挥官),并让该工具删除一侧的文件另一方面存在。然后再次提交。

重要提示:分开提交两个步骤。

+0

我认为Jon是指删除/添加的文件。 – sbi 2009-11-20 09:37:24

+0

感谢提示@sbi,将其集成。 – markus 2009-11-20 09:44:19

+0

@tharkum:我不知道'svn remove'/'svn add'的文件夹比较。总指挥官当然不会。 – sbi 2009-11-20 10:15:57

0

我不认为有一个标准的方法来做到这一点。这取决于你的情况 - 我们所知甚少。

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

0

我会按照下列步骤操作:

1)获取干净并更新的工作副本。清洁=不需要修改。更新=你知道。

2)删除所有文件。保持文件夹结构。请注意不要删除任何.svn文件夹或其中的任何文件。

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

4)提交。

2和3另一种方法是:

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

3B)使用超越比较,以检测哪些文件你在工作副本那不应该在那里,因为它们不属于新文件。删除这些文件,直到工作副本和新文件夹相同,除了.svn文件夹(您可以在BC中过滤掉这些文件)

相关问题