replace log.Fatal/os.Exit with error returns (#941)

* Use stdlib encoders
* Reduce some duplication
* Remove global pagination state
* Dedupe JSON detail types
* Bump golangci-lint

Reviewed-on: https://gitea.com/gitea/tea/pulls/941
Co-authored-by: techknowlogick <techknowlogick@gitea.com>
Co-committed-by: techknowlogick <techknowlogick@gitea.com>
This commit is contained in:
techknowlogick
2026-03-27 03:36:44 +00:00
committed by techknowlogick
parent 21881525a8
commit b05e03416b
124 changed files with 1610 additions and 759 deletions

View File

@@ -103,11 +103,13 @@ var CmdRepoCreate = cli.Command{
}
func runRepoCreate(_ stdctx.Context, cmd *cli.Command) error {
ctx := context.InitCommand(cmd)
ctx, err := context.InitCommand(cmd)
if err != nil {
return err
}
client := ctx.Login.Client()
var (
repo *gitea.Repository
err error
trustmodel gitea.TrustModel
)

View File

@@ -83,7 +83,10 @@ var CmdRepoCreateFromTemplate = cli.Command{
}
func runRepoCreateFromTemplate(_ stdctx.Context, cmd *cli.Command) error {
ctx := context.InitCommand(cmd)
ctx, err := context.InitCommand(cmd)
if err != nil {
return err
}
client := ctx.Login.Client()
templateOwner, templateRepo := utils.GetOwnerAndRepo(ctx.String("template"), ctx.Login.User)

View File

@@ -46,7 +46,10 @@ var CmdRepoRm = cli.Command{
}
func runRepoDelete(_ stdctx.Context, cmd *cli.Command) error {
ctx := context.InitCommand(cmd)
ctx, err := context.InitCommand(cmd)
if err != nil {
return err
}
client := ctx.Login.Client()
@@ -76,7 +79,7 @@ func runRepoDelete(_ stdctx.Context, cmd *cli.Command) error {
}
}
_, err := client.DeleteRepo(owner, repoName)
_, err = client.DeleteRepo(owner, repoName)
if err != nil {
return err
}

View File

@@ -60,8 +60,13 @@ var CmdRepoEdit = cli.Command{
}
func runRepoEdit(_ stdctx.Context, cmd *cli.Command) error {
ctx := context.InitCommand(cmd)
ctx.Ensure(context.CtxRequirement{RemoteRepo: true})
ctx, err := context.InitCommand(cmd)
if err != nil {
return err
}
if err := ctx.Ensure(context.CtxRequirement{RemoteRepo: true}); err != nil {
return err
}
client := ctx.Login.Client()
opts := gitea.EditRepoOption{}

View File

@@ -33,8 +33,13 @@ var CmdRepoFork = cli.Command{
}
func runRepoFork(_ stdctx.Context, cmd *cli.Command) error {
ctx := context.InitCommand(cmd)
ctx.Ensure(context.CtxRequirement{RemoteRepo: true})
ctx, err := context.InitCommand(cmd)
if err != nil {
return err
}
if err := ctx.Ensure(context.CtxRequirement{RemoteRepo: true}); err != nil {
return err
}
client := ctx.Login.Client()
opts := gitea.CreateForkOption{}

View File

@@ -58,7 +58,10 @@ var CmdReposList = cli.Command{
// RunReposList list repositories
func RunReposList(_ stdctx.Context, cmd *cli.Command) error {
teaCmd := context.InitCommand(cmd)
teaCmd, err := context.InitCommand(cmd)
if err != nil {
return err
}
client := teaCmd.Login.Client()
typeFilter, err := getTypeFilter(cmd)
@@ -76,11 +79,11 @@ func RunReposList(_ stdctx.Context, cmd *cli.Command) error {
}
// not an org, treat as user
rps, _, err = client.ListUserRepos(owner, gitea.ListReposOptions{
ListOptions: flags.GetListOptions(),
ListOptions: flags.GetListOptions(cmd),
})
} else {
rps, _, err = client.ListOrgRepos(owner, gitea.ListOrgReposOptions{
ListOptions: flags.GetListOptions(),
ListOptions: flags.GetListOptions(cmd),
})
}
if err != nil {
@@ -92,7 +95,7 @@ func RunReposList(_ stdctx.Context, cmd *cli.Command) error {
return err
}
rps, _, err = client.SearchRepos(gitea.SearchRepoOptions{
ListOptions: flags.GetListOptions(),
ListOptions: flags.GetListOptions(cmd),
StarredByUserID: user.ID,
})
if err != nil {
@@ -105,11 +108,11 @@ func RunReposList(_ stdctx.Context, cmd *cli.Command) error {
if err != nil {
return err
}
rps = paginateRepos(allRepos, flags.GetListOptions())
rps = paginateRepos(allRepos, flags.GetListOptions(cmd))
} else {
var err error
rps, _, err = client.ListMyRepos(gitea.ListReposOptions{
ListOptions: flags.GetListOptions(),
ListOptions: flags.GetListOptions(cmd),
})
if err != nil {
return err
@@ -126,8 +129,7 @@ func RunReposList(_ stdctx.Context, cmd *cli.Command) error {
return err
}
print.ReposList(reposFiltered, teaCmd.Output, fields)
return nil
return print.ReposList(reposFiltered, teaCmd.Output, fields)
}
func filterReposByType(repos []*gitea.Repository, t gitea.RepoType) []*gitea.Repository {

View File

@@ -109,11 +109,13 @@ var CmdRepoMigrate = cli.Command{
}
func runRepoMigrate(_ stdctx.Context, cmd *cli.Command) error {
ctx := context.InitCommand(cmd)
ctx, err := context.InitCommand(cmd)
if err != nil {
return err
}
client := ctx.Login.Client()
var (
repo *gitea.Repository
err error
service gitea.GitServiceType
)

View File

@@ -58,7 +58,10 @@ var CmdReposSearch = cli.Command{
}
func runReposSearch(_ stdctx.Context, cmd *cli.Command) error {
teaCmd := context.InitCommand(cmd)
teaCmd, err := context.InitCommand(cmd)
if err != nil {
return err
}
client := teaCmd.Login.Client()
var ownerID int64
@@ -109,7 +112,7 @@ func runReposSearch(_ stdctx.Context, cmd *cli.Command) error {
}
rps, _, err := client.SearchRepos(gitea.SearchRepoOptions{
ListOptions: flags.GetListOptions(),
ListOptions: flags.GetListOptions(cmd),
OwnerID: ownerID,
IsPrivate: isPrivate,
IsArchived: isArchived,
@@ -127,6 +130,5 @@ func runReposSearch(_ stdctx.Context, cmd *cli.Command) error {
if err != nil {
return err
}
print.ReposList(rps, teaCmd.Output, fields)
return nil
return print.ReposList(rps, teaCmd.Output, fields)
}