Skip to content

FR: Workstream markers #7845

@andriyDev

Description

@andriyDev

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:

  1. jj marker set-default bug_1234. Any new commits created after that point are marked with the bug_1234.
  2. jj log --markers=bug_1234 to display only commits with that marker.
  3. jj marker add -r @- bug_1234
  4. jj 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions