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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information