WIP: Version workspaces.yml
This change introduce versioning for workspaces.yml
It adds the _versioned_structure.py
component that can be used to version structures. In a nutshell, versioned_structure
exposes the convert_structure
function. This function makes sure that the format of any structure passed comply with the last format that BuildStream handle, either by converting it if necessary or raising an error when backward compatibility is not guaranteed anymore.
This convert_structure
function is used to introduce versioning to workspaces.yml
.
The format has been changed from
element: workspace_path
to
version: 1
element:
path: workspace_path
The actual workspaces.yml
version is assumed to be 0 and the convert_structure
function convert files from version 0 to version 1 automatically.