summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2022-02-26 23:31:58 -0500
committerEdward Thomson <ethomson@edwardthomson.com>2022-02-26 23:31:58 -0500
commitd98e93fc82b20d8b0230b7e0f945199e57e5537e (patch)
tree2a54ce21053dfc0f7b392e4d78d8a6cebf3a234e
parent935637101c181bfb510720a016de83b40cf7f0d5 (diff)
downloadlibgit2-ethomson/cli_cmd_clone.tar.gz
cli: support checkout branch in cloneethomson/cli_cmd_clone
-rw-r--r--src/cli/cmd_clone.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/cli/cmd_clone.c b/src/cli/cmd_clone.c
index 0f199288b..a94def232 100644
--- a/src/cli/cmd_clone.c
+++ b/src/cli/cmd_clone.c
@@ -30,18 +30,22 @@ static const cli_opt_spec opts[] = {
CLI_OPT_USAGE_HIDDEN | CLI_OPT_USAGE_STOP_PARSING, NULL,
"display help about the " COMMAND_NAME " command" },
- { CLI_OPT_TYPE_BOOL, "quiet", 'q', &quiet, 0,
- CLI_OPT_USAGE_DEFAULT, NULL, "do not display progress output" },
- { CLI_OPT_TYPE_BOOL, "bare", 0, &clone_opts.bare, 1,
- CLI_OPT_USAGE_DEFAULT, NULL, "don't create a working directory" },
- { CLI_OPT_TYPE_VALUE, "branch", 'b', &clone_opts.checkout_branch, 0,
- CLI_OPT_USAGE_DEFAULT, "branch", "branch to checkout" },
+ { CLI_OPT_TYPE_BOOL, "quiet", 'q', &quiet, 0,
+ CLI_OPT_USAGE_DEFAULT, NULL, "do not display progress output" },
+ { CLI_OPT_TYPE_SWITCH, "no-checkout", 'n', &clone_opts.checkout_opts.checkout_strategy, GIT_CHECKOUT_NONE,
+ CLI_OPT_USAGE_DEFAULT, "no-checkout", "don't check out the branch" },
+ { CLI_OPT_TYPE_SWITCH, "checkout", 0, &clone_opts.checkout_opts.checkout_strategy, GIT_CHECKOUT_SAFE,
+ CLI_OPT_USAGE_HIDDEN, NULL, NULL },
+ { CLI_OPT_TYPE_BOOL, "bare", 0, &clone_opts.bare, 1,
+ CLI_OPT_USAGE_DEFAULT, NULL, "don't create a working directory" },
+ { CLI_OPT_TYPE_VALUE, "branch", 'b', &clone_opts.checkout_branch, 0,
+ CLI_OPT_USAGE_DEFAULT, "branch", "branch to check out" },
{ CLI_OPT_TYPE_LITERAL },
- { CLI_OPT_TYPE_ARG, "repository", 0, &remote_path, 0,
- CLI_OPT_USAGE_REQUIRED, "repository", "path to repository to clone" },
- { CLI_OPT_TYPE_ARG, "directory", 0, &local_path, 0,
- CLI_OPT_USAGE_DEFAULT, "directory", "directory to clone into" },
+ { CLI_OPT_TYPE_ARG, "repository", 0, &remote_path, 0,
+ CLI_OPT_USAGE_REQUIRED, "repository", "path to repository to clone" },
+ { CLI_OPT_TYPE_ARG, "directory", 0, &local_path, 0,
+ CLI_OPT_USAGE_DEFAULT, "directory", "directory to clone into" },
{ 0 },
};