Files
sbt/notes
BrianHotoppandClaude Opus 4.7 3eeac9deae [2.x] fix: Collapse duplicate subtrees in dependency tree rendering (#9226)
Fixes #6886.

dependencyTree, dependencyBrowseTree, and inspect tree re-explore
the same node once per incoming edge. In a DAG with N levels and M
children per node the rendered output is O(M^N) -- the OP needed
>16 GB heap, #7360 has a 6 GB heap dump, and Friendseeker's analysis
on the issue showed the exponential re-traversal directly.

Fix: track a visited set across the renderer's recursion. The first
time a node is encountered it is rendered in full; on subsequent
visits the entry collapses to a one-line +- <id> (*) (ASCII) or a
<id> (*) leaf (JSON), matching Maven's dependency:tree (*)
convention. Cycle detection (separate parents set, (cycle) marker)
is unchanged.

Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
2026-05-18 19:15:47 -04:00
..
2018-05-04 16:39:05 +02:00
2016-05-06 16:01:49 -04:00
2016-05-06 16:01:49 -04:00
2016-05-06 16:01:49 -04:00
2016-05-06 16:01:49 -04:00
2025-02-04 01:11:28 -05:00
2025-02-04 01:11:28 -05:00
2019-09-05 14:11:13 -04:00
2019-09-05 14:11:04 -04:00
2025-02-04 01:11:28 -05:00
2019-09-05 14:11:04 -04:00
2019-09-05 14:11:13 -04:00
2019-09-05 14:11:13 -04:00
2025-02-04 01:11:28 -05:00
2019-09-05 14:11:04 -04:00
2017-09-16 20:32:33 -04:00
2017-10-26 22:39:35 -04:00
2025-02-04 01:11:28 -05:00
2025-02-04 01:11:28 -05:00
2019-09-05 14:11:04 -04:00
2019-09-05 14:11:13 -04:00
2017-12-15 01:49:14 +00:00