我正在尝试解析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是";只为你的眼睛";