以单词粒度而不是行粒度工作的合并

wno*_*ise 6 software-rec diff patch text-processing

旧的diffpatchmerge程序及其现代派生的版本控制系统非常适合管理可以由多人同时编辑的源代码。

然而,它们是严格面向行的,因此往往会落在更自由形式的文本上。在我的特殊情况下,我正在处理latex由多人编辑的文件,并且文本不断重排——在段落中添加或减去一个词会改变段落其余部分的行边界。有一些diff工具可以突出显示一行中的更改(许多现代 GUI 工具),甚至处理重排文本(wdiff, git diff --word-diff)。但是,我没有发现任何可以处理三向合并或修补的东西。

有谁知道一个可以自动执行此操作的好工具?(是的,我可以将文本切碎,以便将每个单词(和一行空白)放在单独的行上。像 for 的格式这样的东西git diff --word-diff=porcelain可能不是一个糟糕的选择。但要使这种可逆和强大的自动合并(包括合并冲突标记)并不是很简单)。

git合并驱动程序的奖励积分。

小智 4

Wiggle (git://neil.brown.name/wiggle) 可以做到这一点,并且有一个 Debian 软件包