旧的diff
、patch
、 和merge
程序以及它们以版本控制系统形式出现的现代后代非常适合管理可由多人同时编辑的源代码。
然而,它们是严格面向行的,因此往往会在形式更自由的文本上表现不佳。在我的特定情况下,我正在处理latex
由多人编辑的文件,并且文本不断地重排 - 在段落中添加或减去单词会改变段落其余部分的行边界。有diff
一些工具可以突出显示一行中的更改(许多现代 GUI 工具),甚至可以处理重排文本(wdiff
, git diff --word-diff
)。然而,我没有发现任何可以处理三向合并或修补的东西。
有谁知道有一个可以自动执行此操作的好工具吗? (是的,我可以将文本切碎,以便将每个单词(和空白区域)放在单独的行上。类似于 的格式git diff --word-diff=porcelain
可能不是一个坏选择。但是,使其可逆且对自动合并具有鲁棒性(包括合并冲突标记)并不是很简单)。
并道司机的奖励积分git
。
答案1
Wiggle (git://neil.brown.name/wiggle) 可以做到这一点,并且有一个 Debian 软件包