head 1.4; access; symbols pkgsrc-2026Q2:1.3.0.2 pkgsrc-2026Q2-base:1.3; locks; strict; comment @# @; 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.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 @# $NetBSD: Makefile,v 1.3 2026/06/10 19:24:28 pin Exp $ DISTNAME= gitpane-0.8.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.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 @