From a4c0812610e19c9220d5e50c6cb71d0c147cee8e Mon Sep 17 00:00:00 2001 From: Dmitry Krasilschikov Date: Mon, 23 Dec 2024 09:17:09 +0200 Subject: [PATCH] LLM-13861 don't rewrite non default shelve list name (cherry picked from commit ce194d5dbeb5be8f4f46cf5114341500461520c3) IJ-CR-152138 GitOrigin-RevId: 4a3a8ad19076a2e509d74165a383e19803820998 --- platform/vcs-api/api-dump.txt | 2 ++ platform/vcs-api/src/com/intellij/vcs/ShelveTitleProvider.kt | 4 ++++ .../openapi/vcs/changes/shelf/ShelveChangesManager.java | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/platform/vcs-api/api-dump.txt b/platform/vcs-api/api-dump.txt index e5ca33e7eed7..2b5180a66b6f 100644 --- a/platform/vcs-api/api-dump.txt +++ b/platform/vcs-api/api-dump.txt @@ -2171,11 +2171,13 @@ f:com.intellij.vcs.ShelveTitlePatch - hashCode():I com.intellij.vcs.ShelveTitleProvider - sf:Companion:com.intellij.vcs.ShelveTitleProvider$Companion +- s:hasDefaultName(java.lang.String):Z - s:showGotItTooltip(com.intellij.openapi.project.Project,java.awt.Component):V - a:showTooltipPopup(com.intellij.openapi.project.Project,java.awt.Component):Z - a:suggestTitle(com.intellij.openapi.project.Project,com.intellij.vcs.ShelveTitlePatch,java.util.function.Consumer):Z f:com.intellij.vcs.ShelveTitleProvider$Companion - f:getEP_NAME():com.intellij.openapi.extensions.ExtensionPointName +- f:hasDefaultName(java.lang.String):Z - f:showGotItTooltip(com.intellij.openapi.project.Project,java.awt.Component):V com.intellij.vcs.VcsRepositoryInitializer - sf:EXTENSION_POINT_NAME:com.intellij.openapi.extensions.ExtensionPointName diff --git a/platform/vcs-api/src/com/intellij/vcs/ShelveTitleProvider.kt b/platform/vcs-api/src/com/intellij/vcs/ShelveTitleProvider.kt index e1c026597fcb..7dc86fb8c8b9 100644 --- a/platform/vcs-api/src/com/intellij/vcs/ShelveTitleProvider.kt +++ b/platform/vcs-api/src/com/intellij/vcs/ShelveTitleProvider.kt @@ -3,6 +3,7 @@ package com.intellij.vcs import com.intellij.openapi.extensions.ExtensionPointName import com.intellij.openapi.project.Project +import com.intellij.openapi.vcs.changes.LocalChangeList.getAllDefaultNames import java.awt.Component import java.util.function.Consumer @@ -25,6 +26,9 @@ interface ShelveTitleProvider { fun showGotItTooltip(project: Project, component: Component) { EP_NAME.extensionList.any { it.showTooltipPopup(project, component) } } + + @JvmStatic + fun hasDefaultName(name: String): Boolean = getAllDefaultNames().contains(name) } } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java index 3bd20600cf86..8b60a8dd9ef2 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/ShelveChangesManager.java @@ -399,7 +399,9 @@ public final class ShelveChangesManager implements PersistentStateComponent renameChangeList(changeList, name)); + if (ShelveTitleProvider.hasDefaultName(commitMessage)) { + suggestBetterName(new ShelveTitlePatch(Files.readString(patchFile), patches.size()), name -> renameChangeList(changeList, name)); + } } changeList.setName(schemePatchDir.getFileName().toString());