Closed BuildStream-Migration-Bot closed 3 years ago
In GitLab by [Gitlab user @tristanvb] on Dec 5, 2017, 19:45
mentioned in commit b2a6f104cf8fa454cb934f2e50101a5cfa256883
In GitLab by [Gitlab user @tristanvb] on Dec 5, 2017, 19:45
mentioned in commit e9166b607d6a206915369eade465502fc246c5f3
In GitLab by [Gitlab user @tristanvb] on Dec 5, 2017, 19:49
mentioned in commit d676745a9b5d9234030158a0899be5492f890bb5
In GitLab by [Gitlab user @tristanvb] on Dec 5, 2017, 19:49
mentioned in commit 3c3cd886b98366feb6ed011f0c3adbe33000136e
In GitLab by [Gitlab user @tristanvb] on Dec 5, 2017, 21:00
closed via merge request !174
See original issue on GitLab In GitLab by [Gitlab user @tristanvb] on Nov 24, 2017, 06:09
Currently the
bst checkout
command uses file copies exclusively to provide build output to the user, this is the correct default behavior because if we were to hardlink files then the user can easily corrupt their artifact cache accidentally by writing to a hardlinked file.There are some cases however where the user wants a checkout quickly and without using a huge amount of disk space, and if the user is at least aware that the checkout is unsafe and risky, we should allow it.
One legitimate use case for this, as Sébastien pointed out in this thread, is for IDE features which parse header files and provide text completion features, symbol browsers and the like; these features cannot be easily (or properly) exercised without a standard sysroot containing exactly the header files and other development metadata (such as girs or whatnot) which correspond with the target environment you are developing for.
Implementing this should be very easy, we only need to decide on the right name and help string for the unsafe but fast, hardlink using checkout command option, and use
utils.link_files()
instead ofutils.copy_files()
.