From 9a7b79498f7434eb6ef6a036670e428668aedfba Mon Sep 17 00:00:00 2001 From: "Ilia.Shulgin" Date: Thu, 26 Feb 2026 14:40:33 +0100 Subject: [PATCH] [vcs] Apply inclusion updates regardlessly of ChangesViewDelegatingInclusionModel.inclusionState state (IJPL-236745) Previouys behavior - `inclusionState` can contain partially included changes, thus calling `addInclusion` won't trigger the update. See `ChangesViewDelegatingInclusionModel.getInclusionState`. (cherry picked from commit 8629a774a85540eba9243cc589a12408ea69ae82) IJ-CR-193723 GitOrigin-RevId: f83b9a9611557aa6bfc9a91405352c4789cabc54 --- .../ChangesViewDelegatingInclusionModel.kt | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/platform/vcs-impl/frontend/src/com/intellij/platform/vcs/impl/frontend/changes/ChangesViewDelegatingInclusionModel.kt b/platform/vcs-impl/frontend/src/com/intellij/platform/vcs/impl/frontend/changes/ChangesViewDelegatingInclusionModel.kt index 4586f6f74e8c..ddae575dbd81 100644 --- a/platform/vcs-impl/frontend/src/com/intellij/platform/vcs/impl/frontend/changes/ChangesViewDelegatingInclusionModel.kt +++ b/platform/vcs-impl/frontend/src/com/intellij/platform/vcs/impl/frontend/changes/ChangesViewDelegatingInclusionModel.kt @@ -79,21 +79,19 @@ internal class ChangesViewDelegatingInclusionModel( override fun addInclusion(items: Collection) { LOG.trace { "Adding ${items.size} items to inclusion" } - if (inclusionState.addAll(items)) { - fireInclusionChanged() - updateRequests.tryEmit { - ChangesViewInclusionModelApi.getInstance().add(project.projectId(), items.toDto()) - } + inclusionState.addAll(items) + fireInclusionChanged() + updateRequests.tryEmit { + ChangesViewInclusionModelApi.getInstance().add(project.projectId(), items.toDto()) } } override fun removeInclusion(items: Collection) { LOG.trace { "Removing ${items.size} items from inclusion" } - if (inclusionState.removeAll(items.toSet())) { - fireInclusionChanged() - updateRequests.tryEmit { - ChangesViewInclusionModelApi.getInstance().remove(project.projectId(), items.toDto()) - } + inclusionState.removeAll(items.toSet()) + fireInclusionChanged() + updateRequests.tryEmit { + ChangesViewInclusionModelApi.getInstance().remove(project.projectId(), items.toDto()) } } @@ -108,11 +106,10 @@ internal class ChangesViewDelegatingInclusionModel( override fun retainInclusion(items: Collection) { LOG.trace { "Retaining ${items.size} items in inclusion" } - if (inclusionState.retainAll(items.toSet())) { - fireInclusionChanged() - updateRequests.tryEmit { - ChangesViewInclusionModelApi.getInstance().retain(project.projectId(), items.toDto()) - } + inclusionState.retainAll(items.toSet()) + fireInclusionChanged() + updateRequests.tryEmit { + ChangesViewInclusionModelApi.getInstance().retain(project.projectId(), items.toDto()) } }