[PATCH 4/7] merge: split cmd_merge()
From: Felipe Contreras <hidden>
Date: 2021-07-22 00:09:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
We want to re-use most of cmd_merge() for a new command. Signed-off-by: Felipe Contreras <redacted> --- builtin/merge.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index 56a526f42c..2770dabf22 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c@@ -1259,7 +1259,8 @@ static int merging_a_throwaway_tag(struct commit *commit) return is_throwaway_tag; } -int cmd_merge(int argc, const char **argv, const char *prefix) +static int merge_common(int argc, const char **argv, const char *prefix, + const struct option *options, const char * const usage[]) { struct object_id result_tree, stash, head_oid; struct commit *head_commit;
@@ -1273,7 +1274,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) int orig_argc = argc; if (argc == 2 && !strcmp(argv[1], "-h")) - usage_with_options(builtin_merge_usage, builtin_merge_options); + usage_with_options(usage, options); /* * Check if we are _not_ on a detached HEAD, i.e. if there is a
@@ -1299,8 +1300,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) if (branch_mergeoptions) parse_branch_merge_options(branch_mergeoptions); - argc = parse_options(argc, argv, prefix, builtin_merge_options, - builtin_merge_usage, 0); + argc = parse_options(argc, argv, prefix, options, usage, 0); if (shortlog_len < 0) shortlog_len = (merge_log_config > 0) ? merge_log_config : 0;
@@ -1314,7 +1314,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) if (orig_argc != 2) usage_msg_opt(_("--abort expects no arguments"), - builtin_merge_usage, builtin_merge_options); + usage, options); if (!file_exists(git_path_merge_head(the_repository))) die(_("There is no merge to abort (MERGE_HEAD missing)."));
@@ -1336,8 +1336,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) if (quit_current_merge) { if (orig_argc != 2) usage_msg_opt(_("--quit expects no arguments"), - builtin_merge_usage, - builtin_merge_options); + usage, options); remove_merge_branch_state(the_repository); goto done;
@@ -1349,7 +1348,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) if (orig_argc != 2) usage_msg_opt(_("--continue expects no arguments"), - builtin_merge_usage, builtin_merge_options); + usage, options); if (!file_exists(git_path_merge_head(the_repository))) die(_("There is no merge in progress (MERGE_HEAD missing)."));
@@ -1416,8 +1415,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) } if (!argc) - usage_with_options(builtin_merge_usage, - builtin_merge_options); + usage_with_options(usage, options); if (!head_commit) { /*
@@ -1458,8 +1456,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) argc, argv, &merge_msg); if (!head_commit || !argc) - usage_with_options(builtin_merge_usage, - builtin_merge_options); + usage_with_options(usage, options); if (verify_signatures) { for (p = remoteheads; p; p = p->next) {
@@ -1740,3 +1737,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix) free(branch_to_free); return ret; } + +int cmd_merge(int argc, const char **argv, const char *prefix) +{ + return merge_common(argc, argv, prefix, builtin_merge_options, builtin_merge_usage); +}
--
2.32.0.40.gb9b36f9b52