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.
This commit is contained in:
Peter Scheibel 2019-04-16 19:08:10 -07:00 committed by GitHub
parent 308805cd54
commit ef8b5c73ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1029,7 +1029,14 @@ def write(self):
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: