diff --git a/lib/spack/spack/cmd/stage.py b/lib/spack/spack/cmd/stage.py index 8e039c832a3..474efe375cf 100644 --- a/lib/spack/spack/cmd/stage.py +++ b/lib/spack/spack/cmd/stage.py @@ -24,6 +24,7 @@ def setup_parser(subparser): subparser.add_argument( '-p', '--path', dest='path', help="path to stage package, does not add to spack tree") + arguments.add_concretizer_args(subparser) def stage(parser, args): diff --git a/lib/spack/spack/test/cmd/stage.py b/lib/spack/spack/test/cmd/stage.py index 5c586a11b02..5dec5ca3ff1 100644 --- a/lib/spack/spack/test/cmd/stage.py +++ b/lib/spack/spack/test/cmd/stage.py @@ -8,6 +8,7 @@ import pytest +import spack.config import spack.environment as ev import spack.repo from spack.main import SpackCommand @@ -122,3 +123,13 @@ def fake_stage(pkg, mirror_only=False): # assert that all were staged assert len(expected) == 0 + + +@pytest.mark.disable_clean_stage_check +def test_concretizer_arguments(mock_packages, mock_fetch): + """Make sure stage also has --reuse and --fresh flags.""" + stage("--reuse", "trivial-install-test-package") + assert spack.config.get("concretizer:reuse", None) is True + + stage("--fresh", "trivial-install-test-package") + assert spack.config.get("concretizer:reuse", None) is False diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index ca503673dad..6bdefc67541 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -1688,7 +1688,7 @@ _spack_spec() { _spack_stage() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -p --path" + SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -p --path -U --fresh --reuse" else _all_packages fi