Configuration

VisualJJ's mental model is simple: main is the shared code, and everything on top of it is work in progress. To make that model work, VisualJJ needs to know which branch (or branches) count as "shipped" for your repository. Most repos just have main or master and need no configuration. If yours is different — or if you have more than one shipped branch — this page is for you.

Main branch

By default, VisualJJ auto-detects branches named main or master. If your primary branch has a different name, set it explicitly:

jj config set --repo "revset-aliases.'trunk()'" 'YOUR_BRANCH_NAME@origin'

For example, if your team ships to develop:

jj config set --repo "revset-aliases.'trunk()'" 'develop@origin'

Why this matters

VisualJJ uses the main branch to determine which changes have been shipped and which are still in progress. If it points to the wrong branch, you may see:

  • A warning about deep branches — VisualJJ detects unusually deep subtrees, which typically means the main branch is misconfigured
  • Shipped changes still appearing in the tree instead of being hidden
  • Slow loading times because VisualJJ is traversing more history than necessary

Multiple shipped branches

Some repositories ship work to more than one long-lived branch. Common examples:

  • A develop branch for ongoing work plus a release/* branch for stable versions
  • A main branch for the app plus a gh-pages branch for the docs site
  • Multiple active release lines (release/v1, release/v2) maintained in parallel

Any change that's an ancestor of a shipped branch is treated as "done" — VisualJJ hides it from your work-in-progress view so you see only what's still being worked on. If you ship to multiple branches, tell VisualJJ about all of them:

jj config set --repo "revset-aliases.'trunks()'" 'release@origin'

You can list as many branches as needed, separated by |:

jj config set --repo "revset-aliases.'trunks()'" 'gh-pages@origin | dev@origin | release/v2@origin'

Changes that are ancestors of any shipped branch are treated as shipped — they'll be hidden from the tree and won't affect performance.


Contact support

If you're seeing performance issues or aren't sure how to configure your repository, email support@visualjj.com. Include your OS, VisualJJ version, and a description of the issue.