fix(repo): reject --repo on commands that act on no repository

tea repo list -R acme/service listed the account's repositories and
tea repo create foo -R alice/project created alice/foo: the flag was
silently ignored. repo list, repo create, repo migrate and search repo
now fail with a usage error that suggests the intended command, such as
"--repo is not used by repo list; did you mean: tea repo list acme".

repo list takes the owner as an argument (--owner still works), and
repo create accepts OWNER/NAME, creating in the organization OWNER.

Signed-off-by: bircni <bircni@icloud.com>
This commit is contained in:
bircni committed 2026-10-11 23:51:43 +02:00
1 parent ea2e9aadbb
commit 2330d174ea
7 files changed
+96 -7

No files matched your search

+3
View File
@@ -26,6 +26,9 @@ func (a *application) repoMigrateCommand() *cobra.Command {
var opts services.RepositoryMigrationOptions
var passwordFile, tokenFile, serverPath string
command := &cobra.Command{Use: "migrate [clone-url]", Short: "Import a remote repository through Gitea", Args: usageArgs(cobra.MaximumNArgs(1)), RunE: func(cmd *cobra.Command, args []string) error {
if err := a.rejectRepoFlag(cmd, func(owner string) string { return "tea repo migrate URL --owner " + owner }); err != nil {
return err
}
if len(args) > 0 {
if cmd.Flags().Changed("clone-url") {
return clierr.Wrap(clierr.Usage, errors.New("supply clone URL as an argument or --clone-url, not both"))