aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-07-21 17:28:19 +0800
committerGitHub <noreply@github.com>2023-07-21 17:28:19 +0800
commitd0dbe52e76f3038777c3b50066e3636105387ca3 (patch)
tree4c159ed98a365300b6145bde03a06c29dcd21794 /contrib
parent840830b655a65c0763e3fd4bd0ced9256d2081a5 (diff)
downloadgitea-d0dbe52e76f3038777c3b50066e3636105387ca3.tar.gz
gitea-d0dbe52e76f3038777c3b50066e3636105387ca3.zip
Refactor to use urfave/cli/v2 (#25959)
Replace #10912 And there are many new tests to cover the CLI behavior There were some concerns about the "option order in hook scripts" (https://github.com/go-gitea/gitea/pull/10912#issuecomment-1137543314), it's not a problem now. Because the hook script uses `/gitea hook --config=/app.ini pre-receive` format. The "config" is a global option, it can appear anywhere. ---- ## ⚠️ BREAKING ⚠️ This PR does it best to avoid breaking anything. The major changes are: * `gitea` itself won't accept web's options: `--install-port` / `--pid` / `--port` / `--quiet` / `--verbose` .... They are `web` sub-command's options. * Use `./gitea web --pid ....` instead * `./gitea` can still run the `web` sub-command as shorthand, with default options * The sub-command's options must follow the sub-command * Before: `./gitea --sub-opt subcmd` might equal to `./gitea subcmd --sub-opt` (well, might not ...) * After: only `./gitea subcmd --sub-opt` could be used * The global options like `--config` are not affected
Diffstat (limited to 'contrib')
-rw-r--r--contrib/backport/backport.go28
-rw-r--r--contrib/environment-to-ini/environment-to-ini.go10
2 files changed, 19 insertions, 19 deletions
diff --git a/contrib/backport/backport.go b/contrib/backport/backport.go
index 9455d073cc..5cd0fe0f6e 100644
--- a/contrib/backport/backport.go
+++ b/contrib/backport/backport.go
@@ -18,7 +18,7 @@ import (
"syscall"
"github.com/google/go-github/v53/github"
- "github.com/urfave/cli"
+ "github.com/urfave/cli/v2"
"gopkg.in/yaml.v3"
)
@@ -32,55 +32,55 @@ func main() {
app.ArgsUsage = "<PR-to-backport>"
app.Flags = []cli.Flag{
- cli.StringFlag{
+ &cli.StringFlag{
Name: "version",
Usage: "Version branch to backport on to",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "upstream",
Value: "origin",
Usage: "Upstream remote for the Gitea upstream",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "release-branch",
Value: "",
Usage: "Release branch to backport on. Will default to release/<version>",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "cherry-pick",
Usage: "SHA to cherry-pick as backport",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "backport-branch",
Usage: "Backport branch to backport on to (default: backport-<pr>-<version>",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "remote",
Value: "",
Usage: "Remote for your fork of the Gitea upstream",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "fork-user",
Value: "",
Usage: "Forked user name on Github",
},
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "no-fetch",
Usage: "Set this flag to prevent fetch of remote branches",
},
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "no-amend-message",
Usage: "Set this flag to prevent automatic amendment of the commit message",
},
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "no-push",
Usage: "Set this flag to prevent pushing the backport up to your fork",
},
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "no-xdg-open",
Usage: "Set this flag to not use xdg-open to open the PR URL",
},
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "continue",
Usage: "Set this flag to continue from a git cherry-pick that has broken",
},
@@ -151,7 +151,7 @@ func runBackport(c *cli.Context) error {
localReleaseBranch := path.Join(upstream, upstreamReleaseBranch)
- args := c.Args()
+ args := c.Args().Slice()
if len(args) == 0 && pr == "" {
return fmt.Errorf("no PR number provided\nProvide a PR number to backport")
} else if len(args) != 1 && pr == "" {
diff --git a/contrib/environment-to-ini/environment-to-ini.go b/contrib/environment-to-ini/environment-to-ini.go
index fb5fb7bdad..7758045fd3 100644
--- a/contrib/environment-to-ini/environment-to-ini.go
+++ b/contrib/environment-to-ini/environment-to-ini.go
@@ -9,7 +9,7 @@ import (
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
- "github.com/urfave/cli"
+ "github.com/urfave/cli/v2"
)
func main() {
@@ -46,22 +46,22 @@ func main() {
and "GITEA__LOG_0x2E_CONSOLE__STDERR=false". Other examples can be found
on the configuration cheat sheet.`
app.Flags = []cli.Flag{
- cli.StringFlag{
+ &cli.StringFlag{
Name: "custom-path, C",
Value: setting.CustomPath,
Usage: "Custom path file path",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "config, c",
Value: setting.CustomConf,
Usage: "Custom configuration file path",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "work-path, w",
Value: setting.AppWorkPath,
Usage: "Set the gitea working path",
},
- cli.StringFlag{
+ &cli.StringFlag{
Name: "out, o",
Value: "",
Usage: "Destination file to write to",