spack/share/spack
Vanessasaurus 54e8e19a60
adding spack diff command (#22283)
A `spack diff` will take two specs, and then use the spack.solver.asp.SpackSolverSetup to generate
lists of facts about each (e.g., nodes, variants, etc.) and then take a set difference between the
two to show the user the differences.

Example output:

    $ spack diff python@2.7.8 python@3.8.11
     ==> Warning: This interface is subject to change.

     --- python@2.7.8/tsxdi6gl4lihp25qrm4d6nys3nypufbf
     +++ python@3.8.11/yjtseru4nbpllbaxb46q7wfkyxbuvzxx
     @@ variant_value @@
     -  python patches a8c52415a8b03c0e5f28b5d52ae498f7a7e602007db2b9554df28cd5685839b8
     +  python patches 0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87
     @@ version @@
     -  openssl Version(1.0.2u)
     +  openssl Version(1.1.1k)
     -  python Version(2.7.8)
     +  python Version(3.8.11)

Currently this uses diff-like output but we will attempt to improve on this in the future.

One use case for `spack diff` is whenever a user has a disambiguate situation and cannot 
remember how two different installs are different. The command can also output `--json` in
the case of a more analysis type use case where we want to save complete data with all
diffs and the intersection. However, the command is really more intended for a command
line use case, and we likely will have an analyzer more suited to saving data

Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2021-07-30 00:08:38 -07:00
..
bash fix setup-env.sh on older linux zsh (#21721) 2021-03-10 09:44:50 -08:00
csh copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
docker docker: remove boto3 from CentOS 6 since it requires and updated pip (#24813) 2021-07-10 00:45:30 +00:00
docs/docker/module-file-tutorial copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
gitlab Move build tests from GA to Gitlab (#25120) 2021-07-29 09:08:32 +02:00
keys update tutorial public key 2021-04-14 23:53:07 -07:00
logo add artisanal handcrafted SVG Spack logo. (#6165) 2017-11-06 22:42:16 -08:00
qa bugfix: be careful about GITHUB_BASE_REF in spack style 2021-07-27 17:57:17 -07:00
templates Adding support for spack monitor with containerize (#23777) 2021-06-17 17:15:22 -07:00
setup-env.csh Introduce a SPACK_PYTHON environment variable (#21222) 2021-02-12 10:52:44 -08:00
setup-env.fish setup-env: allow users to skip slow parts (#24545) 2021-07-08 17:07:26 +02:00
setup-env.sh setup-env: allow users to skip slow parts (#24545) 2021-07-08 17:07:26 +02:00
setup-tutorial-env.sh Tab to spaces (#22362) 2021-03-18 06:20:06 +00:00
spack-completion.bash adding spack diff command (#22283) 2021-07-30 00:08:38 -07:00