【问题标题】:How do I get a pretty visual diff for svn?如何获得 svn 的漂亮视觉差异?
【发布时间】:2010-09-22 17:13:46
【问题描述】:

我希望 tkdiff(或类似的东西)显示我的“svn diff”,以便我可以在 tkdiff 界面本身中切换文件。

(我使用的是 Mac。)

【问题讨论】:

    标签: svn diff


    【解决方案1】:

    我使用 TortoiseSVN 的一个窗口,这个星球上最好的 SCM 客户端。

    在 Linux 上,我最接近的方法是安装 meld 并运行以下颠覆命令:

    svn diff MyFile.txt --diff-cmd meld
    

    【讨论】:

    • 这似乎对我没有任何帮助? (我已经安装了融合)。
    • 您可以通过将以下行添加到文件中来使“--diff-cmd”选项永久化:“diff-cmd = meld”:~/.subversion/config。
    • 另外,另一个不错的图形差异工具是“tkdiff”,但我想这完全取决于个人喜好。
    • @Avian00 我已经转向 git :-)
    • @DavidDoria meld 不理解 svn 传递的参数。有关更多信息,请参阅 thisthis 答案。
    【解决方案2】:

    最简单的方法是使用 SVN 客户端。它将启用命令行 SVN 不提供的附加功能。

    在 Windows 上,我推荐TortoiseSVN。它允许与第三方差异工具集成,例如Araxis Merge

    Similar tools 存在于其他允许您执行相同操作的操作系统上。

    【讨论】:

    【解决方案3】:

    我使用的是 Mac OS,但同样适用于其他 Unix 系统(它们可能需要融合)

    但在 Mac 中, 只需使用 macport 或 brew 安装 tkdiff 像 酿造安装 tkdiff 或者 sudo 端口安装 tkdiff

    然后在您的 SVN 项目文件夹中简单键入以下命令。

    svn diff --diff-cmd tkdiff
    

    【讨论】:

    • 我收到一个错误:exec of 'tkdiff' failed: No such file or directorysvn: E200012: 'tkdiff' returned 255
    【解决方案4】:

    安装ColorDiff

    $ sudo apt-get install colordiff
    

    配置 Subversion 客户端

    在你喜欢的文本编辑器中打开~/.subversion/config,然后搜索这一行:

    # diff-cmd = diff_program (diff, gdiff, etc.)
    

    在下面添加这一行(我喜欢保持默认示例不变):

    diff-cmd = colordiff
    

    重启终端,现在你可以看到五颜六色的svn diff

    【讨论】:

      【解决方案5】:

      如果仅限于 Linux 控制台,我发现将以下函数放在我的 .bashrc 中非常有帮助

      svndiff() { vimdiff <(svn cat "$1") "$1";  }
      

      命令

      svndiff MyFile.txt
      

      然后将打开 vimdiff 并并排显示差异。

      【讨论】:

      • 谢谢,自 2010 年以来,我确实开始使用 vimdiff,并且我已经升级到了 mercurial。
      • 不知道 svn cat,这很酷。聪明的脚本。
      【解决方案6】:

      TortoiseSVN 正如许多人已经提到的那样。它有一个名为 TortoiseMerge 的内置文本文件比较应用程序。但是一个更漂亮的文本文件比较工具是WinMerge,如果你安装它可以与 TortoiseSVN 集成。即使是与非 SVN 相关的文件比较,它也很棒。

      【讨论】:

        【解决方案7】:

        http://www.pixelbeat.org/scripts/idiff 只是一个讨厌的过滤器:

        svn diff | idiff
        

        【讨论】:

        • 这很好,有点像默认的 git。谢谢。
        • 如何在 Mac 上使用?
        • Mac 应该可以毫无问题地运行它
        【解决方案8】:

        这有点复杂,需要编写一个包装脚本来模拟 diff 和 diff3 工具

        Here is more info关于它。

        【讨论】:

          【解决方案9】:

          当你输入“svn help diff”时,你会得到一个名为“--diff-cmd ARG”的选项。这是一个使用 tkdiff 来查看较早版本的更改的简单示例。

          svn diff --diff-cmd tkdiff adc_ctrl.sv -r 768
          
          

          这里,768 是 svn 的修订号。

          【讨论】:

          • 谢谢,但这个问题已有十年历史了。 SVN 基本上已经死了。
          猜你喜欢
          • 2020-05-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-14
          • 2012-04-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多