bst workspace open --force doesnt work
When I ran: bst workspace open --force core/glib-networking.bst ~/GLIB_NETWORKING and the target directory was not empty, I got the following results:
[--:--:--][][] START Loading pipeline
[00:00:01][][] SUCCESS Loading pipeline
[--:--:--][][] START Resolving pipeline
[00:00:01][][] SUCCESS Resolving pipeline
[--:--:--][][] START Resolving cached state
[00:00:01][][] SUCCESS Resolving cached state
[--:--:--][][] START Checking sources
[00:00:00][][] SUCCESS Checking sources
[--:--:--][][] START Staging sources to /home/tristan/GLIB_NETWORKING
[--:--:--][ ][ main:core/glib-networking.bst-0 ] STATUS Running host command
/usr/bin/git show 9c03e2300eeeb2f335d5146328cd2eb8ca0b99e5:.gitmodules
[--:--:--][][] START Setting up workspace "/home/tristan/GLIB_NETWORKING"
[00:00:00][][] FAILURE Setting up workspace "/home/tristan/GLIB_NETWORKING"
[00:00:00][][] FAILURE Staging sources to /home/tristan/GLIB_NETWORKING
git source at core/glib-networking.bst [line 3 column 2]: Failed to clone git mirror /home/tristan/.cache/buildstream/sources/git/https___git_gnome_org_browse_glib_networking in directory: /home/tristan/GLIB_NETWORKING/
Probably we need to stage the sources into an empty temp directory, and use utils.link_files() from the temp directory instead of giving the Source implementation a non-empty directory and hoping for the best.