gpt4 book ai didi

linux - 无法使用 meld 进行 svn diff

转载 作者:IT王子 更新时间:2023-10-29 01:12:13 26 4
gpt4 key购买 nike

我想用meld来查看修订之间的差异。我安装了meld然后在项目目录下执行:

svn diff -r 2165:2182 --diff-cmd meld

但它会出现以下错误:

Index: app/models/college_friends_count.rb
===================================================================
svn: E200012: Process 'meld' failed (exitwhy 2)

谁能告诉我这里出了什么问题?

最佳答案

我相信 E200012 表示底层进程 (meld) 以非零退出代码退出。许多 diff 工具这样做是为了指示 diff 操作的结果(0 = 无差异 1 = 差异等)。

虽然我的 meld 版本似乎没有使用非零退出代码,但我知道 colordiff 确实如此,它会在目录爬行“svn diff”期间停止 SVN,就像上面的示例一样。在没有任何要测试的更改的文件上尝试。

一个很好的解决方法是制作您自己的 diff 命令,假设您将其命名为 meld_svn:

#!/bin/bash
meld "$6" "$7"
exit 0

所以我们正在做的是忽略 meld 的退出代码,并使用我们自己的退出代码(这不会停止 SVN)。参数周围的引号意味着其中包含空格的文件名不会破坏您的脚本。

让它可执行,然后编辑你的 ~/.subversion/config 并将 diff-cmd 设置为“meld_svn”。这对 colordiff 非常有用,如果 meld 确实以非零退出代码退出,应该可以解决你的 meld 问题。

希望对您有所帮助。

关于linux - 无法使用 meld 进行 svn diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11114586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com