From 5c59c2e6d5ceaceb0515de96ceb4c510f39cc488 Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Thu, 11 Jan 2024 20:10:00 +0800 Subject: [PATCH] feat(review): remove unused methods and refactor computeDiff This commit removes the unused methods `computeDiff` and `singleCommitCalculateDiff` from the `VcsPrompting` class. It also refactors the `computeDiff` method to remove unnecessary code and improve readability. --- .../devti/actions/vcs/CodeReviewAction.kt | 2 +- .../unitmesh/devti/prompting/VcsPrompting.kt | 67 ------------------- 2 files changed, 1 insertion(+), 68 deletions(-) diff --git a/src/main/kotlin/cc/unitmesh/devti/actions/vcs/CodeReviewAction.kt b/src/main/kotlin/cc/unitmesh/devti/actions/vcs/CodeReviewAction.kt index 4d91b959f1..3162da2616 100644 --- a/src/main/kotlin/cc/unitmesh/devti/actions/vcs/CodeReviewAction.kt +++ b/src/main/kotlin/cc/unitmesh/devti/actions/vcs/CodeReviewAction.kt @@ -66,7 +66,7 @@ open class CodeReviewAction : ChatBaseAction() { doReviewWithChanges(project, details, selectList, stories) } - fun doReviewWithChanges( + open fun doReviewWithChanges( project: Project, details: List, selectList: Array, diff --git a/src/main/kotlin/cc/unitmesh/devti/prompting/VcsPrompting.kt b/src/main/kotlin/cc/unitmesh/devti/prompting/VcsPrompting.kt index 3450a6e6af..6c0332e76f 100644 --- a/src/main/kotlin/cc/unitmesh/devti/prompting/VcsPrompting.kt +++ b/src/main/kotlin/cc/unitmesh/devti/prompting/VcsPrompting.kt @@ -139,73 +139,6 @@ class VcsPrompting(private val project: Project) { return writer.toString() } - fun computeDiff(includedChanges: List): String { - val changesByRepository = includedChanges - .mapNotNull { change -> - change.virtualFile?.let { file -> - gitRepositoryManager.getRepositoryForFileQuick( - file - ) to change - } - } - .groupBy({ it.first }, { it.second }) - - return changesByRepository - .map { (repository, changes) -> - repository?.let { - val filePatches = IdeaTextPatchBuilder.buildPatch( - project, - changes, - repository.root.toNioPath(), false, true - ) - - val stringWriter = StringWriter() - stringWriter.write("Repository: ${repository.root.path}\n") - UnifiedDiffWriter.write(project, filePatches, stringWriter, "\n", null) - stringWriter.toString() - } - } - .joinToString("\n") - } - - @Throws(VcsException::class, IOException::class) - fun singleCommitCalculateDiff(list: List, project: Project): Pair, String> { - val writer = StringWriter() - val summary: MutableList = ArrayList() - for (detail in list) { - writer.write( - """ - Message: ${detail.fullMessage} - - Changes: - - """.trimIndent() - ) - val subject = detail.subject - summary.add('"'.toString() + subject + "\"") - val filteredChanges = detail.changes.stream() - .filter { change: Change? -> - !isBinaryOrTooLarge(change!!) - } - .collect(Collectors.toList()) - - val shortChange = filteredChanges.subList(0, min(filteredChanges.size, 500)) - val patches = IdeaTextPatchBuilder.buildPatch( - project, - shortChange, - Path.of(project.basePath!!), - false, - true - ) - UnifiedDiffWriter.write( - project, project.stateStore.projectBasePath, patches, writer, "\n", null, emptyList() - ) - } - val stringWriter = writer.toString() - val diff = trimDiff(stringWriter) - return Pair, String>(summary, diff) - } - private val revisionRegex = Regex("\\(revision [^)]+\\)") private val lineTip = "\\ No newline at end of file"