Git单词差异转化为HTML

3

如何使用Python将git diff --word-diff命令的输出转换为HTML格式?


你看过 https://dev59.com/wnI-5IYBdhLWcg3wHUZB 和 https://dev59.com/HUvSa4cB1Zd3GeqPdUoC 吗? - Go Dan
1
是的,但与 color-words 相比,word-diff 看起来更加简洁易用(尤其是在 porcelain 输出模式下)。 - Alex
2个回答

1
你可以将调用 aha(一种将带颜色的终端文本转换为 HTML 的工具)进行管道传输。 类似这样:
git diff --word-diff | aha

如果您使用的是Debian系统,您可以从以下链接下载:http://packages.debian.org/sid/aha。希望能对您有所帮助。

即使使用 git diff --word-diff 命令可以显示彩色,但我在使用 aha 添加颜色时遇到了问题,直到我执行了 git diff --word-diff --color | aha 命令。 - Jonathan W.

0
dvicino所回答,使用aha效果很好。在我的情况下,我需要额外使用--colorgit diff --word-diff
git diff --word-diff --color | aha

需要使用 --color 有点令人困惑,因为 git diff --word-diff 可以在没有 --color 的情况下生成带有颜色的输出。但显然输出的 ANSI编码 不足以让 aha "适应"它到 HTML。

在我的特定情况下,我使用了类似以下的内容,它按预期工作。

git diff --word-diff --color [revisionhash] | aha --black --word-wrap > diff.html

我在这里添加一个完整的答案,除了我的评论之外,因为我无法找到任何表明需要 --color 的答案。也许这是一个特定于系统的问题,但或许其他人会发现这很有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接