使用Subversion / Tortoise SVN提交全新的目录

时间:2011-02-14 14:16:42

标签: svn tortoisesvn

我自己正在做一个项目。我有颠覆设置并使用tortoisesvn来管理它。问题是我从头开始并且有一个单独的完全工作的项目实例,但它不是在颠覆。

如何将该实例转换为subversion,并将其作为最新版本。我尝试通过我当前的svn工作副本粘贴我的非svn目录中的文件,但并不是所有内容都已更新。

我有所有内容的备份,但它是我想要的非svn文件夹中的代码,我不想要当前工作副本中的任何内容?

这有意义吗?

2 个答案:

答案 0 :(得分:1)

用完全不同的东西替换SVN存储库内容的最简单方法是:

  1. 完整检查存储库
  2. 删除所有文件(不是使用Windows“删除”命令,而是使用SVN右键单击子菜单中的“删除”菜单项)
  3. 承诺改变,
  4. 使用
  5. 复制要替换旧存储库内容的新文件和文件夹
  6. '+添加'全部(再次,使用SVN右键菜单)
  7. 再次提交更改。
  8. 这种'简单'方法的缺点是你将无法使用Diff来比较这两个版本之间的代码。

    方法是回溯移动,重命名,删除和更新文件的步骤,以便您仍然可以在这两个修订版之间使用差异。诀窍是:

    1. 使用SVN右键单击子菜单命令,而不是Windows文件系统操作,以便可以记录更改。
    2. 一次只对每个文件执行一次操作(因此,如果将文件移动到文件夹,重命名,然后进行修改,则应在每种类型的更改之间进行提交)

答案 1 :(得分:0)

我会使用WinMerge并递归地比较这两个目录(忽略.svn文件夹)。 假设左侧是SVN工作副本,右侧是正确的项目,而不是SVN:

  • 必须删除左侧但不在右侧的所有文件
  • 位于右侧但不在左侧的所有文件必须复制到左侧并添加到SVN
  • 两侧存在但不相同的所有文件必须在左侧由右侧文件替换
  • 双方存在的所有文件必须保持原样。

完成所有这些操作后,您只需提交即可。这样,除了重命名/移动的文件外,您将保留历史记录。