head 1.6; access; symbols pkgsrc-2026Q2:1.3.0.2 pkgsrc-2026Q2-base:1.3; locks; strict; comment @# @; 1.6 date 2026.07.17.05.19.18; author pin; state Exp; branches; next 1.5; commitid FB5YrbtzDeo0YXNG; 1.5 date 2026.07.04.05.06.03; author pin; state Exp; branches; next 1.4; commitid WRli3VnadYvujiMG; 1.4 date 2026.06.30.05.22.58; author pin; state Exp; branches; next 1.3; commitid SQ041Tc6Xw5hxMLG; 1.3 date 2026.06.10.19.24.28; author pin; state Exp; branches; next 1.2; commitid uU0BV2S0d4MOPhJG; 1.2 date 2026.06.08.12.25.01; author pin; state Exp; branches; next 1.1; commitid GOS9keYOgzmUzZIG; 1.1 date 2026.06.06.11.53.05; author pin; state Exp; branches; next ; commitid jjuhOMLoeE5WsJIG; desc @@ 1.6 log @devel/gitpane: update to 0.9.1 [0.9.1] - 2026-07-14 Added Custom keybindings. Define [[keybindings]] blocks in the config to bind a single key to a shell command that runs against the selected repository or worktree. Each binding takes a key, a command where {path} expands to the target directory, an optional placement that reuses the [open] vocabulary (command, inline, ask, split-window, new-window), and an optional desc shown in the ? help overlay. Keys already claimed by the built-in global actions stay reserved, a key a panel uses for navigation can be bound but then stops navigating that panel, and gitpane diagnostic lists the bindings that were loaded so a key that does not fire is easy to trace. CI status on GitHub pull request rows. Each PR in the GitHub panel now shows its rolled-up checks result, fetched through gh's statusCheckRollup: a green ✓ when checks passed, a red ✗ when any failed, and a yellow ● while checks are still running. A PR with no checks shows nothing, and issues are unaffected. Failure takes precedence over a still-running or passing check, matching how GitHub itself summarizes a mixed run. Right-click graph commits for quick actions including copying commit hashes, opening changed files, search, branch collapse, and graph filters. Filters can include or exclude branches, authors, refs, and first-parent view settings with visible all/none/invert controls and mouse or keyboard navigation. [0.9.0] - 2026-07-09 Added A GitHub panel that shows the selected repository's open issues and pull requests, fetched through the gh CLI so it reuses gh's authentication and needs no token of its own. It appears as an optional fourth panel only when the selected repository has a github.com origin with open items, and stays out of the way otherwise; press p to force it open on any repository, and turn it off entirely with [github] enabled = false. Select an item and press Enter to preview its body and comment thread, and for a pull request its file changes, then Enter again to open it in the browser. c cycles the list between open, all, and closed items, and the panel resizes by dragging its border like the others. When gh is missing, the origin is not on github.com, or the network is down, gitpane keeps its usual three panels with a clear message. Changed Darkened the selected-row background across the repository, changes, and GitHub panels so a selected row's title and dimmed metadata stay legible. Updated crossbeam-epoch to 0.9.20 to clear RUSTSEC-2026-0204, an invalid pointer dereference advisory pulled in transitively through the directory walker. Updated ratatui to 0.30.2 and the ignore crate to 0.4.27. @ text @# $NetBSD: Makefile,v 1.4 2026/06/30 05:22:58 pin Exp $ DISTNAME= gitpane-0.9.1 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GITHUB:=affromero/} GITHUB_TAG= v${PKGVERSION_NOREV} MAINTAINER= pkgsrc-users@@NetBSD.org HOMEPAGE= https://github.com/affromero/gitpane/ COMMENT= Multi-repo Git workspace dashboard for the terminal LICENSE= mit # See, https://github.com/briansmith/ring/issues/1999 .include "../../mk/compiler/i386-sse2.mk" .include "cargo-depends.mk" RUST_REQ= 1.88.0 USE_LANGUAGES+= c c++ USE_TOOLS+= pkg-config perl gmake MAKE_ENV+= OPENSSL_DIR=${BUILDLINK_PREFIX.openssl:Q} RUSTFLAGS+= -C link-arg=${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.openssl}/lib .include "../../lang/rust/cargo.mk" .include "../../security/openssl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" @ 1.5 log @devel/gitpane: update to 0.8.2 [0.8.2] - 2026-06-30 Added Right-click a changed submodule in the Changes panel and choose "Open in graph" to point both the changes and commit graph panels at the submodule's own repository. The graph then shows the submodule's history and the panel shows its own changed files, instead of staying pinned to the parent. An uninitialized submodule reports that it is not initialized rather than opening an empty graph, and selecting any repository row returns to the parent view. Submodule rows still offer only Open, Open folder, and Open in graph, never stage or discard. Fixed An active worktree or submodule context now stays in control of the detail panels during a sort, rescan, or graph reload. Previously these could reload the selected parent repository over the active context and leave the changes and graph panels showing different repositories. Changed Updated anyhow to 1.0.103 to clear RUSTSEC-2026-0190, an unsoundness advisory affecting Error::downcast_mut. @ text @d3 1 a3 1 DISTNAME= gitpane-0.8.2 @ 1.4 log @devel/gitpane: update to 0.8.1 [0.8.1] - 2026-06-29 Added Right-click a file in the Changes panel to open a context menu with Stage, Unstage, Discard, Open, and Open folder. Stage and Unstage are gated by what the file actually supports: a worktree change can be staged, a staged change can be unstaged, and a partially staged file offers both. Discard is confirmation gated and restores a tracked file (or deletes an untracked one). Open launches the file through the configured [open] command, or the OS default app when none is set, and Open folder reveals the file in the system file manager. File operations run against the active worktree's tree when a worktree is selected, mirroring the diff view, while the parent repository row refreshes afterward. Submodule rows offer only Open and Open folder. Fixed Releasing no longer fails to reach crates.io silently. The publish step swallowed every error (including an expired token's 403 Forbidden) yet still reported success, so v0.7.15 and v0.8.0 were tagged and built but never published. The step now fails the job on real errors and treats only an already-published version as a skippable no-op. [0.8.0] - 2026-06-26 Added Open a repo or worktree with o. It opens the selected row in a new tmux pane (a shell in its directory) or runs a configurable [open] command such as a GUI editor. Where it runs is configurable through placement: a tmux split or new window (with right-of, below, or a named target), inline in the current terminal, or an interactive picker chosen at launch. When gitpane is not running inside tmux, a tmux placement falls back to running the command inline. Review the selected repo or worktree's diff with v. It runs [review] command (default git diff {base}...HEAD) in a new tmux window. The base ref comes from [review] base or the repository's resolved default branch; when neither resolves, gitpane shows a clear error instead of running a doomed diff. Create and remove linked worktrees from gitpane, via both the key bindings and the context menu. Creation makes the worktree on a new branch under [worktree] dir (or as a sibling of the repo). Removal is confirmation gated and runs git worktree remove without --force, so git refuses to delete a dirty or main worktree and no work is lost. Mark repositories and worktrees that have a live tmux pane cwd'd inside them with a ◉ indicator, so you can see at a glance where an agent or shell is parked. The marker is tmux only and shows nothing when tmux is unavailable. Go to a repo's live tmux session with G (or the context menu). gitpane auto-detects your terminal and opens the session in a new tab (WezTerm, kitty, GNOME Terminal, Konsole) or a new window (Ghostty, Alacritty), so the current view is never replaced and there is no in-place switch to get stranded by. The terminal table is data driven and documented, and [goto] command overrides it for any other terminal. Fixed Typing accented or multibyte characters, and pasting, in the path input used by Add repo and New worktree no longer panics. The cursor now advances by whole characters, and bracketed paste is inserted at the cursor. [0.7.15] - 2026-06-22 Fixed Right-clicking a linked worktree row now opens the context menu, so a worktree can be pulled, pushed, refreshed, copied, or opened in the git graph directly. Previously the menu appeared only on top-level repository rows, so worktrees had no way to run these actions. Each operation runs in the worktree's own directory against its branch (git -C ... origin ), while the parent repository row shows the spinner and refreshes afterward so the worktree's ahead/behind counts stay current. Submodule actions stay hidden on worktree menus. The changes panel for an active worktree now refreshes immediately after a pull or push, instead of lagging until the next background status poll. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2026/06/10 19:24:28 pin Exp $ d3 1 a3 1 DISTNAME= gitpane-0.8.1 @ 1.3 log @devel/gitpane: update to 0.7.14 [0.7.14] - 2026-06-09 Added - The submodule tag in the Changes panel now shows which branch the submodule is on (@@, or @@detached for a detached HEAD, which is git's default after submodule update), so a dirty or modified submodule tells you where the change lives. It also gains a ↛main warning when the pinned submodule commit is reachable from a remote but not from the submodule's default branch (origin/HEAD, falling back to origin/main/origin/master), meaning it still needs a merge there. The warning stays silent when no default branch resolves, so it never fires on a false positive. The existing ⚠unreach (commit on no remote) still takes precedence, while ↑N (ahead of upstream) and ↛main compose, e.g. [sub: +commit @@feature ↑3 ↛main]. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 2026/06/08 12:25:01 pin Exp $ d3 1 a3 1 DISTNAME= gitpane-0.7.14 @ 1.2 log @devel/gitpane: update to 0.7.13 [0.7.13] - 2026-06-07 Fixed Adding a git submodule or linked worktree with the A key no longer removes it from the list almost immediately. A submodule stores its .git as a pointer file (gitdir: ) instead of a directory, so repository discovery did not recognize it as a real repo and pruned the pinned entry on the next filesystem rescan. Discovery now resolves the gitdir: pointer (absolute, or relative to the working tree) and looks for HEAD at the referenced git directory, so pinned submodules and worktrees persist. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 2026/06/06 11:53:05 pin Exp $ d3 1 a3 1 DISTNAME= gitpane-0.7.13 @ 1.1 log @devel/gitpane: import pkg Monitor all your repos at a glance. See branch, dirty state, ahead/behind, active worktrees, changed files, and commit history without leaving the terminal. If you work across multiple repositories, such as microservices, monorepos with submodules, or a mix of projects, you know the pain of checking status one directory at a time. Existing TUI tools focus on one repo at a time. lazygit and gitui are excellent for deep single repo work like staging hunks, interactive rebase, and conflict resolution. gitpane is the workspace level dashboard. It shows every repo at once, lets you drill into anything, and keeps you in the terminal. They complement each other. @ text @d1 1 a1 1 # $NetBSD$ d3 1 a3 1 DISTNAME= gitpane-0.7.12 @