diff options
| author | Danilo M. <danix@danix.xyz> | 2026-06-24 09:41:43 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-06-24 09:41:43 +0200 |
| commit | eeaba25642392532901cd4c95c23054e9a7ba2b3 (patch) | |
| tree | fef19a8b397ccdbaf1c828c3a1c268730e36a698 /README.md | |
| parent | 23bf41452709a632a7f1afe2d78551da767d8d56 (diff) | |
| download | gitctl-eeaba25642392532901cd4c95c23054e9a7ba2b3.tar.gz gitctl-eeaba25642392532901cd4c95c23054e9a7ba2b3.zip | |
feat: repo list - list all repos, public and private
New gitctl repo list / helper list-repos verb. Source of truth is the
bare repos on disk (REPO_BASE/*.git), not cgitrc, so private repos
(absent from cgitrc since cgit auto-discovery is off) show too. Each
repo is tagged PUB/PRIV by cgitrc membership, with its section and a
60-char description from the repo's description file. Client renders an
aligned table, green public / dim private on a TTY.
Adds repo_sections_from() primitive; find_repo_section becomes a thin
lookup over it. Self-tests cover the cgitrc parse and a temp-FS scan.
Updates README, SKILL.md, bash completion (repo list action), TODO.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -169,6 +169,7 @@ ssh git_push info # gitolite access check gitctl sections list gitctl sections add "Generic Projects" gitctl repo create publisher --section SlackBuilds --desc "..." +gitctl repo list gitctl repo desc publisher "a new description" gitctl repo add-remote publisher --remote-name origin gitctl sync @@ -185,6 +186,10 @@ git push -u origin master - `repo create` shows the gitolite.conf diff and asks before committing. On decline it reverts the conf edit, leaving a clean tree. +- `repo list` lists every bare repo on disk, not just the cgit-exposed ones, so + private repos show too. A `VIS` column marks each `PUB` (present in cgitrc) or + `PRIV`; on a terminal public rows are green and private dim. The description + comes from each repo's `description` file, truncated to 60 chars. - `--desc` never writes cgit `repo.desc=` directly. It writes the bare repo's `description` file and runs sync, the single writer. - Every operation is idempotent and safe to re-run. |
