aboutsummaryrefslogtreecommitdiffstats
path: root/skills
diff options
context:
space:
mode:
Diffstat (limited to 'skills')
-rw-r--r--skills/gitctl/SKILL.md14
1 files changed, 10 insertions, 4 deletions
diff --git a/skills/gitctl/SKILL.md b/skills/gitctl/SKILL.md
index 9d6ac17..8660669 100644
--- a/skills/gitctl/SKILL.md
+++ b/skills/gitctl/SKILL.md
@@ -36,6 +36,11 @@ Phase 1 edits the local gitolite-admin clone, shows the diff, **asks y/N**,
commits, pushes, then polls until gitolite builds the bare repo. Phase 2 adds
it to cgit under the section and (if given) sets the description.
+Pass global **`-y` BEFORE the subcommand** (`gitctl -y repo create ...`) to skip
+the y/N. The diff still prints. `-y` does NOT remove the SSH-key step: the
+phase-1 push still needs the key password / smartcard touch, so creation is
+still not fully unattended.
+
Then wire up the new repo for the user:
```
gitctl repo add-remote <name> --remote-name origin
@@ -44,10 +49,11 @@ git push -u origin master
## Gotchas
-- **`repo create` prompts y/N -> it needs a TTY.** Do not run it through a
- non-interactive pipe expecting it to just work; let the user confirm, or have
- them run it. The phase-1 push may also require a hardware-key touch/PIN, which
- only works interactively.
+- **`repo create` prompts y/N -> use `gitctl -y repo create ...` to skip it**
+ (the `-y` is global, so it goes before `repo`). Even with `-y` the phase-1
+ push may require the SSH key password or a hardware-key touch/PIN, which only
+ works interactively, so creation is never fully unattended. Without `-y` it
+ needs a TTY for the y/N; do not pipe it non-interactively expecting success.
- **If the push fails after the local commit** (key refused, auth failure): the
gitolite-admin commit is made but unpushed. The user pushes manually
(`git -C <admin-clone> push origin <branch>`), then you RE-RUN the same