summaryrefslogtreecommitdiffstats
path: root/cmd/hook.go
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 /cmd/hook.go
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 'cmd/hook.go')
-rw-r--r--cmd/hook.go22
1 files changed, 11 insertions, 11 deletions
diff --git a/cmd/hook.go b/cmd/hook.go
index ed6efc19ea..f38fd8831b 100644
--- a/cmd/hook.go
+++ b/cmd/hook.go
@@ -20,7 +20,7 @@ import (
repo_module "code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting"
- "github.com/urfave/cli"
+ "github.com/urfave/cli/v2"
)
const (
@@ -29,12 +29,12 @@ const (
var (
// CmdHook represents the available hooks sub-command.
- CmdHook = cli.Command{
+ CmdHook = &cli.Command{
Name: "hook",
Usage: "Delegate commands to corresponding Git hooks",
Description: "This should only be called by Git",
Before: PrepareConsoleLoggerLevel(log.FATAL),
- Subcommands: []cli.Command{
+ Subcommands: []*cli.Command{
subcmdHookPreReceive,
subcmdHookUpdate,
subcmdHookPostReceive,
@@ -42,47 +42,47 @@ var (
},
}
- subcmdHookPreReceive = cli.Command{
+ subcmdHookPreReceive = &cli.Command{
Name: "pre-receive",
Usage: "Delegate pre-receive Git hook",
Description: "This command should only be called by Git",
Action: runHookPreReceive,
Flags: []cli.Flag{
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "debug",
},
},
}
- subcmdHookUpdate = cli.Command{
+ subcmdHookUpdate = &cli.Command{
Name: "update",
Usage: "Delegate update Git hook",
Description: "This command should only be called by Git",
Action: runHookUpdate,
Flags: []cli.Flag{
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "debug",
},
},
}
- subcmdHookPostReceive = cli.Command{
+ subcmdHookPostReceive = &cli.Command{
Name: "post-receive",
Usage: "Delegate post-receive Git hook",
Description: "This command should only be called by Git",
Action: runHookPostReceive,
Flags: []cli.Flag{
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "debug",
},
},
}
// Note: new hook since git 2.29
- subcmdHookProcReceive = cli.Command{
+ subcmdHookProcReceive = &cli.Command{
Name: "proc-receive",
Usage: "Delegate proc-receive Git hook",
Description: "This command should only be called by Git",
Action: runHookProcReceive,
Flags: []cli.Flag{
- cli.BoolFlag{
+ &cli.BoolFlag{
Name: "debug",
},
},