public FileDiffInfo GetFileDiffInfo(string vcsFile, SpacesAction spacesAction = SpacesAction.IgnoreAll) { return(GetFileDiffInfo(vcsFile, null, spacesAction)); }
public FileDiffInfo GetFileDiffInfo(string vcsFile, Action <int, int> progressAction, SpacesAction spacesAction) { var history = new FileHistory(vcsFile, Service); FileDiffInfo diffInfo = new FileDiffInfo(history.Count); diffInfo.SpacesAction = spacesAction; int index = 0; foreach (FileVersionInfo fileVersionInfo in history) { if (progressAction != null) { progressAction(index, history.Count); } diffInfo.AddItem(index, fileVersionInfo); index++; } return(diffInfo); }
public static DiffStringItem[] DiffStringLines(string[] dataA, string[] dataB, SpacesAction spacesAction) { IEqualityComparer <string> comparer = null; if (spacesAction == SpacesAction.IgnoreChange) { comparer = new IgnoreComparer(); } else if (spacesAction == SpacesAction.IgnoreAll) { comparer = new IgnoreAllComparer(); } var lineTable = new Dictionary <string, int>(comparer); var diffDataA = new DiffData(GetIndexList(dataA, lineTable)); var diffDataB = new DiffData(GetIndexList(dataB, lineTable)); return(CreateStringDiffs(GetDiff(diffDataA, diffDataB), dataA, dataB)); }