Opening a workspace on a `local` source directory in the project produces confusing results
- Dominant language
- Python
- Stars
- 140
- Forks
- 45
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 6
Description
With `doc/examples/developing`
1. open a workspace using the existing src dir
`bst workspace open hello.bst --force files/src`
2. do a build and run it
`bst build --track-all hello.bst && bst shell hello.bst hello`
(should output Hello World)
3. close the workspace
`bst workspace close hello.bst`
4. make changes to printf in hello.c
5. build again
`bst build --track-all hello.bst && bst shell hello.bst hello`
6. notice your changes from 4. will not show in the build from 5.
This is fixed if you manually remove the `hello` object sitting in `files/src` (leftover from the workspace), but there's no obvious reminder that should be done. There is no problem while the workspace is open.
Note I tested with buildstream 1.6.5 and buildstream-external from pypy, by commenting out the bst minimum version in the `project.conf`.
Sidenote, if I reset the workspace after 1. on hello.bst, it leads to a stack trace since it can't find `files/src`.
Contributor guide
Research direction
Begin with doc/examples/developing and reproduce the sequence using the listed bst workspace, build, shell, and close commands. Inspect the resulting files/src state after closing the workspace and the reset behavior; done means later builds include edits to hello.c and resetting the workspace does not fail with a stack trace.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100