13

如何使用 TortoiseSVN 应用一个补丁,该补丁最初因一个或多个被拒绝的帅哥而失败?

是否可以使用 TortoiseMerge 来查看补丁/失败的结果并选择我想要应用的行?

如果没有,遇到失败的帅哥后我该怎么办?手动编辑补丁文件似乎不是完美的解决方案(除了不知道如何“修复”它们)

4

4 回答 4

6

我能想到的一种方法是:

  1. 将(干净的)工作副本切换到补丁的基本版本
  2. 应用补丁
  3. 提交到一个分支
  4. 切换到主干或您的工作分支,无论您想在哪里应用补丁。
  5. 将 (3) 中的修订版执行典型的 svn 合并到您的工作副本。
于 2014-07-11T16:03:31.787 回答
3

我最终使用了内置的 Visual Studio 合并工具,如下所述:比较 Visual Studio 2012 中的两个文件。无论如何,我更喜欢 Visual Studio diff 工具而不是 TortoiseSVN。

您仍然需要另一个分支/主干来应用补丁,但这样您就不需要先提交它。

  1. 将(干净的)工作副本切换到补丁的基本版本
  2. 应用补丁
  3. 使用该链接中描述的方法之一来比较文件。
于 2015-05-04T15:11:51.827 回答
0

我的解决方案类似于 Yakov Galkas,但没有使用额外的分支:

  1. 将工作切换到补丁的基本版本
  2. 应用补丁。现在不应该有失败的帅哥。
  3. 更新到 HEAD 修订版。您可能会遇到合并冲突。
  4. 像往常一样解决合并冲突,您不必手动修复补丁文件。
于 2020-10-28T14:38:00.927 回答
0

在我们的情况下;该问题是由两次应用补丁引起的。当第一个补丁创建新文件并且在再次应用补丁之前未被删除时。

所以删除第一次运行补丁创建的文件解决了我们的问题。

于 2020-09-23T10:20:42.307 回答