Releases: denrou/ggit
Releases · denrou/ggit
v0.5.1
v0.5.0
What's Changed
- Add missing
richdependency —scanner.pyimportsrichbut it wasn't in dependencies - Add logging to
_safe_summary— Log warnings instead of silently swallowing errors - Add error handling to
get_summary/get_details— RaiseValueErrorwith clear messages for invalid repos - Introduce dataclasses for return types —
RepoSummary,RepoDetails,FetchResult,PruneResultreplace raw dicts - Use dict for sort key/label mapping — Replace parallel
SORT_KEYS/SORT_LABELSlists withSORT_OPTIONSdict - Add
--versionand--helpvia argparse — Proper CLI argument parsing - Show detailed error messages for fetch/prune — Include failed repo names and error reasons in notifications
- Limit authors list in detail screen — Cap at top 10 with "(and N more)" indicator
- Standardize fetch/prune return structures —
FetchResultnow hasprunedfield for structural parity - New tests — Error handling, detached HEAD, argparse
--version, authors truncation (41 → 49 tests)
v0.4.0
What's New
Multi-select & Git Operations
- Space toggles selection on the current row, x toggles all visible rows
- f fetches selected repos, p prunes stale remote branches
- If nothing is selected, operations target the cursor row
- Operations run in parallel with progress notifications
Vim Navigation
- j / k to move the cursor down / up
Performance
- Repo summary loading is now parallelized (8 workers), significantly faster for large directory trees
UI
- Selection marker column shows which repos are targeted
- Status bar displays selection count
v0.3.0
What's new
Full rewrite as an interactive TUI — ggit is now a Textual-based terminal UI instead of a static CLI.
Features
- Interactive DataTable with repo overview (branch, status, origin, PRs, last commit)
- Keybindings for sorting (s), reverse (r), filtering dirty/clean/all (d/c/a)
- Detail screen on Enter with branches, last fetch, and authors
- Two-phase loading: repo scan first, then GitHub PR counts in background
Changes
- Replaced Typer + Rich with Textual
- Entry point is now
ggit [path](no subcommands) - Added
app.cssfor Textual styling - Updated dependencies and tests
v0.2.0
What's New
- GitHub PR counts: The
listtable now shows an Origin column (displayingowner/repofor GitHub remotes) and a PRs column (open / assigned-to-me counts fetched viaghCLI) - Concurrent PR fetching with a thread pool for fast results across many repos
- Graceful fallback when
ghis not installed or the remote is not on GitHub
Full Changelog: v0.1.0...v0.2.0