git - 我在哪里可以找到实现的耐心差异?

标签 git version-control diff perforce

Bram Cohen 的 patience diff 在 bazaar 中作为默认 diff 和 git diff 的一个选项,在这个网站上得到了很好的回答,但我发现很难找到一个独立的独立程序来实现这个特定的 diff 算法.

例如,我想将 patience diff 应用于 perforce diffs,规范的“frobnitz”代码示例非常清楚 patience diff 如何更好:

enter image description here

右侧的终端已使用 --patience 标志调用了 git diff

我还设置了 diff-highlight perl 脚本,它的工作是反转这些行的第一个和最后一个不同部分之间的匹配行的颜色。左侧有一个例子,这并没有太大帮助,但我会让它滑动,因为至少 那个分号在那里......无论如何,对 diff-highlight 脚本进行改进不是这个问题的主题。

除了在哪里可以找到独立的 patience diff 的问题之外,如果有人知道如何让 perforce p4 使用外部 diff 程序,那也是必须要做的事情。

最佳答案

它可能不像我想要的那样理想,但从实用的角度来看,该解决方案非常好(这是一个该死的好观点)。

git diff --no-index --patience file1 file2 完成这项工作。 (感谢@StevenPenny)

$P4DIFF 变量定义了外部差异...我们只是将 git diff --patience --no-index 填入其中。

关于git - 我在哪里可以找到实现的耐心差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16066288/

相关文章:

git - 将 git 存储库一路克隆回特定提交,但不是所有内容

svn - 新手的版本控制

sql - 在 SQL Server 中对数据进行版本控制,以便用户可以对数据进行一定的削减

algorithm - 是否有类似 diff 的算法来处理移动的行 block ?

awk - 如何比较两个不同目录中的不同文件并将不同文件存储在新目录中

git - 正确地将 git merge 提交恢复到原点

git - 为什么在命令 `master` 中包含 `git fetch upstream master` ?

iphone - iPhone 项目的 Mercurial 分步指南?

linux - Unix 差异与上下文并排

git - undefined symbol "locale_charset"