spack diff
any specs you want (#32737)
Resolves #31782 With this change, if a spec is concrete after parsing (e.g. spec.yaml or /hash-based), then it is not disambiguated (a process which requires (a) that the spec be installed and (b) that it be part of the currently-active environment). This commit allows you to: * Diff specs from an environment regardless of whether they have been installed (more useful for projection/matrix-based envs) * Diff specs read from .yaml files which may or may not be entirely different installations of Spack Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
parent
8e3c088a7a
commit
b594c0aee0
1 changed files with 6 additions and 4 deletions
|
@ -198,10 +198,12 @@ def diff(parser, args):
|
||||||
if len(args.specs) != 2:
|
if len(args.specs) != 2:
|
||||||
tty.die("You must provide two specs to diff.")
|
tty.die("You must provide two specs to diff.")
|
||||||
|
|
||||||
specs = [
|
specs = []
|
||||||
spack.cmd.disambiguate_spec(spec, env, first=args.load_first)
|
for spec in spack.cmd.parse_specs(args.specs):
|
||||||
for spec in spack.cmd.parse_specs(args.specs)
|
if spec.concrete:
|
||||||
]
|
specs.append(spec)
|
||||||
|
else:
|
||||||
|
specs.append(spack.cmd.disambiguate_spec(spec, env, first=args.load_first))
|
||||||
|
|
||||||
# Calculate the comparison (c)
|
# Calculate the comparison (c)
|
||||||
color = False if args.dump_json else get_color_when()
|
color = False if args.dump_json else get_color_when()
|
||||||
|
|
Loading…
Reference in a new issue