-
v0.3.0 Pre-Release
released this
2026-10-21 18:58:43 +00:00 | 28 commits to main since this releaseThird 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.gitmodulesalways won, so a pin on a pushed feature branch showed as diverged fromorigin/main(e.g.↑7↓26). Now the branch containing the pin with the fewest commits after it is shown; the.gitmodulesbranch, the upstream and the remote default branch only break ties. - Side effect: a pin on
mainthat a younger branch also contains shows that branch if its tip is closer (origin/main ↓56becomesorigin/flo-dev ↓4). The detail pane'svia …line says which rule picked the ref. - An unpushed, detached pin without a
.gitmodulesbranch or upstream is now compared with the remote default branch instead of falling back to a tag or SHA. ccopies 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 | shInstalls
submarineand the aliassub(linux/macOS, amd64/arm64) to~/.local/bin. Update from 0.2.0 withsubmarine update.Binaries and
checksums.txtare published in the package registry (generic packagesubmarine, versionv0.3.0).Known limitations
- The actions
u,b,/and!only show a "not implemented" message.
Downloads
- A pin now resolves to the closest branch. Before, a
-
v0.2.0 Pre-Release
released this
2026-10-21 18:30:14 +00:00 | 30 commits to main since this releaseSecond release of submarine. Still a prototype: browsing is complete, actions are not yet implemented. This release is about making problems visible and easier to navigate.
Highlights
- Failed loads are now visible. A submodule whose status cannot be read (e.g. a stale
.gitmodulesentry without a gitlink) showserror, is counted asn errorin the top bar, and no longer keepsn loadingthere forever. - Collapsed parents show hidden issues per level:
·1 ·1is one error (red) plus one warning (yellow), instead of a single count in the worst color. A hidden load error counts as an error. - Untracked directories that are git repositories themselves (cloned, never added as a submodule) are shown as
untracked repository. - Expand/collapse all also works with
shift+←/→andH/L, sincectrl+←/→is captured on macOS. - The key legend now shows
j/k,h/land the expand/collapse-all keys.
Install
curl -fsSL https://git.simon-franken.de/simonfranken/submarine/raw/branch/main/install.sh | shInstalls
submarineand the aliassub(linux/macOS, amd64/arm64) to~/.local/bin. Update from 0.1.0 withsubmarine update.Binaries and
checksums.txtare published in the package registry (generic packagesubmarine, version0.2.0).Known limitations
- The actions
u,b,/and!only show a "not implemented" message.
Downloads
- Failed loads are now visible. A submodule whose status cannot be read (e.g. a stale
-
v0.1.0 Pre-Release
released this
2026-10-21 18:01:04 +00:00 | 38 commits to main since this releaseFirst release of submarine, a terminal UI for git repositories with many (nested) submodules. This is a prototype: browsing is complete, actions are not yet implemented.
Highlights
- Collapsible tree showing only the submodules, with each pin described as a branch plus distance (e.g.
origin/main ↓1) instead of a bare commit hash. - Reads real repositories through a read-only git provider:
submarine [dir]. - Background fetch on startup (
--no-fetchto skip,fto fetch again), and follows changes made in other shells. - Detail pane previews uncommitted changes.
- Submodules without issues show a muted "in sync".
submarine --mockruns on built-in mock data.
Install
curl -fsSL https://git.simon-franken.de/simonfranken/submarine/raw/branch/main/install.sh | shInstalls
submarineand the aliassub(linux/macOS, amd64/arm64) to~/.local/bin. Update later withsubmarine update.Binaries and
checksums.txtare published in the package registry (generic packagesubmarine, version0.1.0).Known limitations
- The actions
u,b,/and!only show a "not implemented" message.
Downloads
- Collapsible tree showing only the submodules, with each pin described as a branch plus distance (e.g.
Archived