Example #1
0
 public FileDiffInfo GetFileDiffInfo(string vcsFile, SpacesAction spacesAction = SpacesAction.IgnoreAll)
 {
     return(GetFileDiffInfo(vcsFile, null, spacesAction));
 }
Example #2
0
        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);
        }
Example #3
0
        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));
        }