Distinguish between tracking and saving in `bst build --track`
Currently, bst track
will track the recent tips of any trackable sources and reserialize the elements which need to be rewritten.
This makes sense for bst track
because there can be no other desired outcome.
For bst build
however, re-serializing and saving the results is not always a desired side effect.
This can be frustrating for a developer who only wants to be in sync with an upstream BuildStream project that is revisioned with git.
When bst build --track
saves the results of tracking in your project, your workflow for every time you want to build the latest will be:
- git reset --hard master
- git pull
- bst build --track
Rather, if we separated the two, into say, bst build --track
and bst build --track-save
, then the user who wants to always build the latest; can call git pull
on the project and bst build --track
every time without introducing any debris in the project directory.