mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs]: advertise VCS integration plugins if the project uses it (IJPL-201700)
GitOrigin-RevId: 50c937a607749715dbc841db02bee2c77b9ada0d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
f8ee971280
commit
85909a9641
@@ -1306,5 +1306,5 @@ diff.title.revision.tooltip=[{0}] {1}<br/><br/>by {2} on {3}
|
||||
|
||||
action.Vcs.Commit.CloseDialog.text=Close Commit Dialog
|
||||
group.ChangesView.ViewOptions.text=View Options
|
||||
|
||||
more.via.plugins.link=More via plugins\u2026
|
||||
plugins.configurable.suggested.vcs.features=This plugin is suggested because your project uses {0} Version Control
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
<!-- preload only for performance reasons -->
|
||||
<projectService serviceInterface="com.intellij.openapi.vcs.ProjectLevelVcsManager"
|
||||
serviceImplementation="com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl" preload="notHeadless"/>
|
||||
<dependencyCollector kind="vcs" implementation="com.intellij.openapi.vcs.impl.MissingVcsPluginAdvertiser"/>
|
||||
<!--suppress LightServiceMigrationXML - see DefaultProjectStoreTest (IDE needs to know correct Storage without service being loaded) -->
|
||||
<projectService serviceImplementation="com.intellij.openapi.vcs.impl.OptionsAndConfirmationsHolder"/>
|
||||
<projectService serviceInterface="com.intellij.vcs.console.VcsConsoleTabService"
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.impl
|
||||
|
||||
import com.intellij.ide.plugins.DependencyCollector
|
||||
import com.intellij.ide.plugins.DependencyInformation
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.ProjectLevelVcsManager
|
||||
import com.intellij.openapi.vcs.VcsBundle
|
||||
import com.intellij.openapi.vcs.impl.projectlevelman.AllVcses
|
||||
|
||||
/**
|
||||
* Advertises VCS plugins that were unbundled, but the project uses them.
|
||||
*/
|
||||
internal class MissingVcsPluginAdvertiser : DependencyCollector {
|
||||
override suspend fun collectDependencies(project: Project): Collection<DependencyInformation> {
|
||||
return ProjectLevelVcsManager.getInstance(project)
|
||||
.getDirectoryMappings()
|
||||
.asSequence()
|
||||
.filter { AllVcses.getInstance(project).getByName(it.vcs) == null }
|
||||
.map {
|
||||
val vcsName = it.vcs
|
||||
DependencyInformation(vcsName.lowercase(),
|
||||
VcsBundle.message("plugins.configurable.suggested.vcs.features", vcsName))
|
||||
}.toList()
|
||||
}
|
||||
}
|
||||
@@ -573,6 +573,8 @@
|
||||
</actions>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<dependencySupport kind="vcs" coordinate="vcs:git" displayName="Git"/>
|
||||
|
||||
<advancedSetting id="git.clone.recurse.submodules" default="true" groupKey="advanced.settings.git"/>
|
||||
<advancedSetting id="git.read.content.with" enumClass="git4idea.util.GitTextConvMode" default="FILTERS"
|
||||
groupKey="advanced.settings.git"/>
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
<depends>com.intellij.modules.vcs</depends>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<dependencySupport kind="vcs" coordinate="hg4idea" displayName="Mercurial"/>
|
||||
|
||||
<search.projectOptionsTopHitProvider implementation="org.zmlx.hg4idea.HgOptionsTopHitProvider"/>
|
||||
<vcs name="hg4idea" vcsClass="org.zmlx.hg4idea.HgVcs" displayName="Mercurial" administrativeAreaName=".hg"/>
|
||||
<projectConfigurable id="vcs.Mercurial" key="hg4idea.mercurial" instance="org.zmlx.hg4idea.HgProjectConfigurable"
|
||||
|
||||
@@ -128,6 +128,8 @@
|
||||
</extensionPoints>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<dependencySupport kind="vcs" coordinate="svn" displayName="Subversion"/>
|
||||
|
||||
<registryKey key="svn.use.incoming.optimization" defaultValue="false"
|
||||
description="Use remotely (in svn repository) changed files list to optimize incoming revisions processing"/>
|
||||
<registryKey key="svn.lowest.supported.format.for.command.line" defaultValue="1.7.0"
|
||||
|
||||
Reference in New Issue
Block a user