mirror of
https://gitea.com/gitea/tea.git
synced 2024-11-03 04:27:21 -05:00
43a58bdba1
add cli.AppHelpTemplate for customization customize tea help view tea --version : improve parseability Rework README to include tea help output It's an antipattern to have different help texts aimed at the same users. So now that we have a good cli help text, lets use it here. This eases maintenance, and at the same time gives an honest impression on what we have to offer, while also encouraging to improve the internal help text in the future. I feel a bit sad for the GIF, but it was becoming outdated anyway.. group commands by category add new demo gif shows the (probably) most useful workflow readme improvement Merge branch 'master' into improve-app-help code review Merge branch 'master' into improve-app-help restructure installation section Co-authored-by: Norwin Roosen <git@nroo.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/311 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-by: khmarbaise <khmarbaise@noreply.gitea.io> Co-Authored-By: Norwin <noerw@noreply.gitea.io> Co-Committed-By: Norwin <noerw@noreply.gitea.io>
74 lines
1.8 KiB
Go
74 lines
1.8 KiB
Go
// Copyright 2018 The Gitea Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"code.gitea.io/tea/cmd/flags"
|
|
"code.gitea.io/tea/cmd/pulls"
|
|
"code.gitea.io/tea/modules/context"
|
|
"code.gitea.io/tea/modules/print"
|
|
"code.gitea.io/tea/modules/utils"
|
|
|
|
"code.gitea.io/sdk/gitea"
|
|
"github.com/urfave/cli/v2"
|
|
)
|
|
|
|
// CmdPulls is the main command to operate on PRs
|
|
var CmdPulls = cli.Command{
|
|
Name: "pulls",
|
|
Aliases: []string{"pull", "pr"},
|
|
Category: catEntities,
|
|
Usage: "Manage and checkout pull requests",
|
|
Description: `Manage and checkout pull requests`,
|
|
ArgsUsage: "[<pull index>]",
|
|
Action: runPulls,
|
|
Flags: flags.IssuePRFlags,
|
|
Subcommands: []*cli.Command{
|
|
&pulls.CmdPullsList,
|
|
&pulls.CmdPullsCheckout,
|
|
&pulls.CmdPullsClean,
|
|
&pulls.CmdPullsCreate,
|
|
&pulls.CmdPullsClose,
|
|
&pulls.CmdPullsReopen,
|
|
},
|
|
}
|
|
|
|
func runPulls(ctx *cli.Context) error {
|
|
if ctx.Args().Len() == 1 {
|
|
return runPullDetail(ctx, ctx.Args().First())
|
|
}
|
|
return pulls.RunPullsList(ctx)
|
|
}
|
|
|
|
func runPullDetail(cmd *cli.Context, index string) error {
|
|
ctx := context.InitCommand(cmd)
|
|
ctx.Ensure(context.CtxRequirement{RemoteRepo: true})
|
|
idx, err := utils.ArgToIndex(index)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
client := ctx.Login.Client()
|
|
pr, _, err := client.GetPullRequest(ctx.Owner, ctx.Repo, idx)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
reviews, _, err := client.ListPullReviews(ctx.Owner, ctx.Repo, idx, gitea.ListPullReviewsOptions{})
|
|
if err != nil {
|
|
fmt.Printf("error while loading reviews: %v\n", err)
|
|
}
|
|
|
|
ci, _, err := client.GetCombinedStatus(ctx.Owner, ctx.Repo, pr.Head.Sha)
|
|
if err != nil {
|
|
fmt.Printf("error while loading CI: %v\n", err)
|
|
}
|
|
|
|
print.PullDetails(pr, reviews, ci)
|
|
return nil
|
|
}
|