JuliaLang / Pkg.jl

Pkg - Package manager for the Julia programming language
https://pkgdocs.julialang.org
Other
613 stars 251 forks source link

why: show all paths when package is both a direct and indirect dep #3771

Closed IanButterworth closed 5 months ago

IanButterworth commented 5 months ago

Fixes https://github.com/JuliaLang/Pkg.jl/issues/3466

Before

(@v1.11) pkg> why Sockets
  Sockets

This PR

(@v1.11) pkg> why Sockets
  PreallocationTools → ForwardDiff → DiffRules → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  PreallocationTools → ForwardDiff → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Revise → Distributed → Sockets
  Revise → Pkg → REPL → Sockets
  Revise → REPL → Sockets
  Sockets
  Symbolics → DiffRules → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → Distributions → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → Distributions → StatsFuns → HypergeometricFunctions → DualNumbers → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → Distributions → StatsFuns → HypergeometricFunctions → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → Distributions → StatsFuns → Rmath → Rmath_jll → Pkg → REPL → Sockets
  Symbolics → Distributions → StatsFuns → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → DynamicPolynomials → Pkg → REPL → Sockets
  Symbolics → SciMLBase → Distributed → Sockets
  Symbolics → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → SymbolicUtils → DynamicPolynomials → Pkg → REPL → Sockets
  Symbolics → SymbolicUtils → LabelledArrays → ForwardDiff → DiffRules → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → SymbolicUtils → LabelledArrays → ForwardDiff → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → SymbolicUtils → LabelledArrays → PreallocationTools → ForwardDiff → DiffRules → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → SymbolicUtils → LabelledArrays → PreallocationTools → ForwardDiff → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets
  Symbolics → SymbolicUtils → SpecialFunctions → OpenSpecFun_jll → Pkg → REPL → Sockets

which takes

  0.005481 seconds (18.20 k allocations: 1.406 MiB)