What are people's workflows around working on multiple things? Do you use multiple clones (or git worktree?)? Do you use branches on the same clone and different build directories for different branches? Something else?
Lately, I've been using 2 clones, and I have two build directories for each clone, one for ReleaseAssert (this re-builds relatively quickly and is more handy if I'm print-debugging) and one for llvm RelWithDebInfoAssert + swift DebugAssert (if I'm using the debugger). However, sometimes switching between branches causes way too much to rebuild.
Earlier, I used to have just 1 clone but separate build directories for different branches, but I would sometimes end up using the wrong build directory from a branch, which would end up wasting a lot of time (having only 1 clone also makes things more annoying when LLVM branches need to be switched).
I'm using sccache, but build times for a llvm RelWithDebInfoAssert + swift DebugAssert are still way too slow and swift RelWithDebInfoAssert misses too many variables... I try to avoid re-building the stdlib with a debug compiler if I can, but sometimes it can't be avoided...