Currently, dmux only loads refs/heads to let you choose the base branch to create the new pane from.
This is more limited than other places in dmux, as you cannot use remote refs. Adding support for refs/remotes loading would allow one to base a branch from a remote ref as well.
Then, you could create branches from things like origin/main, origin/release/2026.04, upstream/feature/foo.
I achieved this in https://github.com/OverHash/dmux/tree/afb8c8084de0b40fcd6ad7f5fa9a3d8d04f15df6 by:
- If both
main and origin/main exist (i.e., both a local and remote ref exist), just show main. But also accept fully-qualified origin/main.
- If only a remote ref exists, show it (
origin/release/2026.04)
I also ignored symbolic refs like origin and origin/HEAD from appearing in the picker (git for-each-ref refs/remotes shows them).
Currently, dmux only loads
refs/headsto let you choose the base branch to create the new pane from.This is more limited than other places in dmux, as you cannot use remote refs. Adding support for
refs/remotesloading would allow one to base a branch from a remote ref as well.Then, you could create branches from things like
origin/main,origin/release/2026.04,upstream/feature/foo.I achieved this in https://github.com/OverHash/dmux/tree/afb8c8084de0b40fcd6ad7f5fa9a3d8d04f15df6 by:
mainandorigin/mainexist (i.e., both a local and remote ref exist), just showmain. But also accept fully-qualifiedorigin/main.origin/release/2026.04)I also ignored symbolic refs like
originandorigin/HEADfrom appearing in the picker (git for-each-ref refs/remotesshows them).