static List <IBlameLine> MakeLines(string[] fileLines, FileVersionInfoBase fileVersionInfo) { var result = new List <IBlameLine>(); foreach (string line in fileLines) { result.Add(new BlameLine(fileVersionInfo, line)); } return(result); }
static void ApplyDelta(List <IBlameLine> annotation, DiffStringItem[] delta, FileVersionInfoBase fileVersionInfo) { foreach (DiffStringItem item in delta) { if (item.DeletedA > 0) { annotation.RemoveRange(item.StartB, item.DeletedA); } if (item.InsertedB > 0) { annotation.InsertRange(item.StartB, new List <string>(item.Inserted).ConvertAll(x => (IBlameLine) new BlameLine(fileVersionInfo, x))); } } }
public void AddItem(int index, FileVersionInfo info) { if (index == 0) { baseData = GetFileLines(info.Data); historyInfo[0] = new FileVersionInfoBase(info); } else { string[] revisionData = GetFileLines(info.Data); deltas[index - 1] = StringsDiff.DiffStringLines(revisionData, baseData, SpacesAction); historyInfo[index] = new FileVersionInfoBase(info); baseData = revisionData; } }
public FileVersionInfoBase(FileVersionInfoBase copy) : this(copy.Version, copy.Date, copy.User, copy.Comment) { }
public BlameLine(FileVersionInfoBase versionInfo, string sourceLine) { this.versionInfo = versionInfo; this.sourceLine = sourceLine; }