aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-06-24 09:41:43 +0200
committerDanilo M. <danix@danix.xyz>2026-06-24 09:41:43 +0200
commiteeaba25642392532901cd4c95c23054e9a7ba2b3 (patch)
treefef19a8b397ccdbaf1c828c3a1c268730e36a698 /README.md
parent23bf41452709a632a7f1afe2d78551da767d8d56 (diff)
downloadgitctl-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.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/README.md b/README.md
index a965012..96fdad3 100644
--- a/README.md
+++ b/README.md
@@ -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.