repo rename/transfer: the API shipped but the CLI half was dropped in the !120 merge — port it from 4a5d5d2 #10
- @ogirardot opened this issue · Sep 7, 2026edited
What happened
MR rickub/rickub!120 shipped repo rename and transfer across both halves:
the API (web/api_repos.go) and the CLI (cli/cmd/repo.go). When it was landed,
cli/had moved to this repository, so the merge hit five modify/delete
conflicts — all undercli/. They were resolved by dropping the CLI half.
The API half merged cleanly and is live.So the server supports rename and transfer today, and
rickubcannot call it.Where the work is
It is not lost, but it is only in history — commit
4a5d5d2on
rickub/rickub (feat(web): repo rename and transfer over the API and CLI (#131)):cli/cmd/repo.go | 69 ++++++++++++++- cli/cmd/repo_test.go | 85 ++++++++++++++++++ cli/internal/api/endpoints.go | 15 +++ cli/internal/api/models.go | 10 +++Recover with
git show 4a5d5d2 -- cli/against a rickub/rickub checkout.Impact
This is filed because the only record was a comment on a merged MR, and a
comment on a merged MR is invisible to anyone who was not in the room. The
predictable outcome is that someone re-implementsrepo renamefrom the OpenAPI
spec in six months without ever finding4a5d5d2— paying twice for work that is
already written and already had tests (cli/cmd/repo_test.go, 85 lines).The endpoints are already documented in
docs/api/openapi.yaml(also from that
commit), so the CLI is the only missing piece.Acceptance criterion
rickub repo rename <owner/name> <new-name>and
rickub repo transfer <owner/name> <new-owner>exist, call the live API
endpoints, and carrycli/cmd/repo_test.go's cases forward. Port from4a5d5d2
rather than rewriting — the tests came with it.Cross-reference: rickub/rickub!120, and FEATURES.md was corrected on merge (it
had claimed these commands ship). - @ogirardot · Sep 7, 2026edited
Closed via 3 — merged a97c085d5a4fe84de6f5a799ab6f3895658eda66 into main.
Sign in to comment.