diff options
| author | Danilo M. <danix@danix.xyz> | 2026-06-29 18:23:14 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-06-29 18:23:14 +0200 |
| commit | 9359ec0eaedf8b8f8b68a33b96507589e0e2c651 (patch) | |
| tree | 689eee26c804c95a90e84657d76add8568652679 /CLAUDE.md | |
| parent | ffe0864406cd67f82071becf494f0dd9e701e149 (diff) | |
| download | gitctl-9359ec0eaedf8b8f8b68a33b96507589e0e2c651.tar.gz gitctl-9359ec0eaedf8b8f8b68a33b96507589e0e2c651.zip | |
feat: repo create --private - Phase 1 only, never added to cgit
--private makes the gitolite stanza and bare repo but skips the helper
call, so the repo is never written to cgitrc and stays off the public
cgit index (shows PRIV in repo list). --section is required unless
--private. Bash completion offers --private; README and CLAUDE.md
document the flag and the local /usr/local/bin install.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -10,6 +10,8 @@ Two single-file scripts, no shared module: - `gitctl`: client, runs on the laptop. Dumb caller: loads TOML config, edits the local gitolite-admin clone and pushes, shells out to the helper over SSH. + Installed locally at `/usr/local/bin/gitctl` (the user copies it there by + hand; not done by this repo). - `gitctl-helper`: server helper, runs as the git user over a `command=`-restricted SSH key. Holds all parsing-heavy logic. Dispatches on `SSH_ORIGINAL_COMMAND`. @@ -57,6 +59,11 @@ separate `AuthorizedKeysFile` (`~git/.ssh/gitctl_keys`) wired via a - **`description` file is owned `git:gitolite3`** (system user git, group gitolite3, no gitolite3 user). `set-desc` writes in place (truncate-write) to preserve owner, with `os.chown` back as insurance. +- **`repo create --private` runs Phase 1 only.** It makes the gitolite stanza + and bare repo but never calls the helper, so the repo is never written to + cgitrc and stays off the public cgit index (shows `PRIV` in `repo list`). + `--section` is required unless `--private` (enforced in `cmd_create`, not + argparse, since the rule is conditional). - Every operation is idempotent and safe to re-run. - No em dashes in user-facing text. - Work on `master`, no feature branches. |
