Commits on Source 10
-
Jonathan Maw authored
Searching for the workspace file is preferred to searching for the project file for the moment, because it avoids the circumstance of the workspaces being inside a directory where a higher-level directory may have project.conf (but may not be a buildstream project).
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
cli: Interactively warn if the user is trying to close the workspace they're using to load the project This involves changes in: * _stream.py: * Add the helper Stream.workspace_is_required() * userconfig.yaml: * Add a default value for prompt.really-workspace-close-project-inaccessible * _context.py: * Load the prompt 'really-workspace-close-project-inaccessible' from user config. * cli.py: * If buildstream is invoked interactively, prompt the user to confirm that they want to close the workspace they're using to load this project.
-
Jonathan Maw authored
-
Jonathan Maw authored
-
Jonathan Maw authored
Known issues: * `bst shell` works, but `bst shell COMMANDS...` doesn't, because click has no way of separating optional args from variable-length args. * `bst checkout`'s usage string marks LOCATION as an optional argument. Because click gets confused if there's an optional argument before a mandatory argument, I had to mark LOCATION as optional internally. * `bst workspace open` makes no sense with element being optional, so I skipped it. * `bst workspace close` will probably need to be revisited when multiple projects can own one workspace. * `bst workspace reset` will happily delete the directory you're currently in, requiring you to `cd $PWD` to see the contents of your directory. I could exclude the top-level directory of the workspace being deleted, but it is entirely valid to run workspace commands from deeper in the workspace. * I'm not sure if `bst source-bundle` is working correctly, but I don't think my changes are responsible.
-
Jonathan Maw authored
Note: This omits tests of `bst shell` because a command-line can't be passed without also specifying an element.