将目录迁移到具有历史记录的SVN的最佳方法

时间:2011-03-26 15:41:23

标签: svn

我每周都会对源目录进行备份,并希望迁移到SVN。

在转向SVN时,我希望保留源目录的演变,以构建源树的SVN历史记录。
让我通过一个例子解释一下:

my_project_2011_02_01.zip
my_project_2011_02_13.zip
my_project_2011_02_18.zip
my_project_2011_02_23.zip
...

我的任务:

  • 解压缩第一个版本my_project_2011_02_01.zip并将其添加到my_project下的SVN。
  • 现在我要提取my_project_2011_02_13.zip并添加新文件,覆盖已更改的文件并删除不在源树中的文件。

我使用svn客户端tortoisesvn。

哪种方式是实现这一目标的最佳/最舒适的方式?

2 个答案:

答案 0 :(得分:2)

您可以编写批处理脚本,基本上为每个zip文件执行以下步骤:

  1. svn rm *(在项目文件夹中)
  2. 在项目文件夹中提取zip并复制
  3. svn add --force。 (在项目文件夹中)
  4. svn commit。 -m“项目快照版本”(在项目文件夹中)

答案 1 :(得分:0)

我怀疑唯一的办法就是先查看第一周的档案。接下来,使用第二周的存档覆盖本地文件并检入这些更改。重复操作,直到签入所有档案。

除了需要花费的时间之外,主要的烦恼是svn通常无法自动解决冲突。在您的情况下,您只需选择最新版本即可获胜,但可能会为此过程增加更多时间。

你有什么理由需要完整的历史吗?在这种情况下,我倾向于只检查最新版本,而不是担心这一点的历史。或者可能只检查与主要版本相关的档案。

编辑:要处理删除,您需要先删除硬盘上的文件,然后解压缩下一个存档。令人讨厌的部分是你需要保留.svn文件夹,以便svn可以跟踪哪些文件不同以及哪些文件被添加或删除。