"git diff --word-diff"换行符是否模棱两可?



我正在尝试解析git diff,我相信我能够用简单的命令(没有diff)毫无疑问地做到这一点。我想加入单词diff,但我很难理解规则,特别是关于新行的规则。

例如,普通diff可能会给我这样的输出:

-using LongNameSpace.LongMessages.InternalMessages.Amazon;
-using LongNameSpace.Voice;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
using NameSpace.Common.Enums;

而单词diff=plain的同一段代码是:

[-using LongNameSpace.LongMessages.InternalMessages.Amazon;-]using [-LongNameSpace.Voice;-]{+System;+}
{+using System.Collections.Generic;+}
{+using System.Data;+}
{+using System.Linq;+}
using NameSpace.Common.Enums;

我的问题是单词diff版本的第一行。从程序上讲,我怎么知道一个新行作为第一个using末尾的第一行的一部分被删除,而不是第一个和第二个using都共享同一行?

如--word diff-doc 中所述

默认情况下,单词由空格分隔;参见下面的--word-diff-regex

并且只有使用特殊的(正确的)--word diff regex,您才能添加对EOL作为单词分隔符的支持。

但是,是的,正如@torek所写的,它对编程解决方案没有帮助,单词diff是";只为你的眼睛";

最新更新