Revert default junction behaviour and add new junction config options
Description
This MR is a follow up from this discussion: !1113 (comment 135742427), and this mailing list post: https://mail.gnome.org/archives/buildstream-list/2019-June/msg00049.html
This MR reverts the default behaviour of junctions, that is, subproject Elements can no longer interact with parent project remotes.
However, in order to retain this behaviour, a new "cache-junction-elements" configuration option has been introduced. This is a junction config option. The appropriate documentation has also been added.
In addition to this, and in accordance to the mailing list post, another "ignore-junction-remotes" configuration option has been added. This ensures that subproject remotes are completely ignored.
Todo
-
Add user configuration which prevents parent project remotes being added for junction projects -
Add project level configuration which prevents parent project remotes being added for junction projects -
Add new artifact configuration which allows us to specify, for each remote, whether we want only elements from the current project. -
Revert the default junction behaviour so that subproject Elements no longer interact with parent remotes -
Add a new "cache-junction-elements" config option (default is false) which enables the "old" default behaviour -
Add a new "ignore-junction-remotes" config option (as described in the mailing list post) -
Add NEWS entry -
Add Documentation
Edited by James Ennis