From ef8b5c73cedc0cdbc1dd93277cf533f6c89de65a Mon Sep 17 00:00:00 2001 From: Peter Scheibel Date: Tue, 16 Apr 2019 19:08:10 -0700 Subject: don't record 'view: True' in environment config (#11182) The default (implied) behavior for all environments, as of ea1de6b, is that an environment will maintain a view in a location of its choosing. ea1de6b explicitly recorded all three possible states of maintaining a view: 1. Maintain a view, and let the environment decide where to put it (default) 2. Maintain a view, and let the user decide 3. Don't maintain a view This commit updates the config writer so that for case [1], nothing will be written to the config.yaml. This will not change any existing behavior, it just serves to keep the config more compact. --- lib/spack/spack/environment.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/environment.py b/lib/spack/spack/environment.py index 68639a9deb..62cad8545c 100644 --- a/lib/spack/spack/environment.py +++ b/lib/spack/spack/environment.py @@ -1029,7 +1029,14 @@ class Environment(object): view = self._view_path else: view = False - config_dict(self.yaml)['view'] = view + + if view is not True: + # The default case is to keep an active view inside of the + # Spack environment directory. To avoid cluttering the config, + # we omit the setting in this case. + yaml_dict['view'] = view + elif 'view' in yaml_dict: + del yaml_dict['view'] # if all that worked, write out the manifest file at the top level with fs.write_tmp_and_move(self.manifest_path) as f: -- cgit v1.2.3-60-g2f50