i18n: git-merge basic messages
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f338cb83a0
commit
bacec47845
124
builtin/merge.c
124
builtin/merge.c
@ -80,7 +80,7 @@ static int option_parse_message(const struct option *opt,
|
||||
strbuf_addf(buf, "%s%s", buf->len ? "\n\n" : "", arg);
|
||||
have_message = 1;
|
||||
} else
|
||||
return error("switch `m' requires a value");
|
||||
return error(_("switch `m' requires a value"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -117,13 +117,13 @@ static struct strategy *get_strategy(const char *name)
|
||||
exclude_cmds(&main_cmds, ¬_strategies);
|
||||
}
|
||||
if (!is_in_cmdlist(&main_cmds, name) && !is_in_cmdlist(&other_cmds, name)) {
|
||||
fprintf(stderr, "Could not find merge strategy '%s'.\n", name);
|
||||
fprintf(stderr, "Available strategies are:");
|
||||
fprintf(stderr, _("Could not find merge strategy '%s'.\n"), name);
|
||||
fprintf(stderr, _("Available strategies are:"));
|
||||
for (i = 0; i < main_cmds.cnt; i++)
|
||||
fprintf(stderr, " %s", main_cmds.names[i]->name);
|
||||
fprintf(stderr, ".\n");
|
||||
if (other_cmds.cnt) {
|
||||
fprintf(stderr, "Available custom strategies are:");
|
||||
fprintf(stderr, _("Available custom strategies are:"));
|
||||
for (i = 0; i < other_cmds.cnt; i++)
|
||||
fprintf(stderr, " %s", other_cmds.names[i]->name);
|
||||
fprintf(stderr, ".\n");
|
||||
@ -224,17 +224,17 @@ static void save_state(void)
|
||||
cp.git_cmd = 1;
|
||||
|
||||
if (start_command(&cp))
|
||||
die("could not run stash.");
|
||||
die(_("could not run stash."));
|
||||
len = strbuf_read(&buffer, cp.out, 1024);
|
||||
close(cp.out);
|
||||
|
||||
if (finish_command(&cp) || len < 0)
|
||||
die("stash failed");
|
||||
die(_("stash failed"));
|
||||
else if (!len)
|
||||
return;
|
||||
strbuf_setlen(&buffer, buffer.len-1);
|
||||
if (get_sha1(buffer.buf, stash))
|
||||
die("not a valid object: %s", buffer.buf);
|
||||
die(_("not a valid object: %s"), buffer.buf);
|
||||
}
|
||||
|
||||
static void read_empty(unsigned const char *sha1, int verbose)
|
||||
@ -252,7 +252,7 @@ static void read_empty(unsigned const char *sha1, int verbose)
|
||||
args[i] = NULL;
|
||||
|
||||
if (run_command_v_opt(args, RUN_GIT_CMD))
|
||||
die("read-tree failed");
|
||||
die(_("read-tree failed"));
|
||||
}
|
||||
|
||||
static void reset_hard(unsigned const char *sha1, int verbose)
|
||||
@ -269,7 +269,7 @@ static void reset_hard(unsigned const char *sha1, int verbose)
|
||||
args[i] = NULL;
|
||||
|
||||
if (run_command_v_opt(args, RUN_GIT_CMD))
|
||||
die("read-tree failed");
|
||||
die(_("read-tree failed"));
|
||||
}
|
||||
|
||||
static void restore_state(void)
|
||||
@ -298,7 +298,7 @@ static void restore_state(void)
|
||||
static void finish_up_to_date(const char *msg)
|
||||
{
|
||||
if (verbosity >= 0)
|
||||
printf("%s%s\n", squash ? " (nothing to squash)" : "", msg);
|
||||
printf("%s%s\n", squash ? _(" (nothing to squash)") : "", msg);
|
||||
drop_save();
|
||||
}
|
||||
|
||||
@ -311,10 +311,10 @@ static void squash_message(void)
|
||||
int fd;
|
||||
struct pretty_print_context ctx = {0};
|
||||
|
||||
printf("Squash commit -- not updating HEAD\n");
|
||||
printf(_("Squash commit -- not updating HEAD\n"));
|
||||
fd = open(git_path("SQUASH_MSG"), O_WRONLY | O_CREAT, 0666);
|
||||
if (fd < 0)
|
||||
die_errno("Could not write to '%s'", git_path("SQUASH_MSG"));
|
||||
die_errno(_("Could not write to '%s'"), git_path("SQUASH_MSG"));
|
||||
|
||||
init_revisions(&rev, NULL);
|
||||
rev.ignore_merges = 1;
|
||||
@ -329,7 +329,7 @@ static void squash_message(void)
|
||||
|
||||
setup_revisions(0, NULL, &rev, NULL);
|
||||
if (prepare_revision_walk(&rev))
|
||||
die("revision walk setup failed");
|
||||
die(_("revision walk setup failed"));
|
||||
|
||||
ctx.abbrev = rev.abbrev;
|
||||
ctx.date_mode = rev.date_mode;
|
||||
@ -342,9 +342,9 @@ static void squash_message(void)
|
||||
pretty_print_commit(rev.commit_format, commit, &out, &ctx);
|
||||
}
|
||||
if (write(fd, out.buf, out.len) < 0)
|
||||
die_errno("Writing SQUASH_MSG");
|
||||
die_errno(_("Writing SQUASH_MSG"));
|
||||
if (close(fd))
|
||||
die_errno("Finishing SQUASH_MSG");
|
||||
die_errno(_("Finishing SQUASH_MSG"));
|
||||
strbuf_release(&out);
|
||||
}
|
||||
|
||||
@ -364,7 +364,7 @@ static void finish(const unsigned char *new_head, const char *msg)
|
||||
squash_message();
|
||||
} else {
|
||||
if (verbosity >= 0 && !merge_msg.len)
|
||||
printf("No merge message -- not updating HEAD\n");
|
||||
printf(_("No merge message -- not updating HEAD\n"));
|
||||
else {
|
||||
const char *argv_gc_auto[] = { "gc", "--auto", NULL };
|
||||
update_ref(reflog_message.buf, "HEAD",
|
||||
@ -386,7 +386,7 @@ static void finish(const unsigned char *new_head, const char *msg)
|
||||
if (diff_use_color_default > 0)
|
||||
DIFF_OPT_SET(&opts, COLOR_DIFF);
|
||||
if (diff_setup_done(&opts) < 0)
|
||||
die("diff_setup_done failed");
|
||||
die(_("diff_setup_done failed"));
|
||||
diff_tree_sha1(head, new_head, "", &opts);
|
||||
diffcore_std(&opts);
|
||||
diff_flush(&opts);
|
||||
@ -415,7 +415,7 @@ static void merge_name(const char *remote, struct strbuf *msg)
|
||||
memset(branch_head, 0, sizeof(branch_head));
|
||||
remote_head = peel_to_type(remote, 0, NULL, OBJ_COMMIT);
|
||||
if (!remote_head)
|
||||
die("'%s' does not point to a commit", remote);
|
||||
die(_("'%s' does not point to a commit"), remote);
|
||||
|
||||
if (dwim_ref(remote, strlen(remote), branch_head, &found_ref) > 0) {
|
||||
if (!prefixcmp(found_ref, "refs/heads/")) {
|
||||
@ -480,7 +480,7 @@ static void merge_name(const char *remote, struct strbuf *msg)
|
||||
|
||||
fp = fopen(git_path("FETCH_HEAD"), "r");
|
||||
if (!fp)
|
||||
die_errno("could not open '%s' for reading",
|
||||
die_errno(_("could not open '%s' for reading"),
|
||||
git_path("FETCH_HEAD"));
|
||||
strbuf_getline(&line, fp, '\n');
|
||||
fclose(fp);
|
||||
@ -510,7 +510,7 @@ static int git_merge_config(const char *k, const char *v, void *cb)
|
||||
buf = xstrdup(v);
|
||||
argc = split_cmdline(buf, &argv);
|
||||
if (argc < 0)
|
||||
die("Bad branch.%s.mergeoptions string: %s", branch,
|
||||
die(_("Bad branch.%s.mergeoptions string: %s"), branch,
|
||||
split_cmdline_strerror(argc));
|
||||
argv = xrealloc(argv, sizeof(*argv) * (argc + 2));
|
||||
memmove(argv + 1, argv, sizeof(*argv) * (argc + 1));
|
||||
@ -532,7 +532,7 @@ static int git_merge_config(const char *k, const char *v, void *cb)
|
||||
int is_bool;
|
||||
shortlog_len = git_config_bool_or_int(k, v, &is_bool);
|
||||
if (!is_bool && shortlog_len < 0)
|
||||
return error("%s: negative length %s", k, v);
|
||||
return error(_("%s: negative length %s"), k, v);
|
||||
if (is_bool && shortlog_len)
|
||||
shortlog_len = DEFAULT_MERGE_LOG_LEN;
|
||||
return 0;
|
||||
@ -579,7 +579,7 @@ static int read_tree_trivial(unsigned char *common, unsigned char *head,
|
||||
static void write_tree_trivial(unsigned char *sha1)
|
||||
{
|
||||
if (write_cache_as_tree(sha1, 0, NULL))
|
||||
die("git write-tree failed to write a tree");
|
||||
die(_("git write-tree failed to write a tree"));
|
||||
}
|
||||
|
||||
int try_merge_command(const char *strategy, size_t xopts_nr,
|
||||
@ -621,7 +621,7 @@ int try_merge_command(const char *strategy, size_t xopts_nr,
|
||||
free(args);
|
||||
discard_cache();
|
||||
if (read_cache() < 0)
|
||||
die("failed to read the cache");
|
||||
die(_("failed to read the cache"));
|
||||
resolve_undo_clear();
|
||||
|
||||
return ret;
|
||||
@ -638,7 +638,7 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
|
||||
if (active_cache_changed &&
|
||||
(write_cache(index_fd, active_cache, active_nr) ||
|
||||
commit_locked_index(lock)))
|
||||
return error("Unable to write index.");
|
||||
return error(_("Unable to write index."));
|
||||
rollback_lock_file(lock);
|
||||
|
||||
if (!strcmp(strategy, "recursive") || !strcmp(strategy, "subtree")) {
|
||||
@ -651,7 +651,7 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
|
||||
struct commit_list *j;
|
||||
|
||||
if (remoteheads->next) {
|
||||
error("Not handling anything other than two heads merge.");
|
||||
error(_("Not handling anything other than two heads merge."));
|
||||
return 2;
|
||||
}
|
||||
|
||||
@ -663,7 +663,7 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
|
||||
|
||||
for (x = 0; x < xopts_nr; x++)
|
||||
if (parse_merge_opt(&o, xopts[x]))
|
||||
die("Unknown option for merge-recursive: -X%s", xopts[x]);
|
||||
die(_("Unknown option for merge-recursive: -X%s"), xopts[x]);
|
||||
|
||||
o.branch1 = head_arg;
|
||||
o.branch2 = remoteheads->item->util;
|
||||
@ -677,7 +677,7 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
|
||||
if (active_cache_changed &&
|
||||
(write_cache(index_fd, active_cache, active_nr) ||
|
||||
commit_locked_index(lock)))
|
||||
die ("unable to write %s", get_index_file());
|
||||
die (_("unable to write %s"), get_index_file());
|
||||
rollback_lock_file(lock);
|
||||
return clean ? 0 : 1;
|
||||
} else {
|
||||
@ -749,7 +749,7 @@ int checkout_fast_forward(const unsigned char *head, const unsigned char *remote
|
||||
return -1;
|
||||
if (write_cache(fd, active_cache, active_nr) ||
|
||||
commit_locked_index(lock_file))
|
||||
die("unable to write new index file");
|
||||
die(_("unable to write new index file"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -852,7 +852,7 @@ static int suggest_conflicts(int renormalizing)
|
||||
|
||||
fp = fopen(git_path("MERGE_MSG"), "a");
|
||||
if (!fp)
|
||||
die_errno("Could not open '%s' for writing",
|
||||
die_errno(_("Could not open '%s' for writing"),
|
||||
git_path("MERGE_MSG"));
|
||||
fprintf(fp, "\nConflicts:\n");
|
||||
for (pos = 0; pos < active_nr; pos++) {
|
||||
@ -868,8 +868,8 @@ static int suggest_conflicts(int renormalizing)
|
||||
}
|
||||
fclose(fp);
|
||||
rerere(allow_rerere_auto);
|
||||
printf("Automatic merge failed; "
|
||||
"fix conflicts and then commit the result.\n");
|
||||
printf(_("Automatic merge failed; "
|
||||
"fix conflicts and then commit the result.\n"));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -883,7 +883,7 @@ static struct commit *is_old_style_invocation(int argc, const char **argv)
|
||||
return NULL;
|
||||
second_token = lookup_commit_reference_gently(second_sha1, 0);
|
||||
if (!second_token)
|
||||
die("'%s' is not a commit", argv[1]);
|
||||
die(_("'%s' is not a commit"), argv[1]);
|
||||
if (hashcmp(second_token->object.sha1, head))
|
||||
return NULL;
|
||||
}
|
||||
@ -951,7 +951,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
const char *nargv[] = {"reset", "--merge", NULL};
|
||||
|
||||
if (!file_exists(git_path("MERGE_HEAD")))
|
||||
die("There is no merge to abort (MERGE_HEAD missing).");
|
||||
die(_("There is no merge to abort (MERGE_HEAD missing)."));
|
||||
|
||||
/* Invoke 'git reset --merge' */
|
||||
return cmd_reset(nargc, nargv, prefix);
|
||||
@ -966,10 +966,10 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
* add/rm <file>', just 'git commit'.
|
||||
*/
|
||||
if (advice_resolve_conflict)
|
||||
die("You have not concluded your merge (MERGE_HEAD exists).\n"
|
||||
"Please, commit your changes before you can merge.");
|
||||
die(_("You have not concluded your merge (MERGE_HEAD exists).\n"
|
||||
"Please, commit your changes before you can merge."));
|
||||
else
|
||||
die("You have not concluded your merge (MERGE_HEAD exists).");
|
||||
die(_("You have not concluded your merge (MERGE_HEAD exists)."));
|
||||
}
|
||||
resolve_undo_clear();
|
||||
|
||||
@ -978,12 +978,12 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
|
||||
if (squash) {
|
||||
if (!allow_fast_forward)
|
||||
die("You cannot combine --squash with --no-ff.");
|
||||
die(_("You cannot combine --squash with --no-ff."));
|
||||
option_commit = 0;
|
||||
}
|
||||
|
||||
if (!allow_fast_forward && fast_forward_only)
|
||||
die("You cannot combine --no-ff with --ff-only.");
|
||||
die(_("You cannot combine --no-ff with --ff-only."));
|
||||
|
||||
if (!argc)
|
||||
usage_with_options(builtin_merge_usage,
|
||||
@ -1011,16 +1011,16 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
* We do the same for "git pull".
|
||||
*/
|
||||
if (argc != 1)
|
||||
die("Can merge only exactly one commit into "
|
||||
"empty head");
|
||||
die(_("Can merge only exactly one commit into "
|
||||
"empty head"));
|
||||
if (squash)
|
||||
die("Squash commit into empty head not supported yet");
|
||||
die(_("Squash commit into empty head not supported yet"));
|
||||
if (!allow_fast_forward)
|
||||
die("Non-fast-forward commit does not make sense into "
|
||||
"an empty head");
|
||||
die(_("Non-fast-forward commit does not make sense into "
|
||||
"an empty head"));
|
||||
remote_head = peel_to_type(argv[0], 0, NULL, OBJ_COMMIT);
|
||||
if (!remote_head)
|
||||
die("%s - not something we can merge", argv[0]);
|
||||
die(_("%s - not something we can merge"), argv[0]);
|
||||
update_ref("initial pull", "HEAD", remote_head->sha1, NULL, 0,
|
||||
DIE_ON_ERR);
|
||||
read_empty(remote_head->sha1, 0);
|
||||
@ -1066,7 +1066,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
|
||||
o = peel_to_type(argv[i], 0, NULL, OBJ_COMMIT);
|
||||
if (!o)
|
||||
die("%s - not something we can merge", argv[i]);
|
||||
die(_("%s - not something we can merge"), argv[i]);
|
||||
commit = lookup_commit(o->sha1);
|
||||
commit->util = (void *)argv[i];
|
||||
remotes = &commit_list_insert(commit, remotes)->next;
|
||||
@ -1158,11 +1158,11 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
if (allow_trivial && !fast_forward_only) {
|
||||
/* See if it is really trivial. */
|
||||
git_committer_info(IDENT_ERROR_ON_NO_NAME);
|
||||
printf("Trying really trivial in-index merge...\n");
|
||||
printf(_("Trying really trivial in-index merge...\n"));
|
||||
if (!read_tree_trivial(common->item->object.sha1,
|
||||
head, remoteheads->item->object.sha1))
|
||||
return merge_trivial();
|
||||
printf("Nope.\n");
|
||||
printf(_("Nope.\n"));
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
@ -1195,7 +1195,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
}
|
||||
|
||||
if (fast_forward_only)
|
||||
die("Not possible to fast-forward, aborting.");
|
||||
die(_("Not possible to fast-forward, aborting."));
|
||||
|
||||
/* We are going to make a new commit. */
|
||||
git_committer_info(IDENT_ERROR_ON_NO_NAME);
|
||||
@ -1221,11 +1221,11 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
for (i = 0; i < use_strategies_nr; i++) {
|
||||
int ret;
|
||||
if (i) {
|
||||
printf("Rewinding the tree to pristine...\n");
|
||||
printf(_("Rewinding the tree to pristine...\n"));
|
||||
restore_state();
|
||||
}
|
||||
if (use_strategies_nr != 1)
|
||||
printf("Trying merge strategy %s...\n",
|
||||
printf(_("Trying merge strategy %s...\n"),
|
||||
use_strategies[i]->name);
|
||||
/*
|
||||
* Remember which strategy left the state in the working
|
||||
@ -1286,17 +1286,17 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
restore_state();
|
||||
if (use_strategies_nr > 1)
|
||||
fprintf(stderr,
|
||||
"No merge strategy handled the merge.\n");
|
||||
_("No merge strategy handled the merge.\n"));
|
||||
else
|
||||
fprintf(stderr, "Merge with strategy %s failed.\n",
|
||||
fprintf(stderr, _("Merge with strategy %s failed.\n"),
|
||||
use_strategies[0]->name);
|
||||
return 2;
|
||||
} else if (best_strategy == wt_strategy)
|
||||
; /* We already have its result in the working tree. */
|
||||
else {
|
||||
printf("Rewinding the tree to pristine...\n");
|
||||
printf(_("Rewinding the tree to pristine...\n"));
|
||||
restore_state();
|
||||
printf("Using the %s to prepare resolving by hand.\n",
|
||||
printf(_("Using the %s to prepare resolving by hand.\n"),
|
||||
best_strategy);
|
||||
try_merge_strategy(best_strategy, common, head_arg);
|
||||
}
|
||||
@ -1312,35 +1312,35 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
sha1_to_hex(j->item->object.sha1));
|
||||
fd = open(git_path("MERGE_HEAD"), O_WRONLY | O_CREAT, 0666);
|
||||
if (fd < 0)
|
||||
die_errno("Could not open '%s' for writing",
|
||||
die_errno(_("Could not open '%s' for writing"),
|
||||
git_path("MERGE_HEAD"));
|
||||
if (write_in_full(fd, buf.buf, buf.len) != buf.len)
|
||||
die_errno("Could not write to '%s'", git_path("MERGE_HEAD"));
|
||||
die_errno(_("Could not write to '%s'"), git_path("MERGE_HEAD"));
|
||||
close(fd);
|
||||
strbuf_addch(&merge_msg, '\n');
|
||||
fd = open(git_path("MERGE_MSG"), O_WRONLY | O_CREAT, 0666);
|
||||
if (fd < 0)
|
||||
die_errno("Could not open '%s' for writing",
|
||||
die_errno(_("Could not open '%s' for writing"),
|
||||
git_path("MERGE_MSG"));
|
||||
if (write_in_full(fd, merge_msg.buf, merge_msg.len) !=
|
||||
merge_msg.len)
|
||||
die_errno("Could not write to '%s'", git_path("MERGE_MSG"));
|
||||
die_errno(_("Could not write to '%s'"), git_path("MERGE_MSG"));
|
||||
close(fd);
|
||||
fd = open(git_path("MERGE_MODE"), O_WRONLY | O_CREAT | O_TRUNC, 0666);
|
||||
if (fd < 0)
|
||||
die_errno("Could not open '%s' for writing",
|
||||
die_errno(_("Could not open '%s' for writing"),
|
||||
git_path("MERGE_MODE"));
|
||||
strbuf_reset(&buf);
|
||||
if (!allow_fast_forward)
|
||||
strbuf_addf(&buf, "no-ff");
|
||||
if (write_in_full(fd, buf.buf, buf.len) != buf.len)
|
||||
die_errno("Could not write to '%s'", git_path("MERGE_MODE"));
|
||||
die_errno(_("Could not write to '%s'"), git_path("MERGE_MODE"));
|
||||
close(fd);
|
||||
}
|
||||
|
||||
if (merge_was_ok) {
|
||||
fprintf(stderr, "Automatic merge went well; "
|
||||
"stopped before committing as requested\n");
|
||||
fprintf(stderr, _("Automatic merge went well; "
|
||||
"stopped before committing as requested\n"));
|
||||
return 0;
|
||||
} else
|
||||
return suggest_conflicts(option_renormalize);
|
||||
|
@ -150,8 +150,14 @@ test_expect_success 'will not overwrite untracked file on unborn branch' '
|
||||
git rm -fr . &&
|
||||
git checkout --orphan new &&
|
||||
cp important c0.c &&
|
||||
test_must_fail git merge c0 2>out &&
|
||||
test_cmp out expect &&
|
||||
test_must_fail git merge c0 2>out
|
||||
'
|
||||
|
||||
test_expect_success C_LOCALE_OUTPUT 'will not overwrite untracked file on unborn branch: output' '
|
||||
test_cmp out expect
|
||||
'
|
||||
|
||||
test_expect_success 'will not overwrite untracked file on unborn branch .git/MERGE_HEAD sanity etc.' '
|
||||
test_path_is_missing .git/MERGE_HEAD &&
|
||||
test_cmp important c0.c
|
||||
'
|
||||
|
@ -46,8 +46,14 @@ test_expect_success 'setup' '
|
||||
pre_merge_head="$(git rev-parse HEAD)"
|
||||
|
||||
test_expect_success 'fails without MERGE_HEAD (unstarted merge)' '
|
||||
test_must_fail git merge --abort 2>output &&
|
||||
grep -q MERGE_HEAD output &&
|
||||
test_must_fail git merge --abort 2>output
|
||||
'
|
||||
|
||||
test_expect_success C_LOCALE_OUTPUT 'fails without MERGE_HEAD (unstarted merge): fatal output' '
|
||||
grep -q MERGE_HEAD output
|
||||
'
|
||||
|
||||
test_expect_success 'fails without MERGE_HEAD (unstarted merge): .git/MERGE_HEAD sanity' '
|
||||
test ! -f .git/MERGE_HEAD &&
|
||||
test "$pre_merge_head" = "$(git rev-parse HEAD)"
|
||||
'
|
||||
@ -57,8 +63,14 @@ test_expect_success 'fails without MERGE_HEAD (completed merge)' '
|
||||
test ! -f .git/MERGE_HEAD &&
|
||||
# Merge successfully completed
|
||||
post_merge_head="$(git rev-parse HEAD)" &&
|
||||
test_must_fail git merge --abort 2>output &&
|
||||
grep -q MERGE_HEAD output &&
|
||||
test_must_fail git merge --abort 2>output
|
||||
'
|
||||
|
||||
test_expect_success C_LOCALE_OUTPUT 'fails without MERGE_HEAD (completed merge): output' '
|
||||
grep -q MERGE_HEAD output
|
||||
'
|
||||
|
||||
test_expect_success 'fails without MERGE_HEAD (completed merge): .git/MERGE_HEAD sanity' '
|
||||
test ! -f .git/MERGE_HEAD &&
|
||||
test "$post_merge_head" = "$(git rev-parse HEAD)"
|
||||
'
|
||||
|
Loading…
Reference in New Issue
Block a user