diff --git a/cmd/gitaly/main_test.go b/cmd/gitaly/main_test.go index 9a4e618dbb481c7f0b4f98dd195be124624fe274..e525c801b6ef1972521d5442e0702c3aa0d13e8c 100644 --- a/cmd/gitaly/main_test.go +++ b/cmd/gitaly/main_test.go @@ -31,7 +31,7 @@ func TestGitalyCLI(t *testing.T) { { desc: "without arguments", exitCode: 2, - stdout: "NAME:\n gitaly - a Git RPC service\n\nUSAGE:\n gitaly command [command options]\n\nDESCRIPTION:\n Gitaly is a Git RPC service for handling Git calls.\n\nCOMMANDS:\n serve launch the server daemon\n check verify internal API is accessible\n configuration run configuration-related commands\n hooks manage Git hooks\n bundle-uri Generate bundle URI bundle\n git execute Git commands using Gitaly's embedded Git\n db Interact with the BadgerDB\n\nOPTIONS:\n --help, -h show help\n --version, -v print the version\n", + stdout: "NAME:\n gitaly - a Git RPC service\n\nUSAGE:\n gitaly command [command options]\n\nDESCRIPTION:\n Gitaly is a Git RPC service for handling Git calls.\n\nCOMMANDS:\n serve launch the server daemon\n check verify internal API is accessible\n configuration run configuration-related commands\n hooks manage Git hooks\n bundle-uri Generate bundle URI bundle\n git execute Git commands using Gitaly's embedded Git\n db Interact with the BadgerDB\n help, h Shows a list of commands or help for one command\n\nOPTIONS:\n --help, -h show help\n --version, -v print the version\n", }, { desc: "with non-existent config", @@ -43,7 +43,7 @@ func TestGitalyCLI(t *testing.T) { desc: "check without config", args: []string{"check"}, exitCode: 2, - stdout: "NAME:\n gitaly check - verify internal API is accessible\n\nUSAGE:\n gitaly check \n\n Example: gitaly check gitaly.config.toml\n\nDESCRIPTION:\n Check that the internal Gitaly API is accessible.\n\nOPTIONS:\n --help, -h show help\n", + stdout: "NAME:\n gitaly check - verify internal API is accessible\n\nUSAGE:\n gitaly check \n\n Example: gitaly check gitaly.config.toml\n\nDESCRIPTION:\n Check that the internal Gitaly API is accessible.\n\nCOMMANDS:\n help, h Shows a list of commands or help for one command\n\nOPTIONS:\n --help, -h show help\n", stderr: "invalid argument(s)", }, { diff --git a/doc/help_text_style_guide.md b/doc/help_text_style_guide.md index 22d170b58ac5d245e935bf309a2e06fc9348a156..9e384cb7caf498e1d46dd0a9571e81f07603598a 100644 --- a/doc/help_text_style_guide.md +++ b/doc/help_text_style_guide.md @@ -27,21 +27,6 @@ To help users discover `gitaly` and `praefect` features through the CLI: Example: gitaly subcommand plausible-value.toml --mandatory-flag plausible-value`, ``` -- Because of a [known issue](https://gitlab.com/gitlab-org/gitaly/-/issues/5350), always set the `HideHelpCommand` - field key to `true`. Setting this hides the `COMMANDS:` section of the help text, - which hides a generated list of available subcommands, if available. - - Instead, list subcommands in the value of the `Description` field key. For example: - - ```go - Description: `This is a long description of all the things example command can do. - - Provides the following subcommands: - - - subcommand1 - - subcommand2`, - ``` - ## Rules for command strings When adding or updating `gitaly` and `praefect` CLI tools, use the following guidance for values for the different field diff --git a/internal/cli/gitaly/app.go b/internal/cli/gitaly/app.go index 8f04ccd900e2157695bacf47e45173d309f989ed..5d7b11e3df25f1b123606d31a7a9f86a768bd2cd 100644 --- a/internal/cli/gitaly/app.go +++ b/internal/cli/gitaly/app.go @@ -25,8 +25,7 @@ func NewApp() *cli.App { // serveAction is also here in the root to keep the CLI backwards compatible // with the previous way to launch Gitaly with just `gitaly `. We // may want to deprecate this eventually. - Action: serveAction, - HideHelpCommand: true, + Action: serveAction, Commands: []*cli.Command{ newServeCommand(), newCheckCommand(), diff --git a/internal/cli/gitaly/serve.go b/internal/cli/gitaly/serve.go index 9a1489eeeca8b372a21ad0bcffc3d0a592476ac3..56ff5c84e4fab818c3b1451cc1756ee6d4c6c2b4 100644 --- a/internal/cli/gitaly/serve.go +++ b/internal/cli/gitaly/serve.go @@ -71,9 +71,8 @@ func newServeCommand() *cli.Command { UsageText: `gitaly serve Example: gitaly serve gitaly.config.toml`, - Description: "Launch the Gitaly server daemon.", - Action: serveAction, - HideHelpCommand: true, + Description: "Launch the Gitaly server daemon.", + Action: serveAction, } } diff --git a/internal/cli/gitaly/subcmd_check.go b/internal/cli/gitaly/subcmd_check.go index 5c1a9e6fc782e0bd16a6abb950f2d2c641d18f83..d0e7b7e1f9e785adfe79e9c8a59f1dacd8f8bc2c 100644 --- a/internal/cli/gitaly/subcmd_check.go +++ b/internal/cli/gitaly/subcmd_check.go @@ -24,10 +24,9 @@ func newCheckCommand() *cli.Command { UsageText: `gitaly check Example: gitaly check gitaly.config.toml`, - Description: "Check that the internal Gitaly API is accessible.", - ArgsUsage: "", - Action: checkAction, - HideHelpCommand: true, + Description: "Check that the internal Gitaly API is accessible.", + ArgsUsage: "", + Action: checkAction, } } diff --git a/internal/cli/gitaly/subcmd_configuration.go b/internal/cli/gitaly/subcmd_configuration.go index 6e5a2d702f6a96671e201f934a026a05922249fe..27ffc5d33f87f87f749062d0b89892dbd0e928ec 100644 --- a/internal/cli/gitaly/subcmd_configuration.go +++ b/internal/cli/gitaly/subcmd_configuration.go @@ -11,14 +11,9 @@ const validationErrorCode = 2 func newConfigurationCommand() *cli.Command { return &cli.Command{ - Name: "configuration", - Usage: "run configuration-related commands", - Description: `Run commands related to Gitaly configuration. - -Provides the following subcommand: - -- validate`, - HideHelpCommand: true, + Name: "configuration", + Usage: "run configuration-related commands", + Description: "Run commands related to Gitaly configuration.", Subcommands: []*cli.Command{ { Name: "validate", diff --git a/internal/cli/gitaly/subcmd_git.go b/internal/cli/gitaly/subcmd_git.go index 256f6125c97ed5c22bf115ef372cbe3259e1452c..eba927916ccc7517565c3af607c3328059cda6fb 100644 --- a/internal/cli/gitaly/subcmd_git.go +++ b/internal/cli/gitaly/subcmd_git.go @@ -36,8 +36,7 @@ without understanding the implications of doing so. Modifying Gitaly's state may lead to violating Gitaly's invariants, and lead to unavailability or data loss. ===============`, - Action: gitAction, - HideHelpCommand: true, + Action: gitAction, Flags: []cli.Flag{ gitalyConfigFlag(), }, diff --git a/internal/cli/gitaly/subcmd_hooks.go b/internal/cli/gitaly/subcmd_hooks.go index 9b81003f3512e2a38fd09f3461979cdc57bd0c3c..3ff29d5566f1596c35def8510cfabc131cb3c6fd 100644 --- a/internal/cli/gitaly/subcmd_hooks.go +++ b/internal/cli/gitaly/subcmd_hooks.go @@ -25,13 +25,10 @@ const ( func newHooksCommand() *cli.Command { return &cli.Command{ - Name: "hooks", - Usage: "manage Git hooks", - UsageText: "gitaly hooks set", - Description: `Manage hooks for a Git repository. - -Provides the "set" subcommand.`, - HideHelpCommand: true, + Name: "hooks", + Usage: "manage Git hooks", + UsageText: "gitaly hooks set", + Description: "Manage hooks for a Git repository.", Subcommands: []*cli.Command{ { Name: "set", diff --git a/internal/cli/praefect/main.go b/internal/cli/praefect/main.go index ccb919eb707366759c15931d037ef30f11a01648..538d39bccce8cc68fc2f7596b21b299628fb9760 100644 --- a/internal/cli/praefect/main.go +++ b/internal/cli/praefect/main.go @@ -51,8 +51,7 @@ func NewApp() *cli.App { // // The 'DefaultCommand: "serve"' setting can't be used here because it won't be // possible to invoke sub-command not yet registered. - Action: serveAction, - HideHelpCommand: true, + Action: serveAction, Commands: []*cli.Command{ newServeCommand(), newConfigurationCommand(), diff --git a/internal/cli/praefect/serve.go b/internal/cli/praefect/serve.go index a0bc86bb386b0c89f9aa68fe7a50b3cb0046fc37..ff9de7615eeac2853612e51f1f82a97b6558d437 100644 --- a/internal/cli/praefect/serve.go +++ b/internal/cli/praefect/serve.go @@ -47,8 +47,7 @@ func newServeCommand() *cli.Command { Description: `Launch the Praefect server daemon. Example: praefect --config praefect.config.toml serve`, - Action: serveAction, - HideHelpCommand: true, + Action: serveAction, Before: func(context *cli.Context) error { if context.Args().Present() { return unexpectedPositionalArgsError{Command: context.Command.Name} diff --git a/internal/cli/praefect/subcmd_accept_dataloss.go b/internal/cli/praefect/subcmd_accept_dataloss.go index 6228940a0c89ba4df49f6cd1133a8c99d86cc4e7..f32afd8abd611fd99c83b2434e8c81d3fe032d3a 100644 --- a/internal/cli/praefect/subcmd_accept_dataloss.go +++ b/internal/cli/praefect/subcmd_accept_dataloss.go @@ -19,7 +19,6 @@ storages that contain replicas of the repository are scheduled to make them cons authoritative physical storage. Example: praefect --config praefect.config.toml accept-dataloss --virtual-storage default --repository --authoritative-storage `, - HideHelpCommand: true, Flags: []cli.Flag{ &cli.StringFlag{ Name: paramVirtualStorage, diff --git a/internal/cli/praefect/subcmd_check.go b/internal/cli/praefect/subcmd_check.go index 5d85136002edb5fe5e09d8ca2d866743af56a861..f1951f60f3f692df7e8cc1b7a51b9ea684becd61 100644 --- a/internal/cli/praefect/subcmd_check.go +++ b/internal/cli/praefect/subcmd_check.go @@ -19,7 +19,6 @@ func newCheckCommand(checkFuncs []service.CheckFunc) *cli.Command { Description: `Run Praefect startup checks. Example: praefect --config praefect.config.toml check`, - HideHelpCommand: true, Flags: []cli.Flag{ &cli.BoolFlag{ Name: "q", diff --git a/internal/cli/praefect/subcmd_configuration.go b/internal/cli/praefect/subcmd_configuration.go index 54b425ae8710113b0c903a0bd8446a8b7bff233e..b0d618f4ea874f053df0ad256ff247462cd740df 100644 --- a/internal/cli/praefect/subcmd_configuration.go +++ b/internal/cli/praefect/subcmd_configuration.go @@ -6,14 +6,9 @@ const configurationCmdName = "configuration" func newConfigurationCommand() *cli.Command { return &cli.Command{ - Name: configurationCmdName, - Usage: "manage configuration", - Description: `Manage Praefect configuration. - -Provides the following subcommand: - -- validate`, - HideHelpCommand: true, + Name: configurationCmdName, + Usage: "manage configuration", + Description: "Manage Praefect configuration.", Subcommands: []*cli.Command{ newConfigurationValidateCommand(), }, diff --git a/internal/cli/praefect/subcmd_configuration_validate.go b/internal/cli/praefect/subcmd_configuration_validate.go index 949f297b5e5a2f73fc4e23de18331ae66faf0efc..07a39f8a7fe1e7ddd35dea6df0b857289f7c9d41 100644 --- a/internal/cli/praefect/subcmd_configuration_validate.go +++ b/internal/cli/praefect/subcmd_configuration_validate.go @@ -21,8 +21,7 @@ Applies validation rules to Praefect configuration provided on stdin and returns errors in JSON format on stdout. Example: praefect configuration validate < praefect.config.toml`, - HideHelpCommand: true, - Action: configurationValidateAction, + Action: configurationValidateAction, } } diff --git a/internal/cli/praefect/subcmd_configuration_validate_test.go b/internal/cli/praefect/subcmd_configuration_validate_test.go index 94ba135d8e712f87cf3e173f3ae580e4ac7c2532..6c0e0a81d657feec9f87e68e38b68a230d9f8098 100644 --- a/internal/cli/praefect/subcmd_configuration_validate_test.go +++ b/internal/cli/praefect/subcmd_configuration_validate_test.go @@ -76,6 +76,9 @@ DESCRIPTION: Example: praefect configuration validate < praefect.config.toml +COMMANDS: + help, h Shows a list of commands or help for one command + OPTIONS: --help, -h show help `, diff --git a/internal/cli/praefect/subcmd_dataloss.go b/internal/cli/praefect/subcmd_dataloss.go index e2fa1e5ea001efa550fd11e6367732ec7609664c..5354cc979af14baac7af08c3b9f01b61deaaca89 100644 --- a/internal/cli/praefect/subcmd_dataloss.go +++ b/internal/cli/praefect/subcmd_dataloss.go @@ -31,8 +31,7 @@ For each unavailable repository with potential data loss, the output lists: - Any out-of-date Gitaly nodes (outdated storages). Example: praefect --config praefect.config.toml dataloss`, - HideHelpCommand: true, - Action: datalossAction, + Action: datalossAction, Flags: []cli.Flag{ &cli.StringFlag{ Name: paramVirtualStorage, diff --git a/internal/cli/praefect/subcmd_dial_nodes.go b/internal/cli/praefect/subcmd_dial_nodes.go index 7c2bda57eafed1c74a8b15e1c52f944c345f0f7e..1db7f13f6c459813597a38c77caa2be6a14944f4 100644 --- a/internal/cli/praefect/subcmd_dial_nodes.go +++ b/internal/cli/praefect/subcmd_dial_nodes.go @@ -18,8 +18,7 @@ Diagnoses connection problems with Gitaly or Praefect. Sources connection inform configuration file, and then dials and health checks the nodes. Example: praefect --config praefect.config.toml dial-nodes`, - HideHelpCommand: true, - Action: dialNodesAction, + Action: dialNodesAction, Flags: []cli.Flag{ &cli.DurationFlag{ Name: "timeout", diff --git a/internal/cli/praefect/subcmd_list_storages.go b/internal/cli/praefect/subcmd_list_storages.go index c2b89202ca91327c23241d2cd2eba96f053019a4..91df4eb70983db93d24c80a2b2c4bf1bbdb84c27 100644 --- a/internal/cli/praefect/subcmd_list_storages.go +++ b/internal/cli/praefect/subcmd_list_storages.go @@ -26,8 +26,7 @@ If the virtual-storage flag: - Is not specified, lists physical storages for all virtual storages. Example: praefect --config praefect.config.toml list-storages --virtual-storage default`, - HideHelpCommand: true, - Action: listStoragesAction, + Action: listStoragesAction, Flags: []cli.Flag{ &cli.StringFlag{ Name: paramVirtualStorage, diff --git a/internal/cli/praefect/subcmd_list_untracked_repositories.go b/internal/cli/praefect/subcmd_list_untracked_repositories.go index af356deba1cd9effc2f3355571b0e2985bcbc03e..cf4f129d479927674ce3f7cee0e143c061f8a55c 100644 --- a/internal/cli/praefect/subcmd_list_untracked_repositories.go +++ b/internal/cli/praefect/subcmd_list_untracked_repositories.go @@ -38,8 +38,7 @@ Examples: - praefect --config praefect.config.toml list-untracked-repositories - praefect --config praefect.config.toml list-untracked-repositories --older-than 1s`, - HideHelpCommand: true, - Action: listUntrackedRepositoriesAction, + Action: listUntrackedRepositoriesAction, Flags: []cli.Flag{ &cli.StringFlag{ Name: "delimiter", diff --git a/internal/cli/praefect/subcmd_metadata.go b/internal/cli/praefect/subcmd_metadata.go index 44c7ef829320ef395f9ff1a355bf64e6996eebe5..728bfd15478854dde9fd90aa8b41b52056477dd9 100644 --- a/internal/cli/praefect/subcmd_metadata.go +++ b/internal/cli/praefect/subcmd_metadata.go @@ -31,8 +31,7 @@ Examples: - praefect --config praefect.config.toml metadata --repository-id 1 - praefect --config praefect.config.toml metadata --virtual-storage default --relative-path `, - HideHelpCommand: true, - Action: metadataAction, + Action: metadataAction, Flags: []cli.Flag{ &cli.Int64Flag{ Name: "repository-id", diff --git a/internal/cli/praefect/subcmd_remove_repository.go b/internal/cli/praefect/subcmd_remove_repository.go index 9fa906d4306ae7ff5431a32d31d97fcb2e69aae9..0c4ce56452abb15da01c3d886f632c1453cf2d92 100644 --- a/internal/cli/praefect/subcmd_remove_repository.go +++ b/internal/cli/praefect/subcmd_remove_repository.go @@ -39,8 +39,7 @@ Example: praefect --config praefect.config.toml remove-repository --virtual-stor - (Optional) Replicas of the repository on all physical storages. By default, runs in dry-run mode to check if the repository exists in the Praefect database.`, - HideHelpCommand: true, - Action: removeRepositoryAction, + Action: removeRepositoryAction, Flags: []cli.Flag{ &cli.StringFlag{ Name: paramVirtualStorage, diff --git a/internal/cli/praefect/subcmd_set_replication_factor.go b/internal/cli/praefect/subcmd_set_replication_factor.go index fa1d41800d8d65685d8e1ec8a171c4e084ea8925..9af95779407b9aef55f1e37797b321874038fe57 100644 --- a/internal/cli/praefect/subcmd_set_replication_factor.go +++ b/internal/cli/praefect/subcmd_set_replication_factor.go @@ -37,8 +37,7 @@ The authoritative physical storage is never unassigned because it: - Is the first storage that is assigned when setting a replication factor for a repository. Example: praefect --config praefect.config.toml set-replication-factor --virtual-storage default --repository --replication-factor 3`, - HideHelpCommand: true, - Action: setReplicationFactorAction, + Action: setReplicationFactorAction, Flags: []cli.Flag{ &cli.StringFlag{ Name: paramVirtualStorage, diff --git a/internal/cli/praefect/subcmd_sql_migrate.go b/internal/cli/praefect/subcmd_sql_migrate.go index a98b14aa9d25dc1c9f88b0cdfc090aa61925fbbb..325d8aec088880125be596a7c287462957ce3f7b 100644 --- a/internal/cli/praefect/subcmd_sql_migrate.go +++ b/internal/cli/praefect/subcmd_sql_migrate.go @@ -23,8 +23,7 @@ func newSQLMigrateCommand() *cli.Command { Description: "The sql-migrate subcommand applies outstanding migrations to the configured database.\n" + "The subcommand doesn't fail if database has migrations unknown to the version of Praefect you're using.\n" + "To make the subcommand fail on unknown migrations, use the 'ignore-unknown' flag.", - HideHelpCommand: true, - Action: sqlMigrateAction, + Action: sqlMigrateAction, Flags: []cli.Flag{ &cli.BoolFlag{ Name: "ignore-unknown", diff --git a/internal/cli/praefect/subcmd_sql_migrate_down.go b/internal/cli/praefect/subcmd_sql_migrate_down.go index 4c643cc540198be68931ede3575b1a1154ccb55c..88ce8c5b670e3ca66da1eb60f35c0723ee35c58d 100644 --- a/internal/cli/praefect/subcmd_sql_migrate_down.go +++ b/internal/cli/praefect/subcmd_sql_migrate_down.go @@ -17,8 +17,7 @@ func newSQLMigrateDownCommand() *cli.Command { Usage: "apply revert SQL migrations", Description: "The sql-migrate-down subcommand applies revert migrations to the configured database.\n" + "It accepts a single argument - amount of migrations to revert.", - HideHelpCommand: true, - Action: sqlMigrateDownAction, + Action: sqlMigrateDownAction, Flags: []cli.Flag{ &cli.BoolFlag{ Name: "f", diff --git a/internal/cli/praefect/subcmd_sql_migrate_status.go b/internal/cli/praefect/subcmd_sql_migrate_status.go index 45bdd80973018fde0071c9e646da1d50e685f563..2c205dae742408cb29f50114509afe1772966721 100644 --- a/internal/cli/praefect/subcmd_sql_migrate_status.go +++ b/internal/cli/praefect/subcmd_sql_migrate_status.go @@ -17,8 +17,7 @@ func newSQLMigrateStatusCommand() *cli.Command { Usage: "show applied database migrations", Description: "The commands prints a table of the migration identifiers applied to the database\n" + "with the timestamp for each when it was applied.", - HideHelpCommand: true, - Action: sqlMigrateStatusAction, + Action: sqlMigrateStatusAction, Before: func(ctx *cli.Context) error { if ctx.Args().Present() { _ = cli.ShowSubcommandHelp(ctx) diff --git a/internal/cli/praefect/subcmd_sql_ping.go b/internal/cli/praefect/subcmd_sql_ping.go index 3811c8739fae56b1516bb39e6334754f059f3ea3..67e3733735c90898effde3daf6f26ed2b1013dd1 100644 --- a/internal/cli/praefect/subcmd_sql_ping.go +++ b/internal/cli/praefect/subcmd_sql_ping.go @@ -12,11 +12,10 @@ const sqlPingCmdName = "sql-ping" func newSQLPingCommand() *cli.Command { return &cli.Command{ - Name: sqlPingCmdName, - Usage: "check reachability of the database", - Description: "The subcommand checks if the database configured in the configuration file is reachable", - HideHelpCommand: true, - Action: sqlPingAction, + Name: sqlPingCmdName, + Usage: "check reachability of the database", + Description: "The subcommand checks if the database configured in the configuration file is reachable", + Action: sqlPingAction, Before: func(appCtx *cli.Context) error { if appCtx.Args().Present() { _ = cli.ShowSubcommandHelp(appCtx) diff --git a/internal/cli/praefect/subcmd_track_repositories.go b/internal/cli/praefect/subcmd_track_repositories.go index bde162108aa9d4abaf90b547f3be5616ca2f2fde..5805b5c5ac5320a35b18dc4bb883af9c2b857f1a 100644 --- a/internal/cli/praefect/subcmd_track_repositories.go +++ b/internal/cli/praefect/subcmd_track_repositories.go @@ -35,8 +35,7 @@ func newTrackRepositoriesCommand() *cli.Command { "If -replicate-immediately is used, the command will attempt to replicate the repositories\n" + "to the secondaries. Otherwise, replication jobs will be created and will be executed\n" + "eventually by Praefect itself.\n", - HideHelpCommand: true, - Action: trackRepositoriesAction, + Action: trackRepositoriesAction, Flags: []cli.Flag{ &cli.BoolFlag{ Name: "replicate-immediately", diff --git a/internal/cli/praefect/subcmd_track_repository.go b/internal/cli/praefect/subcmd_track_repository.go index d433f23929d0c092dec1701059e9b79247db0750..ab6326fa1603f37ad2a482a022b2106f20535d38 100644 --- a/internal/cli/praefect/subcmd_track_repository.go +++ b/internal/cli/praefect/subcmd_track_repository.go @@ -37,8 +37,7 @@ func newTrackRepositoryCommand() *cli.Command { "the repository to the secondaries. The command is blocked until the\n" + "replication finishes. Otherwise, replication jobs will be created and will " + "be executed eventually by Praefect in the background.\n", - HideHelpCommand: true, - Action: trackRepositoryAction, + Action: trackRepositoryAction, Flags: []cli.Flag{ &cli.StringFlag{ Name: paramVirtualStorage, diff --git a/internal/cli/praefect/subcmd_verify.go b/internal/cli/praefect/subcmd_verify.go index 6c5da4a56c2c7dc60acbf8fb21816470891307ab..8b32a80cead4e72475a9a468149c840cd4ffe58c 100644 --- a/internal/cli/praefect/subcmd_verify.go +++ b/internal/cli/praefect/subcmd_verify.go @@ -32,8 +32,7 @@ Examples: - praefect --config praefect.config.toml verify --repository-id 1 - praefect --config praefect.config.toml verify --virtual-storage default - praefect --config praefect.config.toml verify --virtual-storage default --storage `, - HideHelpCommand: true, - Action: verifyAction, + Action: verifyAction, Flags: []cli.Flag{ &cli.Int64Flag{ Name: "repository-id", diff --git a/tools/test-boot/main.go b/tools/test-boot/main.go index a9739b00b7e7250138610af27b086747ea5b7ccc..2b78a5f5b0ea0c40cdc09c3943f0a58c0b5cf0b7 100644 --- a/tools/test-boot/main.go +++ b/tools/test-boot/main.go @@ -184,10 +184,9 @@ func testBoot(appCtx *cli.Context) error { func main() { app := cli.App{ - Name: "test-boot", - Usage: "smoke-test the bootup process of Gitaly", - Action: testBoot, - HideHelpCommand: true, + Name: "test-boot", + Usage: "smoke-test the bootup process of Gitaly", + Action: testBoot, Flags: []cli.Flag{ &cli.BoolFlag{ Name: "bundled-git",