【问题标题】:Deleting files during Manual Merge in SVN在 SVN 中手动合并期间删除文件
【发布时间】:2010-11-09 20:53:17
【问题描述】:

SVN 合并(分支到主干)给我带来了很多麻烦。现在我不是这方面的专家,这是问题的一部分(那么我也不应该成为这方面的专家......因为这就是重点,它应该让我的生活更轻松)。无论如何,我有一个快速发展的框架,并且很多次文件夹/文件被删除/重命名。删除/重命名本身在 SVN 中是不直观的(无论如何都要通过乌龟),但我会让它滑落。

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

手动合并非常简单,除非有重命名或删除。我也将重命名视为删除,因为最终它就是这样。当我进行手动合并时,有没有办法自动删除留在后备箱中的文件夹和文件?

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

  1. 从分支中导出所有更改的文件
  2. 切换到主干,覆盖所有现有文件,同时添加新文件夹/文件
  3. 提交

重申一下,删除重命名/删除的文件/文件夹的硬方法是进行比较。有没有更简单的方法?

谢谢!

P.S:我正在考虑改用 mercurial,因为合并不像 SVN 中那样是一项艰巨的任务,or so I have heard... 这种说法有什么分量吗?

【问题讨论】:

    标签: windows svn tortoisesvn


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的建议。我检查了有问题的主干和分支,并手动检查了所有文件夹/文件并删除了旧文件/文件夹,然后执行了提交。然后我做了一棵树与乌龟 svn 比较,以确保树枝和树干是相同的。它给我的比较令人困惑。实际上它们现在相同时仍然​​显示出差异。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2012-06-19
    相关资源
    最近更新 更多