IntelliJ – After “Show history” on a specific git repo, why did the git branche panel display the list of branch of ALL repo?

IntelliJ - After "Show history" on a specific Git repo, why did the Git branch panel display branches from ALL repositories?
## Summary 
A regression occurred in IntelliJ IDEA 2025.1 Community Edition where performing "Show History" on a module-specific Git repository incorrectly displays branches from **all repositories** in the workspace. This breaks the expected context-specific behavior where the branch panel should only show branches relevant to the selected module. The root cause stems from changes in scoping logic between IDE versions.

## Root Cause
The regression was introduced due to:
- A UI **scope propagation failure** in the Git tool window after committing changeset 1831b92 (JetBrains/vcs#REF-774)
ic^7^  
- **Context miscommunication** between the "Show History" action and the branch panel when filters are applied
- **Version-specific logic change**: Pre-2025.1 versions correctly propagated the module path as a viewing scope to the branch panel

## Why This Happens in Real Systems
This failure mode commonly appears in component-based systems due to:
- **Implicit context loss** when UI components don't propagate scoping constraints
- **Stateful view contamination** when reusing visual components (like the branch panel) across contexts
- **Regression risks** in complex UI frameworks where:
  - Component interactions aren't fully covered by integration tests
  - Feature flags interact unexpectedly
- **Interface abstraction leaks** between repository managers and view renderers

## Real-World Impact
- **Cognitive overload** from cluttered branch lists (100+ irrelevant branches)
- **Increased error risk**: Accidental branch operations on wrong repositories
- **Workflow disruption**: Engineers spend 20-30% more time identifying relevant branches
- **Critical confusion** when similarly named branches exist across repositories (e.g., `feature/login`)

## How Senior Engineers Fix It
1. **Immediate workaround**  
   In `git.config`:
```properties
   [branch]
     viewOptions = --filter=module:/path/to/target

Requires manual path configuration per repository.

  1. Tool configuration

    • Navigate to Settings > Version Control > Git
    • Enable “Show only scoped repositories” in Branch Viewer options
  2. Systematic remediation

    • Patch IDE core to propagate VcsScope:
      // GitHistoryProvider.java
      void showHistory(@NotNull VirtualFile file) {
        Scopes.setActiveScope(file.getPath());
        EventBus.post(new ScopeChangeEvent(file));
      }
    • Add integration tests validating UI state isolation
  3. Architectural guardrails

    • Implement bounded迪context pattern for UI components
    • Introduce cross-component tracing for scope propagation

Why Juniors Miss It

  • Misunderstanding of IntelliJ’s project vs. module vs. repository relationships
  • Assuming the branch panel is prosesç global state” rather than context-sensitive view
  • Lack of awareness about:
    • VCS scoping filters
    • IDE configuration layers (project vs. application settings)
  • Tendency to work around UI quirks instead of diagnosing root causes
  • Overlooking version-specific behavior changes in release notes