【问题标题】:TortoiseSVN : Good 'patch file' viewer?TortoiseSVN:好的“补丁文件”查看器?
【发布时间】:2011-02-23 02:42:13
【问题描述】:

默认的补丁文件查看器很混乱(即没有并排差异视图等)。我尝试在“设置->统一差异查看器->自定义”中设置超越比较 exe 的路径,但超越比较的行为也与默认差异工具相同。 有没有办法至少允许补丁文件中的并排差异?如果是这样,方法是什么? 我的目标是允许通过电子邮件发送更改,以便在我提交更改之前对其进行审核:)

米沙尔

【问题讨论】:

  • 在提交之前更改电子邮件?这听起来很乏味,特别是当您有 40 个文件要提交时。
  • 是的,在那种情况下,我同意这听起来确实很乏味。但通常对于中小型更改,我们会让开发人员带人到他们的办公桌前进行审查,因此一次只有一个人在审查。电子邮件允许任意数量的同行同时进行审查,并且审查可以按照自己的节奏进行。当在别人的办公桌上进行审查时,如果变化很大,每个人似乎都有点仓促(这就是我的感觉.. :)
  • @mishal153:您可能想尝试像ReviewBoard 这样的基于网络的评论工具。如果人们想回退到旧方法,它甚至会为您生成补丁文件。它甚至可以免费用于商业用途。

标签: tortoisesvn diff beyondcompare


【解决方案1】:

我从来没有找到,但我通常使用的解决方案是简单地将补丁文件应用到树的原始签出,然后执行“常规”差异(我的首选工具是 diffuse)查看上下文的变化。

“原始”补丁文件的问题在于它们仅提供更改前后的几行上下文,这通常是不够的。

如果您不喜欢该补丁,只需还原更改并且不要提交!

【讨论】:

  • 好的,是的,这听起来可行。好吧,当我试图按照您所说的进行操作时,我确实找到了一种方法。在执行“应用补丁”时,它确实让我们在应用补丁之前预览每个文件中的更改。补丁的唯一问题是,正如您所提到的,它只包含更改的代码行,而不是完整的“之前”和“之后”文件。因此,代码必须存在于系统中。嗯...谢谢。
  • 好吧...我将其标记为正确,因为似乎没有任何其他逻辑可能性可以仅通过补丁文件来实现我最初想要的:)(因为它包含的信息太少) .
  • 问题是,我来到这里是因为我的补丁由于某种原因被“拒绝”、“无效”,我想用这个补丁替换旧代码。所以我需要看到直接复制到代码中,无法应用..
【解决方案2】:

我认为 SVN 1.7 自发布此答案以来已发布,我来到这里是因为我想展示我新创建的带有语法着色的补丁文件,这是 TortoiseSvn 中的统一差异视图。

事实证明,如果我给它的文件类型为“patch”,Notepad++ 会自动为我的文件正确语法着色!

补丁已经存在了很长时间,但 SVN 现在更全面地支持它们。 参见例如文档; http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-patch.html

有关如何创建补丁文件,请参阅这个很好的文档,其中描述了各种方法,包括我的 WinMerge; http://docs.moodle.org/dev/How_to_create_a_patch#Creating_a_patch_using_WinMerge

【讨论】:

    【解决方案3】:

    Beyond Compare 4 允许您查看由 SVN 创建的补丁文件。 Beyond Compare 的顶部窗口是一个树形结构,允许您按名称导航文件夹和文件。修订号显示在左右差异窗口中。

    创建补丁

    svn diff -r 5922:6116 > CodeReview.patch
    

    在 Beyond Compare 4 中打开补丁

    【讨论】:

      【解决方案4】:

      如果您可以访问 Mac OS X 机器,PatchViewer 听起来可能会满足您的需求: http://appledeveloper.com.au/products/patchviewer/

      (免责声明:我是 PatchViewer 的作者。)

      【讨论】:

      • 嗨,欢迎来到 Stack Overflow。感谢您实际披露您的隶属关系。但是,社区通常不喜欢 1-rep 用户在这里什么都不做,只宣传他们的软件,我们的常见问题解答还提到,如果您的大多数/所有帖子都是促销性的,那么您可能在这里错了。请考虑回答与您的申请无关的问题。
      • @ThiefMaster 我没有检查其他答案,但在 2k+ 代表处,我认为 user20167021 已经获得了评论修订。 ;^)
      【解决方案5】:

      您可以在 KDE 环境中使用 Kompare 查看 diff 文件(由 diff 工具生成的补丁)。我之前在Linux上使用过,但今天我找到了如何在Windows上安装它。这是来自博客“Kompare - M$Windows 唯一有价值的差异”的安装说明:

      1. 转到gnuwin32 diffutils,下载并安装。
      2. 下载kdewin installer并启动它。
      3. 安装 kde4win 后 - 启动 kompare 并在“Diff”部分显示您的 diff.exe(来自 gnuwin32 diffutils)所在的位置。
      4. 重启 Kompare 即可使用!

      您还可以添加与 .diff 文件格式的关联,现在您可以查看任何 diff 文件。对我来说效果很好。

      【讨论】:

        【解决方案6】:

        我喜欢使用KDiff3,它功能齐全,非常用户友好,适用于所有流行平台。它还可以与 TortoiseSVN 集成。

        【讨论】:

        • beyond compare 实际上与普通差异的 SVN 兼容。所以这不是问题。问题是以普通 diff 样式查看补丁文件(左右 2 个窗格,显示前后)。
        • 据我所知,KDiff3 无法查看补丁文件。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-10
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多