diff options
| author | Danilo M. <danix@danix.xyz> | 2026-06-24 10:33:08 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-06-24 10:33:08 +0200 |
| commit | 40cd61ce7e0c4a8d35d0e0a505994f9f9b5e4d67 (patch) | |
| tree | 245aba80c137bea9e22662ea4a6363741d4f97fe /TODO.md | |
| parent | 9c301a8eac944083556b3dce297764b4fca7d49a (diff) | |
| download | gitctl-40cd61ce7e0c4a8d35d0e0a505994f9f9b5e4d67.tar.gz gitctl-40cd61ce7e0c4a8d35d0e0a505994f9f9b5e4d67.zip | |
feat: repo-name completion + label helper passthrough output
- Bash completion now completes repo NAMES for desc/delete/add-remote at
the name position, sourced from `gitctl repo list` (first field, header
row dropped). One ssh call, only at that position, so a stray Tab never
hits the network; the leading -y is handled.
- call_helper prefixes every passthrough line from the helper (and the
sync script it runs) with "server: " via _server_prefixed, so output
like "No changes." reads as remote output instead of interleaved local
noise. quiet=True callers (repo list) still get raw stdout to parse.
Client-only, no helper redeploy needed. Self-test pins _server_prefixed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'TODO.md')
| -rw-r--r-- | TODO.md | 28 |
1 files changed, 14 insertions, 14 deletions
@@ -69,22 +69,22 @@ Done as part of items 1-3: both SKILL.md files updated (delete + `-y` limit), self-test coverage for every new helper verb, completion actions for `list` and `delete`, README and CLAUDE.md brought current. -## Remaining (not started) +## Remaining -These are the leftovers after the three features shipped. None block anything. +1. Repo-name bash completion -- DONE. `desc`, `delete`, and `add-remote` + complete repo NAMES at the name position from `gitctl repo list` (first + field, header dropped), one ssh call, only at that position so a stray Tab + never hits the network. `-y` before the subcommand is handled. -1. Repo-name bash completion. Now that `repo list` exists, complete repo NAMES - for `desc`, `delete`, and `add-remote` (the way `--section` is completed from - the server today). One ssh call (`gitctl repo list`, cut field 1), only when - completing the repo-name argument, so a stray Tab does not hit the network. - -2. Quiet the stray `No changes.` line. In `repo create` and `repo delete` the - `list-sections` / `add-section` helper passthrough prints a `No changes.` - line out of order, before the cgit-block message. Cosmetic only. Fix by - calling those helper steps with `quiet=True` (the flag already exists) and - printing a clean status, or by suppressing that specific echo. +2. Stray sync-script echo -- DONE. The `No changes.` / `Wrote N change(s).` + lines come from the server sync script, passed through over ssh. Rather than + hide them, `call_helper` now prefixes every passthrough line with `server: ` + (`_server_prefixed`), so they read clearly as remote output instead of + interleaved local noise. 3. FUTURE / YAGNI: `gc-trash --older-than <days>` helper verb to prune `TRASH_DIR` entries past a retention window, runnable from cron. The - timestamped trash layout already supports it; do not build until there is an - actual need to reclaim space. + timestamped trash layout already supports it. It would be the ONLY real + `rm -rf` in the tool, so it needs hard guards (realpath-under-TRASH_DIR + check, no symlink follow, validated timestamp parse) and a dry-run default. + Do not build until trash actually accumulates and space needs reclaiming. |
