在SVN中手动合并期间删除文件

时间:2010-11-09 20:53:18

标签: windows svn tortoisesvn

SVN合并(分支到主干)给了我很多麻烦。现在我不是它的专家,这是问题的一部分(然后我不应该成为它的专家......因为这是重点,它应该让我的生活更轻松)。无论如何,我有一个快速开发的框架,很多时候文件夹/文件被删除/重命名。删除/重命名本身在SVN中是不直观的(无论如何通过乌龟),但我会让它滑动。

合并时出现问题。如果我删除/重命名了文件或目录,则会出现树冲突。有时合并无法将文件添加到已添加到分支的主干,并继续告诉我合并成功(并且没有添加任何文件)。我现在已经使用手动合并这些问题分支。

除非重命名或删除,否则手动合并很容易。我也会将重命名视为删除,因为最终它就是它的真实含义。当我进行手动合并时,有没有办法自动删除行李箱中留下的文件夹和文件?

这就是我进行手动合并的方式

  1. 从分支机构导出所有已更改的文件
  2. 切换到主干,覆盖所有现有文件,同时添加新文件夹/文件
  3. 提交
  4. 重申一下,删除重命名/删除的文件/文件夹的难点是进行比较。有更简单的方法吗?

    谢谢!

      P.S:我正在考虑改用mercurial,因为合并不是一项艰巨的任务,因为它在SVN中,or so I have heard ......这个说法是否有任何重要性?

1 个答案:

答案 0 :(得分:0)

当我进行这种手动合并时(例如,当此项目没有公共版本控制时,重复从某个外部项目重新导入源代码时),我通常编写一个执行树比较的脚本。它将列出两个树中的所有文件,并比较这些列表。与subversion一起提供的一个这样的脚本是svn_load_dirs

至于您观察到添加和删除的自动合并失败:如果您想获得帮助,请将其作为单独的问题发布。可能是你做错了 - 这应该有效。