String (@NotNull VirtualFile root, @NotNull Set<? extends VcsRef> allRefs, @NotNull List<? extends VcsCommitMetadata> sortedCommits, @NotNull DetailedLogData firstBlockSyncData, @NotNull Set<? extends VcsRef> manuallyReadBranches, @Nullable Set<String> currentTagNames, @Nullable DetailedLogData commitsFromTags) { StringBuilder sb = new StringBuilder(); sb.append("[" + root.getName() + "]\n"); sb.append("First block data from Git:\n"); sb.append(printLogData(firstBlockSyncData)); sb.append("\n\nManually read refs:\n"); sb.append(printRefs(manuallyReadBranches)); sb.append("\n\nCurrent tag names:\n"); if (currentTagNames != null) { sb.append(StringUtil.join(currentTagNames, ", ")); if (commitsFromTags != null) { sb.append(printLogData(commitsFromTags)); } else { sb.append("\n\nCommits from new tags were not read.\n"); } } else { sb.append("\n\nCurrent tags were not read\n"); } sb.append("\n\nResult:\n"); sb.append("\nCommits (last 100): \n"); sb.append(printCommits(sortedCommits)); sb.append("\nAll refs:\n"); sb.append(printRefs(allRefs)); return sb.toString(); }