• v0.3.0 8aa12774eb

    v0.3.0 Pre-Release

    simonfranken released this 2026-10-21 18:58:43 +00:00 | 28 commits to main since this release

    Third release of submarine. Still a prototype: browsing is complete, actions are not yet implemented. This release makes the shown ref more useful and adds a way to copy a path.

    Highlights

    • A pin now resolves to the closest branch. Before, a branch = … entry in .gitmodules always won, so a pin on a pushed feature branch showed as diverged from origin/main (e.g. ↑7↓26). Now the branch containing the pin with the fewest commits after it is shown; the .gitmodules branch, the upstream and the remote default branch only break ties.
    • Side effect: a pin on main that a younger branch also contains shows that branch if its tip is closer (origin/main ↓56 becomes origin/flo-dev ↓4). The detail pane's via … line says which rule picked the ref.
    • An unpushed, detached pin without a .gitmodules branch or upstream is now compared with the remote default branch instead of falling back to a tag or SHA.
    • c copies the selected submodule's absolute path (OSC 52, works over SSH).
    • The key bar is split into groups: global keys in the footer, submodule keys in the detail pane.

    Install

    curl -fsSL https://git.simon-franken.de/simonfranken/submarine/raw/branch/main/install.sh | sh
    

    Installs submarine and the alias sub (linux/macOS, amd64/arm64) to ~/.local/bin. Update from 0.2.0 with submarine update.

    Binaries and checksums.txt are published in the package registry (generic package submarine, version v0.3.0).

    Known limitations

    • The actions u, b, / and ! only show a "not implemented" message.
    Downloads