FR: Workstream markers
Is your feature request related to a problem? Please describe. Often times I want to manage several different workstreams at once, so I'll work on one task for a while (generating several commit trees associated with it for each of my various attempts), then I'll take a break and work on a different task (which generates its own set of attempts). This ends up making my history a jumble of commits from various unfinished projects and attempts that are hard to keep track of. Often these commits are unnamed as I just decide I don't like a path and want to try another attempt on a different commit (with the possibility of coming back). Having many unnamed commits corresponding to a mix of tasks sucks!
Describe the solution you'd like A system for marking commits automatically. For example:
jj marker set-default bug_1234. Any new commits created after that point are marked with thebug_1234.jj log --markers=bug_1234to display only commits with that marker.jj marker add -r @- bug_1234jj marker remove -r @- bug_1234
Commits could maybe have multiple tags allowing to do all sorts of filtering.
Describe alternatives you've considered
One simpler solution could be to provide a way to set the default commit message for "working directory" commits. This way at least any commits that I don't explicitly jj commit will have an appropriate name for what I was working on at the time, and hopefully the actually committed commits have more descriptive names.
A workaround as a user could be to use workspaces, however this seems like a big hammer since I don't really need a whole other file tree for one task, and I don't intend to work on things in parallel here.
This sounds a lot like Topics, which isn't really defined yet.
But for your specific case, couldn't you just use describe? There is a setting for the default description in the editor.
Ahh topics (#3402) do seem similar, assuming that it behaves in the "no constraints" manner.
Describe only works if I do it for every single commit, which I may forget to do if I'm trying out lots of versions of a feature design, or if I want to quickly switch between workstreams.
I tried changing the default description, but that only works if you call jj commit, it doesn't automatically apply to jj new for example.
Well, you can make an alias for your temp message. Both new and commit take a -m option.