【发布时间】:2011-03-22 12:52:16
【问题描述】:
我想知道如何改进 diff 命令作为 hg 的一部分。例如,假设我有这个代码:
line 1
line 2
lin3 3
我把它改成:
if($condition) {
line 1
line 2
line 3
}
hg diff 将显示带有“-”的原始三行和带有“+”的新五行。即使我使用 -wbB 运行以忽略空格和行更改。我明白它试图告诉我什么,但它是否可以“更智能”并意识到我只添加了两行(并提高了三行的级别)?
编辑: 是否可以让 hg diff 告诉您添加了哪些文本以及在哪里添加?与代码的“结构”如何因这些添加而改变相反?
编辑 2: 我正在使用 Mercurial 1.0.1 运行 Debian(Linux dev 2.6.26)
谢谢
【问题讨论】:
-
请问当前的 diff 输出给你带来了什么困难?此外,了解您在哪个平台上运行 Hg 也会有所帮助,因为工具可能会有所不同。
-
mdiff(1)和wdiff(1)在 Ubuntu 上的wdiff包中,可能只是工具。 -
Lazarus,Faramir 可能想要 CLI 工具,它可以像 xxdiff 一样智能,面对微小的变化。
-
@Lazarus @sarnold 是对的。我只想要一些足够“智能”的东西来检测我添加到文件中的所有内容都是两行,即 if 语句和右括号。相反,它向我显示了删除的整个代码块,然后在单独的部分中再次添加?
-
如果它只是为您提供 if 和右括号,您会丢失上下文,但这在很大程度上取决于您对 diff 输出的使用。各有千秋。