Truncate spack concretize output in environments#44386
Truncate spack concretize output in environments#44386scheibelp wants to merge 2 commits intospack:developfrom
spack concretize output in environments#44386Conversation
spack concretize output in environments
|
Bit surprised to see a PR since this has been discussed at various points over the last couple years. I agree that output is too verbose, but I don't think this implementation is best exactly for the reasons mentioned: shared deps. What's the point of printing To me it makes more sense to use That's pretty trivial, except you need to have some callback to print section headers for abstract roots. |
I can handle shared deps as well, although:
|
|
@tgamblin ping since you mentioned an interest |
... and account for bugs ;) Something like: tree = traverse.traverse_tree(env.concrete_roots(), depth_first=False, key=traverse.by_dag_hash)
for (depth, edge) in tree:
if depth == 0:
# format corresponding abstract spec
# format edge.specwhere |
|
@scheibelp take a look at #44489 |
If you have an environment speclist like:
where
x -> y -> z,spack concretize ...will print each of x, y, z completely. This PR reduces duplication by omitting a printout of any root spec that is a dependency of another root spec.This does not eliminate all forms of duplication, e.g. if
x->zandy->z, but! x->y, thenzwould be printed for each ofx,y.