private void AppendColumnsForFileDiffs(string semicolonDelimitedFilesWithDiff, bool isPr, Func <string[], string, string[]> reMapFiles, string fromRepo) { if (isPr) { var filePaths = semicolonDelimitedFilesWithDiff.Split(';'); var numFilesChanged = filePaths.Length == 1 && string.IsNullOrEmpty(filePaths[0]) ? 0 : filePaths.Length; _sb.Append('\t').Append(numFilesChanged); if (numFilesChanged != 0) { // for PRs in archived repos, how they could be re-mapped if they were transferred filePaths = reMapFiles(filePaths, fromRepo); var segmentedDiff = _diffHelper.SegmentDiff(filePaths); _sb.Append('\t').Append(string.Join(' ', filePaths)) .Append('\t').Append(string.Join(' ', segmentedDiff.Filenames)) .Append('\t').Append(string.Join(' ', segmentedDiff.Extensions)) .Append('\t').Append(_diffHelper.FlattenWithWhitespace(segmentedDiff.FolderNames)) .Append('\t').Append(_diffHelper.FlattenWithWhitespace(segmentedDiff.Folders)); } else { _sb.Append('\t', 5); } } else { _sb.Append('\t').Append(0) .Append('\t', 5); } }