Merge branch 'va/i18n-even-more'
More markings of messages for i18n, with updates to various tests to pass GETTEXT_POISON tests. One patch from the original submission dropped due to conflicts with jk/upload-pack-hook, which is still in flux. * va/i18n-even-more: (38 commits) t5541: become resilient to GETTEXT_POISON i18n: branch: mark comment when editing branch description for translation i18n: unmark die messages for translation i18n: submodule: escape shell variables inside eval_gettext i18n: submodule: join strings marked for translation i18n: init-db: join message pieces i18n: remote: allow translations to reorder message i18n: remote: mark URL fallback text for translation i18n: standardise messages i18n: sequencer: add period to error message i18n: merge: change command option help to lowercase i18n: merge: mark messages for translation i18n: notes: mark options for translation i18n: notes: mark strings for translation i18n: transport-helper.c: change N_() call to _() i18n: bisect: mark strings for translation t5523: use test_i18ngrep for negation t4153: fix negated test_i18ngrep call t9003: become resilient to GETTEXT_POISON tests: unpack-trees: update to use test_i18n* functions ...
This commit is contained in:
commit
2703572b3a
5
Makefile
5
Makefile
@ -2063,7 +2063,10 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \
|
||||
--keyword=gettextln --keyword=eval_gettextln
|
||||
XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl
|
||||
LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
|
||||
LOCALIZED_SH = $(SCRIPT_SH) git-parse-remote.sh
|
||||
LOCALIZED_SH = $(SCRIPT_SH)
|
||||
LOCALIZED_SH += git-parse-remote.sh
|
||||
LOCALIZED_SH += git-rebase--interactive.sh
|
||||
LOCALIZED_SH += git-sh-setup.sh
|
||||
LOCALIZED_PERL = $(SCRIPT_PERL)
|
||||
|
||||
ifdef XGETTEXT_INCLUDE_TESTS
|
||||
|
23
advice.c
23
advice.c
@ -79,7 +79,20 @@ int git_default_advice_config(const char *var, const char *value)
|
||||
|
||||
int error_resolve_conflict(const char *me)
|
||||
{
|
||||
error("%s is not possible because you have unmerged files.", me);
|
||||
if (!strcmp(me, "cherry-pick"))
|
||||
error(_("Cherry-picking is not possible because you have unmerged files."));
|
||||
else if (!strcmp(me, "commit"))
|
||||
error(_("Committing is not possible because you have unmerged files."));
|
||||
else if (!strcmp(me, "merge"))
|
||||
error(_("Merging is not possible because you have unmerged files."));
|
||||
else if (!strcmp(me, "pull"))
|
||||
error(_("Pulling is not possible because you have unmerged files."));
|
||||
else if (!strcmp(me, "revert"))
|
||||
error(_("Reverting is not possible because you have unmerged files."));
|
||||
else
|
||||
error(_("It is not possible to %s because you have unmerged files."),
|
||||
me);
|
||||
|
||||
if (advice_resolve_conflict)
|
||||
/*
|
||||
* Message used both when 'git commit' fails and when
|
||||
@ -93,7 +106,7 @@ int error_resolve_conflict(const char *me)
|
||||
void NORETURN die_resolve_conflict(const char *me)
|
||||
{
|
||||
error_resolve_conflict(me);
|
||||
die("Exiting because of an unresolved conflict.");
|
||||
die(_("Exiting because of an unresolved conflict."));
|
||||
}
|
||||
|
||||
void NORETURN die_conclude_merge(void)
|
||||
@ -106,14 +119,14 @@ void NORETURN die_conclude_merge(void)
|
||||
|
||||
void detach_advice(const char *new_name)
|
||||
{
|
||||
const char fmt[] =
|
||||
"Note: checking out '%s'.\n\n"
|
||||
const char *fmt =
|
||||
_("Note: checking out '%s'.\n\n"
|
||||
"You are in 'detached HEAD' state. You can look around, make experimental\n"
|
||||
"changes and commit them, and you can discard any commits you make in this\n"
|
||||
"state without impacting any branches by performing another checkout.\n\n"
|
||||
"If you want to create a new branch to retain commits you create, you may\n"
|
||||
"do so (now or later) by using -b with the checkout command again. Example:\n\n"
|
||||
" git checkout -b <new-branch-name>\n\n";
|
||||
" git checkout -b <new-branch-name>\n\n");
|
||||
|
||||
fprintf(stderr, fmt, new_name);
|
||||
}
|
||||
|
56
bisect.c
56
bisect.c
@ -438,12 +438,12 @@ static void read_bisect_paths(struct argv_array *array)
|
||||
FILE *fp = fopen(filename, "r");
|
||||
|
||||
if (!fp)
|
||||
die_errno("Could not open file '%s'", filename);
|
||||
die_errno(_("Could not open file '%s'"), filename);
|
||||
|
||||
while (strbuf_getline_lf(&str, fp) != EOF) {
|
||||
strbuf_trim(&str);
|
||||
if (sq_dequote_to_argv_array(str.buf, array))
|
||||
die("Badly quoted content in file '%s': %s",
|
||||
die(_("Badly quoted content in file '%s': %s"),
|
||||
filename, str.buf);
|
||||
}
|
||||
|
||||
@ -649,7 +649,7 @@ static void exit_if_skipped_commits(struct commit_list *tried,
|
||||
print_commit_list(tried, "%s\n", "%s\n");
|
||||
if (bad)
|
||||
printf("%s\n", oid_to_hex(bad));
|
||||
printf("We cannot bisect more!\n");
|
||||
printf(_("We cannot bisect more!\n"));
|
||||
exit(2);
|
||||
}
|
||||
|
||||
@ -702,7 +702,7 @@ static struct commit *get_commit_reference(const unsigned char *sha1)
|
||||
{
|
||||
struct commit *r = lookup_commit_reference(sha1);
|
||||
if (!r)
|
||||
die("Not a valid commit name %s", sha1_to_hex(sha1));
|
||||
die(_("Not a valid commit name %s"), sha1_to_hex(sha1));
|
||||
return r;
|
||||
}
|
||||
|
||||
@ -726,27 +726,27 @@ static void handle_bad_merge_base(void)
|
||||
char *bad_hex = oid_to_hex(current_bad_oid);
|
||||
char *good_hex = join_sha1_array_hex(&good_revs, ' ');
|
||||
if (!strcmp(term_bad, "bad") && !strcmp(term_good, "good")) {
|
||||
fprintf(stderr, "The merge base %s is bad.\n"
|
||||
fprintf(stderr, _("The merge base %s is bad.\n"
|
||||
"This means the bug has been fixed "
|
||||
"between %s and [%s].\n",
|
||||
"between %s and [%s].\n"),
|
||||
bad_hex, bad_hex, good_hex);
|
||||
} else if (!strcmp(term_bad, "new") && !strcmp(term_good, "old")) {
|
||||
fprintf(stderr, "The merge base %s is new.\n"
|
||||
fprintf(stderr, _("The merge base %s is new.\n"
|
||||
"The property has changed "
|
||||
"between %s and [%s].\n",
|
||||
"between %s and [%s].\n"),
|
||||
bad_hex, bad_hex, good_hex);
|
||||
} else {
|
||||
fprintf(stderr, "The merge base %s is %s.\n"
|
||||
fprintf(stderr, _("The merge base %s is %s.\n"
|
||||
"This means the first '%s' commit is "
|
||||
"between %s and [%s].\n",
|
||||
"between %s and [%s].\n"),
|
||||
bad_hex, term_bad, term_good, bad_hex, good_hex);
|
||||
}
|
||||
exit(3);
|
||||
}
|
||||
|
||||
fprintf(stderr, "Some %s revs are not ancestor of the %s rev.\n"
|
||||
fprintf(stderr, _("Some %s revs are not ancestor of the %s rev.\n"
|
||||
"git bisect cannot work properly in this case.\n"
|
||||
"Maybe you mistook %s and %s revs?\n",
|
||||
"Maybe you mistook %s and %s revs?\n"),
|
||||
term_good, term_bad, term_good, term_bad);
|
||||
exit(1);
|
||||
}
|
||||
@ -757,11 +757,11 @@ static void handle_skipped_merge_base(const unsigned char *mb)
|
||||
char *bad_hex = sha1_to_hex(current_bad_oid->hash);
|
||||
char *good_hex = join_sha1_array_hex(&good_revs, ' ');
|
||||
|
||||
warning("the merge base between %s and [%s] "
|
||||
warning(_("the merge base between %s and [%s] "
|
||||
"must be skipped.\n"
|
||||
"So we cannot be sure the first %s commit is "
|
||||
"between %s and %s.\n"
|
||||
"We continue anyway.",
|
||||
"We continue anyway."),
|
||||
bad_hex, good_hex, term_bad, mb_hex, bad_hex);
|
||||
free(good_hex);
|
||||
}
|
||||
@ -792,7 +792,7 @@ static void check_merge_bases(int no_checkout)
|
||||
} else if (0 <= sha1_array_lookup(&skipped_revs, mb)) {
|
||||
handle_skipped_merge_base(mb);
|
||||
} else {
|
||||
printf("Bisecting: a merge base must be tested\n");
|
||||
printf(_("Bisecting: a merge base must be tested\n"));
|
||||
exit(bisect_checkout(mb, no_checkout));
|
||||
}
|
||||
}
|
||||
@ -843,7 +843,7 @@ static void check_good_are_ancestors_of_bad(const char *prefix, int no_checkout)
|
||||
int fd;
|
||||
|
||||
if (!current_bad_oid)
|
||||
die("a %s revision is needed", term_bad);
|
||||
die(_("a %s revision is needed"), term_bad);
|
||||
|
||||
/* Check if file BISECT_ANCESTORS_OK exists. */
|
||||
if (!stat(filename, &st) && S_ISREG(st.st_mode))
|
||||
@ -860,7 +860,7 @@ static void check_good_are_ancestors_of_bad(const char *prefix, int no_checkout)
|
||||
/* Create file BISECT_ANCESTORS_OK. */
|
||||
fd = open(filename, O_CREAT | O_TRUNC | O_WRONLY, 0600);
|
||||
if (fd < 0)
|
||||
warning_errno("could not create file '%s'",
|
||||
warning_errno(_("could not create file '%s'"),
|
||||
filename);
|
||||
else
|
||||
close(fd);
|
||||
@ -911,7 +911,7 @@ void read_bisect_terms(const char **read_bad, const char **read_good)
|
||||
*read_good = "good";
|
||||
return;
|
||||
} else {
|
||||
die_errno("could not read file '%s'", filename);
|
||||
die_errno(_("could not read file '%s'"), filename);
|
||||
}
|
||||
} else {
|
||||
strbuf_getline_lf(&str, fp);
|
||||
@ -937,10 +937,11 @@ int bisect_next_all(const char *prefix, int no_checkout)
|
||||
struct commit_list *tried;
|
||||
int reaches = 0, all = 0, nr, steps;
|
||||
const unsigned char *bisect_rev;
|
||||
char steps_msg[32];
|
||||
|
||||
read_bisect_terms(&term_bad, &term_good);
|
||||
if (read_bisect_refs())
|
||||
die("reading bisect refs failed");
|
||||
die(_("reading bisect refs failed"));
|
||||
|
||||
check_good_are_ancestors_of_bad(prefix, no_checkout);
|
||||
|
||||
@ -960,7 +961,7 @@ int bisect_next_all(const char *prefix, int no_checkout)
|
||||
*/
|
||||
exit_if_skipped_commits(tried, NULL);
|
||||
|
||||
printf("%s was both %s and %s\n",
|
||||
printf(_("%s was both %s and %s\n"),
|
||||
oid_to_hex(current_bad_oid),
|
||||
term_good,
|
||||
term_bad);
|
||||
@ -968,8 +969,8 @@ int bisect_next_all(const char *prefix, int no_checkout)
|
||||
}
|
||||
|
||||
if (!all) {
|
||||
fprintf(stderr, "No testable commit found.\n"
|
||||
"Maybe you started with bad path parameters?\n");
|
||||
fprintf(stderr, _("No testable commit found.\n"
|
||||
"Maybe you started with bad path parameters?\n"));
|
||||
exit(4);
|
||||
}
|
||||
|
||||
@ -986,9 +987,14 @@ int bisect_next_all(const char *prefix, int no_checkout)
|
||||
|
||||
nr = all - reaches - 1;
|
||||
steps = estimate_bisect_steps(all);
|
||||
printf("Bisecting: %d revision%s left to test after this "
|
||||
"(roughly %d step%s)\n", nr, (nr == 1 ? "" : "s"),
|
||||
steps, (steps == 1 ? "" : "s"));
|
||||
xsnprintf(steps_msg, sizeof(steps_msg),
|
||||
Q_("(roughly %d step)", "(roughly %d steps)", steps),
|
||||
steps);
|
||||
/* TRANSLATORS: the last %s will be replaced with
|
||||
"(roughly %d steps)" translation */
|
||||
printf(Q_("Bisecting: %d revision left to test after this %s\n",
|
||||
"Bisecting: %d revisions left to test after this %s\n",
|
||||
nr), nr, steps_msg);
|
||||
|
||||
return bisect_checkout(bisect_rev, no_checkout);
|
||||
}
|
||||
|
@ -3359,7 +3359,7 @@ static int load_patch_target(struct apply_state *state,
|
||||
{
|
||||
if (state->cached || state->check_index) {
|
||||
if (read_file_or_gitlink(ce, buf))
|
||||
return error(_("read of %s failed"), name);
|
||||
return error(_("failed to read %s"), name);
|
||||
} else if (name) {
|
||||
if (S_ISGITLINK(expected_mode)) {
|
||||
if (ce)
|
||||
@ -3370,7 +3370,7 @@ static int load_patch_target(struct apply_state *state,
|
||||
return error(_("reading from '%s' beyond a symbolic link"), name);
|
||||
} else {
|
||||
if (read_old_data(st, name, buf))
|
||||
return error(_("read of %s failed"), name);
|
||||
return error(_("failed to read %s"), name);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
@ -3416,7 +3416,7 @@ static int load_preimage(struct apply_state *state,
|
||||
free_fragment_list(patch->fragments);
|
||||
patch->fragments = NULL;
|
||||
} else if (status) {
|
||||
return error(_("read of %s failed"), patch->old_name);
|
||||
return error(_("failed to read %s"), patch->old_name);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -614,9 +614,9 @@ static int edit_branch_description(const char *branch_name)
|
||||
if (!buf.len || buf.buf[buf.len-1] != '\n')
|
||||
strbuf_addch(&buf, '\n');
|
||||
strbuf_commented_addf(&buf,
|
||||
"Please edit the description for the branch\n"
|
||||
" %s\n"
|
||||
"Lines starting with '%c' will be stripped.\n",
|
||||
_("Please edit the description for the branch\n"
|
||||
" %s\n"
|
||||
"Lines starting with '%c' will be stripped.\n"),
|
||||
branch_name, comment_line_char);
|
||||
if (write_file_gently(git_path(edit_description), "%s", buf.buf)) {
|
||||
strbuf_release(&buf);
|
||||
|
@ -276,7 +276,7 @@ static int checkout_paths(const struct checkout_opts *opts,
|
||||
|
||||
hold_locked_index(lock_file, 1);
|
||||
if (read_cache_preload(&opts->pathspec) < 0)
|
||||
return error(_("corrupt index file"));
|
||||
return error(_("index file corrupt"));
|
||||
|
||||
if (opts->source_tree)
|
||||
read_tree_some(opts->source_tree, &opts->pathspec);
|
||||
@ -470,7 +470,7 @@ static int merge_working_tree(const struct checkout_opts *opts,
|
||||
|
||||
hold_locked_index(lock_file, 1);
|
||||
if (read_cache_preload(NULL) < 0)
|
||||
return error(_("corrupt index file"));
|
||||
return error(_("index file corrupt"));
|
||||
|
||||
resolve_undo_clear();
|
||||
if (opts->force) {
|
||||
@ -1138,7 +1138,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
|
||||
OPT_STRING('B', NULL, &opts.new_branch_force, N_("branch"),
|
||||
N_("create/reset and checkout a branch")),
|
||||
OPT_BOOL('l', NULL, &opts.new_branch_log, N_("create reflog for new branch")),
|
||||
OPT_BOOL(0, "detach", &opts.force_detach, N_("detach the HEAD at named commit")),
|
||||
OPT_BOOL(0, "detach", &opts.force_detach, N_("detach HEAD at named commit")),
|
||||
OPT_SET_INT('t', "track", &opts.track, N_("set upstream info for new branch"),
|
||||
BRANCH_TRACK_EXPLICIT),
|
||||
OPT_STRING(0, "orphan", &opts.new_orphan_branch, N_("new-branch"), N_("new unparented branch")),
|
||||
|
@ -397,13 +397,16 @@ int init_db(const char *template_dir, unsigned int flags)
|
||||
if (!(flags & INIT_DB_QUIET)) {
|
||||
int len = strlen(git_dir);
|
||||
|
||||
/* TRANSLATORS: The first '%s' is either "Reinitialized
|
||||
existing" or "Initialized empty", the second " shared" or
|
||||
"", and the last '%s%s' is the verbatim directory name. */
|
||||
printf(_("%s%s Git repository in %s%s\n"),
|
||||
reinit ? _("Reinitialized existing") : _("Initialized empty"),
|
||||
get_shared_repository() ? _(" shared") : "",
|
||||
git_dir, len && git_dir[len-1] != '/' ? "/" : "");
|
||||
if (reinit)
|
||||
printf(get_shared_repository()
|
||||
? _("Reinitialized existing shared Git repository in %s%s\n")
|
||||
: _("Reinitialized existing Git repository in %s%s\n"),
|
||||
git_dir, len && git_dir[len-1] != '/' ? "/" : "");
|
||||
else
|
||||
printf(get_shared_repository()
|
||||
? _("Initialized empty shared Git repository in %s%s\n")
|
||||
: _("Initialized empty Git repository in %s%s\n"),
|
||||
git_dir, len && git_dir[len-1] != '/' ? "/" : "");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -211,7 +211,7 @@ static struct option builtin_merge_options[] = {
|
||||
PARSE_OPT_NOARG | PARSE_OPT_NONEG, NULL, FF_ONLY },
|
||||
OPT_RERERE_AUTOUPDATE(&allow_rerere_auto),
|
||||
OPT_BOOL(0, "verify-signatures", &verify_signatures,
|
||||
N_("Verify that the named commit has a valid GPG signature")),
|
||||
N_("verify that the named commit has a valid GPG signature")),
|
||||
OPT_CALLBACK('s', "strategy", &use_strategies, N_("strategy"),
|
||||
N_("merge strategy to use"), option_parse_strategy),
|
||||
OPT_CALLBACK('X', "strategy-option", &xopts, N_("option=value"),
|
||||
@ -1014,7 +1014,7 @@ static int default_edit_option(void)
|
||||
if (e) {
|
||||
int v = git_config_maybe_bool(name, e);
|
||||
if (v < 0)
|
||||
die("Bad value '%s' in environment '%s'", e, name);
|
||||
die(_("Bad value '%s' in environment '%s'"), e, name);
|
||||
return v;
|
||||
}
|
||||
|
||||
@ -1115,7 +1115,7 @@ static void handle_fetch_head(struct commit_list **remotes, struct strbuf *merge
|
||||
if (!commit) {
|
||||
if (ptr)
|
||||
*ptr = '\0';
|
||||
die("not something we can merge in %s: %s",
|
||||
die(_("not something we can merge in %s: %s"),
|
||||
filename, merge_names->buf + pos);
|
||||
}
|
||||
remotes = &commit_list_insert(commit, remotes)->next;
|
||||
@ -1149,7 +1149,7 @@ static struct commit_list *collect_parents(struct commit *head_commit,
|
||||
struct commit *commit = get_merge_parent(argv[i]);
|
||||
if (!commit)
|
||||
help_unknown_ref(argv[i], "merge",
|
||||
"not something we can merge");
|
||||
_("not something we can merge"));
|
||||
remotes = &commit_list_insert(commit, remotes)->next;
|
||||
}
|
||||
remoteheads = reduce_parents(head_commit, head_subsumed, remoteheads);
|
||||
@ -1421,7 +1421,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
* If head can reach all the merge then we are up to date.
|
||||
* but first the most common case of merging one remote.
|
||||
*/
|
||||
finish_up_to_date("Already up-to-date.");
|
||||
finish_up_to_date(_("Already up-to-date."));
|
||||
goto done;
|
||||
} else if (fast_forward != FF_NO && !remoteheads->next &&
|
||||
!common->next &&
|
||||
@ -1506,7 +1506,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||
}
|
||||
}
|
||||
if (up_to_date) {
|
||||
finish_up_to_date("Already up-to-date. Yeeah!");
|
||||
finish_up_to_date(_("Already up-to-date. Yeeah!"));
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
|
@ -749,7 +749,7 @@ static int git_config_get_notes_strategy(const char *key,
|
||||
if (git_config_get_string(key, &value))
|
||||
return 1;
|
||||
if (parse_notes_merge_strategy(value, strategy))
|
||||
git_die_config(key, "unknown notes merge strategy %s", value);
|
||||
git_die_config(key, _("unknown notes merge strategy %s"), value);
|
||||
|
||||
free(value);
|
||||
return 0;
|
||||
@ -788,15 +788,15 @@ static int merge(int argc, const char **argv, const char *prefix)
|
||||
if (strategy || do_commit + do_abort == 0)
|
||||
do_merge = 1;
|
||||
if (do_merge + do_commit + do_abort != 1) {
|
||||
error("cannot mix --commit, --abort or -s/--strategy");
|
||||
error(_("cannot mix --commit, --abort or -s/--strategy"));
|
||||
usage_with_options(git_notes_merge_usage, options);
|
||||
}
|
||||
|
||||
if (do_merge && argc != 1) {
|
||||
error("Must specify a notes ref to merge");
|
||||
error(_("Must specify a notes ref to merge"));
|
||||
usage_with_options(git_notes_merge_usage, options);
|
||||
} else if (!do_merge && argc) {
|
||||
error("too many parameters");
|
||||
error(_("too many parameters"));
|
||||
usage_with_options(git_notes_merge_usage, options);
|
||||
}
|
||||
|
||||
@ -817,7 +817,7 @@ static int merge(int argc, const char **argv, const char *prefix)
|
||||
|
||||
if (strategy) {
|
||||
if (parse_notes_merge_strategy(strategy, &o.strategy)) {
|
||||
error("Unknown -s/--strategy: %s", strategy);
|
||||
error(_("Unknown -s/--strategy: %s"), strategy);
|
||||
usage_with_options(git_notes_merge_usage, options);
|
||||
}
|
||||
} else {
|
||||
@ -857,11 +857,11 @@ static int merge(int argc, const char **argv, const char *prefix)
|
||||
die(_("A notes merge into %s is already in-progress at %s"),
|
||||
default_notes_ref(), wt->path);
|
||||
if (create_symref("NOTES_MERGE_REF", default_notes_ref(), NULL))
|
||||
die("Failed to store link to current notes ref (%s)",
|
||||
die(_("Failed to store link to current notes ref (%s)"),
|
||||
default_notes_ref());
|
||||
printf("Automatic notes merge failed. Fix conflicts in %s and "
|
||||
"commit the result with 'git notes merge --commit', or "
|
||||
"abort the merge with 'git notes merge --abort'.\n",
|
||||
printf(_("Automatic notes merge failed. Fix conflicts in %s and "
|
||||
"commit the result with 'git notes merge --commit', or "
|
||||
"abort the merge with 'git notes merge --abort'.\n"),
|
||||
git_path(NOTES_MERGE_WORKTREE));
|
||||
}
|
||||
|
||||
@ -934,8 +934,8 @@ static int prune(int argc, const char **argv, const char *prefix)
|
||||
struct notes_tree *t;
|
||||
int show_only = 0, verbose = 0;
|
||||
struct option options[] = {
|
||||
OPT__DRY_RUN(&show_only, "do not remove, show only"),
|
||||
OPT__VERBOSE(&verbose, "report pruned notes"),
|
||||
OPT__DRY_RUN(&show_only, N_("do not remove, show only")),
|
||||
OPT__VERBOSE(&verbose, N_("report pruned notes")),
|
||||
OPT_END()
|
||||
};
|
||||
|
||||
@ -964,7 +964,7 @@ static int get_ref(int argc, const char **argv, const char *prefix)
|
||||
git_notes_get_ref_usage, 0);
|
||||
|
||||
if (argc) {
|
||||
error("too many parameters");
|
||||
error(_("too many parameters"));
|
||||
usage_with_options(git_notes_get_ref_usage, options);
|
||||
}
|
||||
|
||||
|
@ -855,7 +855,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix)
|
||||
git_config(git_pull_config, NULL);
|
||||
|
||||
if (read_cache_unmerged())
|
||||
die_resolve_conflict("Pull");
|
||||
die_resolve_conflict("pull");
|
||||
|
||||
if (file_exists(git_path("MERGE_HEAD")))
|
||||
die_conclude_merge();
|
||||
|
@ -952,7 +952,7 @@ static int show_local_info_item(struct string_list_item *item, void *cb_data)
|
||||
struct show_info *show_info = cb_data;
|
||||
struct branch_info *branch_info = item->util;
|
||||
struct string_list *merge = &branch_info->merge;
|
||||
const char *also;
|
||||
int width = show_info->width + 4;
|
||||
int i;
|
||||
|
||||
if (branch_info->rebase && branch_info->merge.nr > 1) {
|
||||
@ -963,19 +963,18 @@ static int show_local_info_item(struct string_list_item *item, void *cb_data)
|
||||
|
||||
printf(" %-*s ", show_info->width, item->string);
|
||||
if (branch_info->rebase) {
|
||||
printf_ln(_(branch_info->rebase == INTERACTIVE_REBASE ?
|
||||
"rebases interactively onto remote %s" :
|
||||
"rebases onto remote %s"), merge->items[0].string);
|
||||
printf_ln(branch_info->rebase == INTERACTIVE_REBASE
|
||||
? _("rebases interactively onto remote %s")
|
||||
: _("rebases onto remote %s"), merge->items[0].string);
|
||||
return 0;
|
||||
} else if (show_info->any_rebase) {
|
||||
printf_ln(_(" merges with remote %s"), merge->items[0].string);
|
||||
also = _(" and with remote");
|
||||
width++;
|
||||
} else {
|
||||
printf_ln(_("merges with remote %s"), merge->items[0].string);
|
||||
also = _(" and with remote");
|
||||
}
|
||||
for (i = 1; i < merge->nr; i++)
|
||||
printf(" %-*s %s %s\n", show_info->width, "", also,
|
||||
printf(_("%-*s and with remote %s\n"), width, "",
|
||||
merge->items[i].string);
|
||||
|
||||
return 0;
|
||||
@ -1158,11 +1157,11 @@ static int show(int argc, const char **argv)
|
||||
the one in " Fetch URL: %s" translation */
|
||||
printf_ln(_(" Push URL: %s"), url[i]);
|
||||
if (!i)
|
||||
printf_ln(_(" Push URL: %s"), "(no URL)");
|
||||
printf_ln(_(" Push URL: %s"), _("(no URL)"));
|
||||
if (no_query)
|
||||
printf_ln(_(" HEAD branch: %s"), "(not queried)");
|
||||
printf_ln(_(" HEAD branch: %s"), _("(not queried)"));
|
||||
else if (!states.heads.nr)
|
||||
printf_ln(_(" HEAD branch: %s"), "(unknown)");
|
||||
printf_ln(_(" HEAD branch: %s"), _("(unknown)"));
|
||||
else if (states.heads.nr == 1)
|
||||
printf_ln(_(" HEAD branch: %s"), states.heads.items[0].string);
|
||||
else {
|
||||
|
@ -388,7 +388,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
|
||||
item->string,
|
||||
exts[ext].name);
|
||||
if (remove_path(fname))
|
||||
warning(_("removing '%s' failed"), fname);
|
||||
warning(_("failed to remove '%s'"), fname);
|
||||
free(fname);
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,6 @@ Please use "git help bisect" to get the full man page.'
|
||||
|
||||
OPTIONS_SPEC=
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
|
||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||
@ -275,10 +274,11 @@ bisect_state() {
|
||||
check_and_set_terms $state
|
||||
case "$#,$state" in
|
||||
0,*)
|
||||
die "$(gettext "Please call 'bisect_state' with at least one argument.")" ;;
|
||||
die "Please call 'bisect_state' with at least one argument." ;;
|
||||
1,"$TERM_BAD"|1,"$TERM_GOOD"|1,skip)
|
||||
rev=$(git rev-parse --verify $(bisect_head)) ||
|
||||
die "$(gettext "Bad rev input: $(bisect_head)")"
|
||||
bisected_head=$(bisect_head)
|
||||
rev=$(git rev-parse --verify "$bisected_head") ||
|
||||
die "$(eval_gettext "Bad rev input: \$bisected_head")"
|
||||
bisect_write "$state" "$rev"
|
||||
check_expected_revs "$rev" ;;
|
||||
2,"$TERM_BAD"|*,"$TERM_GOOD"|*,skip)
|
||||
|
@ -5,14 +5,11 @@
|
||||
# Resolve two or more trees.
|
||||
#
|
||||
|
||||
. git-sh-setup
|
||||
|
||||
LF='
|
||||
'
|
||||
|
||||
die () {
|
||||
echo >&2 "$*"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# The first parameters up to -- are merge bases; the rest are heads.
|
||||
bases= head= remotes= sep_seen=
|
||||
for arg
|
||||
@ -46,7 +43,7 @@ esac
|
||||
|
||||
if ! git diff-index --quiet --cached HEAD --
|
||||
then
|
||||
echo "Error: Your local changes to the following files would be overwritten by merge"
|
||||
gettextln "Error: Your local changes to the following files would be overwritten by merge"
|
||||
git diff-index --cached --name-only HEAD -- | sed -e 's/^/ /'
|
||||
exit 2
|
||||
fi
|
||||
@ -61,8 +58,8 @@ do
|
||||
# We allow only last one to have a hand-resolvable
|
||||
# conflicts. Last round failed and we still had
|
||||
# a head to merge.
|
||||
echo "Automated merge did not work."
|
||||
echo "Should not be doing an Octopus."
|
||||
gettextln "Automated merge did not work."
|
||||
gettextln "Should not be doing an Octopus."
|
||||
exit 2
|
||||
esac
|
||||
|
||||
@ -73,11 +70,11 @@ do
|
||||
eval pretty_name=\${GITHEAD_$SHA1_UP:-$pretty_name}
|
||||
fi
|
||||
common=$(git merge-base --all $SHA1 $MRC) ||
|
||||
die "Unable to find common commit with $pretty_name"
|
||||
die "$(eval_gettext "Unable to find common commit with \$pretty_name")"
|
||||
|
||||
case "$LF$common$LF" in
|
||||
*"$LF$SHA1$LF"*)
|
||||
echo "Already up-to-date with $pretty_name"
|
||||
eval_gettextln "Already up-to-date with \$pretty_name"
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
@ -89,7 +86,7 @@ do
|
||||
# tree as the intermediate result of the merge.
|
||||
# We still need to count this as part of the parent set.
|
||||
|
||||
echo "Fast-forwarding to: $pretty_name"
|
||||
eval_gettextln "Fast-forwarding to: \$pretty_name"
|
||||
git read-tree -u -m $head $SHA1 || exit
|
||||
MRC=$SHA1 MRT=$(git write-tree)
|
||||
continue
|
||||
@ -97,12 +94,12 @@ do
|
||||
|
||||
NON_FF_MERGE=1
|
||||
|
||||
echo "Trying simple merge with $pretty_name"
|
||||
eval_gettextln "Trying simple merge with \$pretty_name"
|
||||
git read-tree -u -m --aggressive $common $MRT $SHA1 || exit 2
|
||||
next=$(git write-tree 2>/dev/null)
|
||||
if test $? -ne 0
|
||||
then
|
||||
echo "Simple merge did not work, trying automatic merge."
|
||||
gettextln "Simple merge did not work, trying automatic merge."
|
||||
git-merge-index -o git-merge-one-file -a ||
|
||||
OCTOPUS_FAILURE=1
|
||||
next=$(git write-tree 2>/dev/null)
|
||||
|
@ -128,7 +128,7 @@ mark_action_done () {
|
||||
if test "$last_count" != "$new_count"
|
||||
then
|
||||
last_count=$new_count
|
||||
printf "Rebasing (%d/%d)\r" $new_count $total
|
||||
eval_gettext "Rebasing (\$new_count/\$total)"; printf "\r"
|
||||
test -z "$verbose" || echo
|
||||
fi
|
||||
}
|
||||
@ -144,29 +144,28 @@ reschedule_last_action () {
|
||||
}
|
||||
|
||||
append_todo_help () {
|
||||
git stripspace --comment-lines >>"$todo" <<\EOF
|
||||
|
||||
gettext "
|
||||
Commands:
|
||||
p, pick = use commit
|
||||
r, reword = use commit, but edit the commit message
|
||||
e, edit = use commit, but stop for amending
|
||||
s, squash = use commit, but meld into previous commit
|
||||
f, fixup = like "squash", but discard this commit's log message
|
||||
f, fixup = like \"squash\", but discard this commit's log message
|
||||
x, exec = run command (the rest of the line) using shell
|
||||
d, drop = remove commit
|
||||
|
||||
These lines can be re-ordered; they are executed from top to bottom.
|
||||
" | git stripspace --comment-lines >>"$todo"
|
||||
|
||||
EOF
|
||||
if test $(get_missing_commit_check_level) = error
|
||||
then
|
||||
git stripspace --comment-lines >>"$todo" <<\EOF
|
||||
gettext "
|
||||
Do not remove any line. Use 'drop' explicitly to remove a commit.
|
||||
EOF
|
||||
" | git stripspace --comment-lines >>"$todo"
|
||||
else
|
||||
git stripspace --comment-lines >>"$todo" <<\EOF
|
||||
gettext "
|
||||
If you remove a line here THAT COMMIT WILL BE LOST.
|
||||
EOF
|
||||
" | git stripspace --comment-lines >>"$todo"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -200,13 +199,14 @@ exit_with_patch () {
|
||||
make_patch $1
|
||||
git rev-parse --verify HEAD > "$amend"
|
||||
gpg_sign_opt_quoted=${gpg_sign_opt:+$(git rev-parse --sq-quote "$gpg_sign_opt")}
|
||||
warn "You can amend the commit now, with"
|
||||
warn
|
||||
warn " git commit --amend $gpg_sign_opt_quoted"
|
||||
warn
|
||||
warn "Once you are satisfied with your changes, run"
|
||||
warn
|
||||
warn " git rebase --continue"
|
||||
warn "$(eval_gettext "\
|
||||
You can amend the commit now, with
|
||||
|
||||
git commit --amend \$gpg_sign_opt_quoted
|
||||
|
||||
Once you are satisfied with your changes, run
|
||||
|
||||
git rebase --continue")"
|
||||
warn
|
||||
exit $2
|
||||
}
|
||||
@ -221,10 +221,12 @@ has_action () {
|
||||
}
|
||||
|
||||
is_empty_commit() {
|
||||
tree=$(git rev-parse -q --verify "$1"^{tree} 2>/dev/null ||
|
||||
die "$1: not a commit that can be picked")
|
||||
ptree=$(git rev-parse -q --verify "$1"^^{tree} 2>/dev/null ||
|
||||
ptree=4b825dc642cb6eb9a060e54bf8d69288fbee4904)
|
||||
tree=$(git rev-parse -q --verify "$1"^{tree} 2>/dev/null) || {
|
||||
sha1=$1
|
||||
die "$(eval_gettext "\$sha1: not a commit that can be picked")"
|
||||
}
|
||||
ptree=$(git rev-parse -q --verify "$1"^^{tree} 2>/dev/null) ||
|
||||
ptree=4b825dc642cb6eb9a060e54bf8d69288fbee4904
|
||||
test "$tree" = "$ptree"
|
||||
}
|
||||
|
||||
@ -260,7 +262,7 @@ pick_one () {
|
||||
|
||||
case "$1" in -n) sha1=$2; ff= ;; *) sha1=$1 ;; esac
|
||||
case "$force_rebase" in '') ;; ?*) ff= ;; esac
|
||||
output git rev-parse --verify $sha1 || die "Invalid commit name: $sha1"
|
||||
output git rev-parse --verify $sha1 || die "$(eval_gettext "Invalid commit name: \$sha1")"
|
||||
|
||||
if is_empty_commit "$sha1"
|
||||
then
|
||||
@ -302,7 +304,7 @@ pick_one_preserving_merges () {
|
||||
git rev-parse HEAD > "$rewritten"/$current_commit
|
||||
done <"$state_dir"/current-commit
|
||||
rm "$state_dir"/current-commit ||
|
||||
die "Cannot write current commit's replacement sha1"
|
||||
die "$(gettext "Cannot write current commit's replacement sha1")"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -354,9 +356,9 @@ pick_one_preserving_merges () {
|
||||
done
|
||||
case $fast_forward in
|
||||
t)
|
||||
output warn "Fast-forward to $sha1"
|
||||
output warn "$(eval_gettext "Fast-forward to \$sha1")"
|
||||
output git reset --hard $sha1 ||
|
||||
die "Cannot fast-forward to $sha1"
|
||||
die "$(eval_gettext "Cannot fast-forward to \$sha1")"
|
||||
;;
|
||||
f)
|
||||
first_parent=$(expr "$new_parents" : ' \([^ ]*\)')
|
||||
@ -365,12 +367,12 @@ pick_one_preserving_merges () {
|
||||
then
|
||||
# detach HEAD to current parent
|
||||
output git checkout $first_parent 2> /dev/null ||
|
||||
die "Cannot move HEAD to $first_parent"
|
||||
die "$(eval_gettext "Cannot move HEAD to \$first_parent")"
|
||||
fi
|
||||
|
||||
case "$new_parents" in
|
||||
' '*' '*)
|
||||
test "a$1" = a-n && die "Refusing to squash a merge: $sha1"
|
||||
test "a$1" = a-n && die "$(eval_gettext "Refusing to squash a merge: \$sha1")"
|
||||
|
||||
# redo merge
|
||||
author_script_content=$(get_author_ident_from_commit $sha1)
|
||||
@ -384,7 +386,7 @@ pick_one_preserving_merges () {
|
||||
$merge_args $strategy_args -m "$msg_content" $new_parents'
|
||||
then
|
||||
printf "%s\n" "$msg_content" > "$GIT_DIR"/MERGE_MSG
|
||||
die_with_patch $sha1 "Error redoing merge $sha1"
|
||||
die_with_patch $sha1 "$(eval_gettext "Error redoing merge \$sha1")"
|
||||
fi
|
||||
echo "$sha1 $(git rev-parse HEAD^0)" >> "$rewritten_list"
|
||||
;;
|
||||
@ -392,19 +394,59 @@ pick_one_preserving_merges () {
|
||||
output eval git cherry-pick \
|
||||
${gpg_sign_opt:+$(git rev-parse --sq-quote "$gpg_sign_opt")} \
|
||||
"$strategy_args" "$@" ||
|
||||
die_with_patch $sha1 "Could not pick $sha1"
|
||||
die_with_patch $sha1 "$(eval_gettext "Could not pick \$sha1")"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
nth_string () {
|
||||
case "$1" in
|
||||
*1[0-9]|*[04-9]) echo "$1"th;;
|
||||
*1) echo "$1"st;;
|
||||
*2) echo "$1"nd;;
|
||||
*3) echo "$1"rd;;
|
||||
this_nth_commit_message () {
|
||||
n=$1
|
||||
case "$n" in
|
||||
1) gettext "This is the 1st commit message:";;
|
||||
2) gettext "This is the 2nd commit message:";;
|
||||
3) gettext "This is the 3rd commit message:";;
|
||||
4) gettext "This is the 4th commit message:";;
|
||||
5) gettext "This is the 5th commit message:";;
|
||||
6) gettext "This is the 6th commit message:";;
|
||||
7) gettext "This is the 7th commit message:";;
|
||||
8) gettext "This is the 8th commit message:";;
|
||||
9) gettext "This is the 9th commit message:";;
|
||||
10) gettext "This is the 10th commit message:";;
|
||||
# TRANSLATORS: if the language you are translating into
|
||||
# doesn't allow you to compose a sentence in this fashion,
|
||||
# consider translating as if this and the following few strings
|
||||
# were "This is the commit message ${n}:"
|
||||
*1[0-9]|*[04-9]) eval_gettext "This is the \${n}th commit message:";;
|
||||
*1) eval_gettext "This is the \${n}st commit message:";;
|
||||
*2) eval_gettext "This is the \${n}nd commit message:";;
|
||||
*3) eval_gettext "This is the \${n}rd commit message:";;
|
||||
*) eval_gettext "This is the commit message \${n}:";;
|
||||
esac
|
||||
}
|
||||
skip_nth_commit_message () {
|
||||
n=$1
|
||||
case "$n" in
|
||||
1) gettext "The 1st commit message will be skipped:";;
|
||||
2) gettext "The 2nd commit message will be skipped:";;
|
||||
3) gettext "The 3rd commit message will be skipped:";;
|
||||
4) gettext "The 4th commit message will be skipped:";;
|
||||
5) gettext "The 5th commit message will be skipped:";;
|
||||
6) gettext "The 6th commit message will be skipped:";;
|
||||
7) gettext "The 7th commit message will be skipped:";;
|
||||
8) gettext "The 8th commit message will be skipped:";;
|
||||
9) gettext "The 9th commit message will be skipped:";;
|
||||
10) gettext "The 10th commit message will be skipped:";;
|
||||
# TRANSLATORS: if the language you are translating into
|
||||
# doesn't allow you to compose a sentence in this fashion,
|
||||
# consider translating as if this and the following few strings
|
||||
# were "The commit message ${n} will be skipped:"
|
||||
*1[0-9]|*[04-9]) eval_gettext "The \${n}th commit message will be skipped:";;
|
||||
*1) eval_gettext "The \${n}st commit message will be skipped:";;
|
||||
*2) eval_gettext "The \${n}nd commit message will be skipped:";;
|
||||
*3) eval_gettext "The \${n}rd commit message will be skipped:";;
|
||||
*) eval_gettext "The commit message \${n} will be skipped:";;
|
||||
esac
|
||||
}
|
||||
|
||||
@ -412,20 +454,23 @@ update_squash_messages () {
|
||||
if test -f "$squash_msg"; then
|
||||
mv "$squash_msg" "$squash_msg".bak || exit
|
||||
count=$(($(sed -n \
|
||||
-e "1s/^. This is a combination of \(.*\) commits\./\1/p" \
|
||||
-e "1s/^$comment_char.*\([0-9][0-9]*\).*/\1/p" \
|
||||
-e "q" < "$squash_msg".bak)+1))
|
||||
{
|
||||
printf '%s\n' "$comment_char This is a combination of $count commits."
|
||||
printf '%s\n' "$comment_char $(eval_ngettext \
|
||||
"This is a combination of \$count commit." \
|
||||
"This is a combination of \$count commits." \
|
||||
$count)"
|
||||
sed -e 1d -e '2,/^./{
|
||||
/^$/d
|
||||
}' <"$squash_msg".bak
|
||||
} >"$squash_msg"
|
||||
else
|
||||
commit_message HEAD > "$fixup_msg" || die "Cannot write $fixup_msg"
|
||||
commit_message HEAD > "$fixup_msg" || die "$(gettext "Cannot write \$fixup_msg")"
|
||||
count=2
|
||||
{
|
||||
printf '%s\n' "$comment_char This is a combination of 2 commits."
|
||||
printf '%s\n' "$comment_char The first commit's message is:"
|
||||
printf '%s\n' "$comment_char $(gettext "This is a combination of 2 commits.")"
|
||||
printf '%s\n' "$comment_char $(gettext "This is the 1st commit message:")"
|
||||
echo
|
||||
cat "$fixup_msg"
|
||||
} >"$squash_msg"
|
||||
@ -434,13 +479,13 @@ update_squash_messages () {
|
||||
squash)
|
||||
rm -f "$fixup_msg"
|
||||
echo
|
||||
printf '%s\n' "$comment_char This is the $(nth_string $count) commit message:"
|
||||
printf '%s\n' "$comment_char $(this_nth_commit_message $count)"
|
||||
echo
|
||||
commit_message $2
|
||||
;;
|
||||
fixup)
|
||||
echo
|
||||
printf '%s\n' "$comment_char The $(nth_string $count) commit message will be skipped:"
|
||||
printf '%s\n' "$comment_char $(skip_nth_commit_message $count)"
|
||||
echo
|
||||
# Change the space after the comment character to TAB:
|
||||
commit_message $2 | git stripspace --comment-lines | sed -e 's/ / /'
|
||||
@ -459,12 +504,14 @@ peek_next_command () {
|
||||
# messages, effectively causing the combined commit to be used as the
|
||||
# new basis for any further squash/fixups. Args: sha1 rest
|
||||
die_failed_squash() {
|
||||
sha1=$1
|
||||
rest=$2
|
||||
mv "$squash_msg" "$msg" || exit
|
||||
rm -f "$fixup_msg"
|
||||
cp "$msg" "$GIT_DIR"/MERGE_MSG || exit
|
||||
warn
|
||||
warn "Could not apply $1... $2"
|
||||
die_with_patch $1 ""
|
||||
warn "$(eval_gettext "Could not apply \$sha1... \$rest")"
|
||||
die_with_patch $sha1 ""
|
||||
}
|
||||
|
||||
flush_rewritten_pending() {
|
||||
@ -488,6 +535,8 @@ record_in_rewritten() {
|
||||
}
|
||||
|
||||
do_pick () {
|
||||
sha1=$1
|
||||
rest=$2
|
||||
if test "$(git rev-parse HEAD)" = "$squash_onto"
|
||||
then
|
||||
# Set the correct commit message and author info on the
|
||||
@ -499,15 +548,15 @@ do_pick () {
|
||||
# resolve before manually running git commit --amend then git
|
||||
# rebase --continue.
|
||||
git commit --allow-empty --allow-empty-message --amend \
|
||||
--no-post-rewrite -n -q -C $1 &&
|
||||
pick_one -n $1 &&
|
||||
--no-post-rewrite -n -q -C $sha1 &&
|
||||
pick_one -n $sha1 &&
|
||||
git commit --allow-empty --allow-empty-message \
|
||||
--amend --no-post-rewrite -n -q -C $1 \
|
||||
--amend --no-post-rewrite -n -q -C $sha1 \
|
||||
${gpg_sign_opt:+"$gpg_sign_opt"} ||
|
||||
die_with_patch $1 "Could not apply $1... $2"
|
||||
die_with_patch $sha1 "$(eval_gettext "Could not apply \$sha1... \$rest")"
|
||||
else
|
||||
pick_one $1 ||
|
||||
die_with_patch $1 "Could not apply $1... $2"
|
||||
pick_one $sha1 ||
|
||||
die_with_patch $sha1 "$(eval_gettext "Could not apply \$sha1... \$rest")"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -535,10 +584,11 @@ do_next () {
|
||||
mark_action_done
|
||||
do_pick $sha1 "$rest"
|
||||
git commit --amend --no-post-rewrite ${gpg_sign_opt:+"$gpg_sign_opt"} || {
|
||||
warn "Could not amend commit after successfully picking $sha1... $rest"
|
||||
warn "This is most likely due to an empty commit message, or the pre-commit hook"
|
||||
warn "failed. If the pre-commit hook failed, you may need to resolve the issue before"
|
||||
warn "you are able to reword the commit."
|
||||
warn "$(eval_gettext "\
|
||||
Could not amend commit after successfully picking \$sha1... \$rest
|
||||
This is most likely due to an empty commit message, or the pre-commit hook
|
||||
failed. If the pre-commit hook failed, you may need to resolve the issue before
|
||||
you are able to reword the commit.")"
|
||||
exit_with_patch $sha1 1
|
||||
}
|
||||
record_in_rewritten $sha1
|
||||
@ -549,7 +599,7 @@ do_next () {
|
||||
mark_action_done
|
||||
do_pick $sha1 "$rest"
|
||||
sha1_abbrev=$(git rev-parse --short $sha1)
|
||||
warn "Stopped at $sha1_abbrev... $rest"
|
||||
warn "$(eval_gettext "Stopped at \$sha1_abbrev... \$rest")"
|
||||
exit_with_patch $sha1 0
|
||||
;;
|
||||
squash|s|fixup|f)
|
||||
@ -564,7 +614,7 @@ do_next () {
|
||||
comment_for_reflog $squash_style
|
||||
|
||||
test -f "$done" && has_action "$done" ||
|
||||
die "Cannot '$squash_style' without a previous commit"
|
||||
die "$(eval_gettext "Cannot '\$squash_style' without a previous commit")"
|
||||
|
||||
mark_action_done
|
||||
update_squash_messages $squash_style $sha1
|
||||
@ -606,7 +656,7 @@ do_next () {
|
||||
x|"exec")
|
||||
read -r command rest < "$todo"
|
||||
mark_action_done
|
||||
printf 'Executing: %s\n' "$rest"
|
||||
eval_gettextln "Executing: \$rest"
|
||||
"${SHELL:-@SHELL_PATH@}" -c "$rest" # Actual execution
|
||||
status=$?
|
||||
# Run in subshell because require_clean_work_tree can die.
|
||||
@ -614,13 +664,14 @@ do_next () {
|
||||
(require_clean_work_tree "rebase" 2>/dev/null) || dirty=t
|
||||
if test "$status" -ne 0
|
||||
then
|
||||
warn "Execution failed: $rest"
|
||||
warn "$(eval_gettext "Execution failed: \$rest")"
|
||||
test "$dirty" = f ||
|
||||
warn "and made changes to the index and/or the working tree"
|
||||
warn "$(gettext "and made changes to the index and/or the working tree")"
|
||||
|
||||
warn "You can fix the problem, and then run"
|
||||
warn
|
||||
warn " git rebase --continue"
|
||||
warn "$(gettext "\
|
||||
You can fix the problem, and then run
|
||||
|
||||
git rebase --continue")"
|
||||
warn
|
||||
if test $status -eq 127 # command not found
|
||||
then
|
||||
@ -629,18 +680,20 @@ do_next () {
|
||||
exit "$status"
|
||||
elif test "$dirty" = t
|
||||
then
|
||||
warn "Execution succeeded: $rest"
|
||||
warn "but left changes to the index and/or the working tree"
|
||||
warn "Commit or stash your changes, and then run"
|
||||
warn
|
||||
warn " git rebase --continue"
|
||||
# TRANSLATORS: after these lines is a command to be issued by the user
|
||||
warn "$(eval_gettext "\
|
||||
Execution succeeded: \$rest
|
||||
but left changes to the index and/or the working tree
|
||||
Commit or stash your changes, and then run
|
||||
|
||||
git rebase --continue")"
|
||||
warn
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
warn "Unknown command: $command $sha1 $rest"
|
||||
fixtodo="Please fix this using 'git rebase --edit-todo'."
|
||||
warn "$(eval_gettext "Unknown command: \$command \$sha1 \$rest")"
|
||||
fixtodo="$(gettext "Please fix this using 'git rebase --edit-todo'.")"
|
||||
if git rev-parse --verify -q "$sha1" >/dev/null
|
||||
then
|
||||
die_with_patch $sha1 "$fixtodo"
|
||||
@ -675,7 +728,7 @@ do_next () {
|
||||
"$hook" rebase < "$rewritten_list"
|
||||
true # we don't care if this hook failed
|
||||
fi &&
|
||||
warn "Successfully rebased and updated $head_name."
|
||||
warn "$(eval_gettext "Successfully rebased and updated \$head_name.")"
|
||||
|
||||
return 1 # not failure; just to break the do_rest loop
|
||||
}
|
||||
@ -722,7 +775,7 @@ skip_unnecessary_picks () {
|
||||
record_in_rewritten "$onto"
|
||||
;;
|
||||
esac ||
|
||||
die "Could not skip unnecessary pick commands"
|
||||
die "$(gettext "Could not skip unnecessary pick commands")"
|
||||
}
|
||||
|
||||
transform_todo_ids () {
|
||||
@ -880,9 +933,9 @@ check_commit_sha () {
|
||||
if test $badsha -ne 0
|
||||
then
|
||||
line="$(sed -n -e "${2}p" "$3")"
|
||||
warn "Warning: the SHA-1 is missing or isn't" \
|
||||
"a commit in the following line:"
|
||||
warn " - $line"
|
||||
warn "$(eval_gettext "\
|
||||
Warning: the SHA-1 is missing or isn't a commit in the following line:
|
||||
- \$line")"
|
||||
warn
|
||||
fi
|
||||
|
||||
@ -913,9 +966,9 @@ check_bad_cmd_and_sha () {
|
||||
;;
|
||||
*)
|
||||
line="$(sed -n -e "${lineno}p" "$1")"
|
||||
warn "Warning: the command isn't recognized" \
|
||||
"in the following line:"
|
||||
warn " - $line"
|
||||
warn "$(eval_gettext "\
|
||||
Warning: the command isn't recognized in the following line:
|
||||
- \$line")"
|
||||
warn
|
||||
retval=1
|
||||
;;
|
||||
@ -952,7 +1005,7 @@ warn_lines () {
|
||||
# Switch to the branch in $into and notify it in the reflog
|
||||
checkout_onto () {
|
||||
GIT_REFLOG_ACTION="$GIT_REFLOG_ACTION: checkout $onto_name"
|
||||
output git checkout $onto || die_abort "could not detach HEAD"
|
||||
output git checkout $onto || die_abort "$(gettext "could not detach HEAD")"
|
||||
git update-ref ORIG_HEAD $orig_head
|
||||
}
|
||||
|
||||
@ -990,28 +1043,26 @@ check_todo_list () {
|
||||
then
|
||||
test "$check_level" = error && raise_error=t
|
||||
|
||||
warn "Warning: some commits may have been dropped" \
|
||||
"accidentally."
|
||||
warn "Dropped commits (newer to older):"
|
||||
warn "$(gettext "\
|
||||
Warning: some commits may have been dropped accidentally.
|
||||
Dropped commits (newer to older):")"
|
||||
|
||||
# Make the list user-friendly and display
|
||||
opt="--no-walk=sorted --format=oneline --abbrev-commit --stdin"
|
||||
git rev-list $opt <"$todo".miss | warn_lines
|
||||
|
||||
warn "To avoid this message, use \"drop\" to" \
|
||||
"explicitly remove a commit."
|
||||
warn
|
||||
warn "Use 'git config rebase.missingCommitsCheck' to change" \
|
||||
"the level of warnings."
|
||||
warn "The possible behaviours are: ignore, warn, error."
|
||||
warn "$(gettext "\
|
||||
To avoid this message, use \"drop\" to explicitly remove a commit.
|
||||
|
||||
Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
|
||||
The possible behaviours are: ignore, warn, error.")"
|
||||
warn
|
||||
fi
|
||||
;;
|
||||
ignore)
|
||||
;;
|
||||
*)
|
||||
warn "Unrecognized setting $check_level for option" \
|
||||
"rebase.missingCommitsCheck. Ignoring."
|
||||
warn "$(eval_gettext "Unrecognized setting \$check_level for option rebase.missingCommitsCheck. Ignoring.")"
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -1028,8 +1079,8 @@ check_todo_list () {
|
||||
# placed before the commit of the next action
|
||||
checkout_onto
|
||||
|
||||
warn "You can fix this with 'git rebase --edit-todo'."
|
||||
die "Or you can abort the rebase with 'git rebase --abort'."
|
||||
warn "$(gettext "You can fix this with 'git rebase --edit-todo'.")"
|
||||
die "$(gettext "Or you can abort the rebase with 'git rebase --abort'.")"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -1053,41 +1104,43 @@ continue)
|
||||
|
||||
test ! -f "$GIT_DIR"/CHERRY_PICK_HEAD ||
|
||||
rm "$GIT_DIR"/CHERRY_PICK_HEAD ||
|
||||
die "Could not remove CHERRY_PICK_HEAD"
|
||||
die "$(gettext "Could not remove CHERRY_PICK_HEAD")"
|
||||
else
|
||||
if ! test -f "$author_script"
|
||||
then
|
||||
gpg_sign_opt_quoted=${gpg_sign_opt:+$(git rev-parse --sq-quote "$gpg_sign_opt")}
|
||||
die "You have staged changes in your working tree. If these changes are meant to be
|
||||
die "$(eval_gettext "\
|
||||
You have staged changes in your working tree.
|
||||
If these changes are meant to be
|
||||
squashed into the previous commit, run:
|
||||
|
||||
git commit --amend $gpg_sign_opt_quoted
|
||||
git commit --amend \$gpg_sign_opt_quoted
|
||||
|
||||
If they are meant to go into a new commit, run:
|
||||
|
||||
git commit $gpg_sign_opt_quoted
|
||||
git commit \$gpg_sign_opt_quoted
|
||||
|
||||
In both case, once you're done, continue with:
|
||||
|
||||
git rebase --continue
|
||||
"
|
||||
")"
|
||||
fi
|
||||
. "$author_script" ||
|
||||
die "Error trying to find the author identity to amend commit"
|
||||
die "$(gettext "Error trying to find the author identity to amend commit")"
|
||||
if test -f "$amend"
|
||||
then
|
||||
current_head=$(git rev-parse --verify HEAD)
|
||||
test "$current_head" = $(cat "$amend") ||
|
||||
die "\
|
||||
You have uncommitted changes in your working tree. Please, commit them
|
||||
first and then run 'git rebase --continue' again."
|
||||
die "$(gettext "\
|
||||
You have uncommitted changes in your working tree. Please commit them
|
||||
first and then run 'git rebase --continue' again.")"
|
||||
do_with_author git commit --amend --no-verify -F "$msg" -e \
|
||||
${gpg_sign_opt:+"$gpg_sign_opt"} ||
|
||||
die "Could not commit staged changes."
|
||||
die "$(gettext "Could not commit staged changes.")"
|
||||
else
|
||||
do_with_author git commit --no-verify -F "$msg" -e \
|
||||
${gpg_sign_opt:+"$gpg_sign_opt"} ||
|
||||
die "Could not commit staged changes."
|
||||
die "$(gettext "Could not commit staged changes.")"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -1111,16 +1164,15 @@ edit-todo)
|
||||
mv -f "$todo".new "$todo"
|
||||
collapse_todo_ids
|
||||
append_todo_help
|
||||
git stripspace --comment-lines >>"$todo" <<\EOF
|
||||
|
||||
gettext "
|
||||
You are editing the todo file of an ongoing interactive rebase.
|
||||
To continue rebase after editing, run:
|
||||
git rebase --continue
|
||||
|
||||
EOF
|
||||
" | git stripspace --comment-lines >>"$todo"
|
||||
|
||||
git_sequence_editor "$todo" ||
|
||||
die "Could not execute editor"
|
||||
die "$(gettext "Could not execute editor")"
|
||||
expand_todo_ids
|
||||
|
||||
exit
|
||||
@ -1128,7 +1180,7 @@ EOF
|
||||
esac
|
||||
|
||||
git var GIT_COMMITTER_IDENT >/dev/null ||
|
||||
die "You need to set your committer info first"
|
||||
die "$(gettext "You need to set your committer info first")"
|
||||
|
||||
comment_for_reflog start
|
||||
|
||||
@ -1136,15 +1188,15 @@ if test ! -z "$switch_to"
|
||||
then
|
||||
GIT_REFLOG_ACTION="$GIT_REFLOG_ACTION: checkout $switch_to"
|
||||
output git checkout "$switch_to" -- ||
|
||||
die "Could not checkout $switch_to"
|
||||
die "$(eval_gettext "Could not checkout \$switch_to")"
|
||||
|
||||
comment_for_reflog start
|
||||
fi
|
||||
|
||||
orig_head=$(git rev-parse --verify HEAD) || die "No HEAD?"
|
||||
mkdir -p "$state_dir" || die "Could not create temporary $state_dir"
|
||||
orig_head=$(git rev-parse --verify HEAD) || die "$(gettext "No HEAD?")"
|
||||
mkdir -p "$state_dir" || die "$(eval_gettext "Could not create temporary \$state_dir")"
|
||||
|
||||
: > "$state_dir"/interactive || die "Could not mark as interactive"
|
||||
: > "$state_dir"/interactive || die "$(gettext "Could not mark as interactive")"
|
||||
write_basic_state
|
||||
if test t = "$preserve_merges"
|
||||
then
|
||||
@ -1154,12 +1206,12 @@ then
|
||||
for c in $(git merge-base --all $orig_head $upstream)
|
||||
do
|
||||
echo $onto > "$rewritten"/$c ||
|
||||
die "Could not init rewritten commits"
|
||||
die "$(gettext "Could not init rewritten commits")"
|
||||
done
|
||||
else
|
||||
mkdir "$rewritten" &&
|
||||
echo $onto > "$rewritten"/root ||
|
||||
die "Could not init rewritten commits"
|
||||
die "$(gettext "Could not init rewritten commits")"
|
||||
fi
|
||||
# No cherry-pick because our first pass is to determine
|
||||
# parents to rewrite and skipping dropped commits would
|
||||
@ -1258,18 +1310,20 @@ todocount=${todocount##* }
|
||||
|
||||
cat >>"$todo" <<EOF
|
||||
|
||||
$comment_char Rebase $shortrevisions onto $shortonto ($todocount command(s))
|
||||
$comment_char $(eval_ngettext \
|
||||
"Rebase \$shortrevisions onto \$shortonto (\$todocount command)" \
|
||||
"Rebase \$shortrevisions onto \$shortonto (\$todocount commands)" \
|
||||
"$todocount")
|
||||
EOF
|
||||
append_todo_help
|
||||
git stripspace --comment-lines >>"$todo" <<\EOF
|
||||
|
||||
gettext "
|
||||
However, if you remove everything, the rebase will be aborted.
|
||||
|
||||
EOF
|
||||
" | git stripspace --comment-lines >>"$todo"
|
||||
|
||||
if test -z "$keep_empty"
|
||||
then
|
||||
printf '%s\n' "$comment_char Note that empty commits are commented out" >>"$todo"
|
||||
printf '%s\n' "$comment_char $(gettext "Note that empty commits are commented out")" >>"$todo"
|
||||
fi
|
||||
|
||||
|
||||
@ -1279,7 +1333,7 @@ has_action "$todo" ||
|
||||
cp "$todo" "$todo".backup
|
||||
collapse_todo_ids
|
||||
git_sequence_editor "$todo" ||
|
||||
die_abort "Could not execute editor"
|
||||
die_abort "$(gettext "Could not execute editor")"
|
||||
|
||||
has_action "$todo" ||
|
||||
return 2
|
||||
|
@ -45,7 +45,6 @@ skip! skip current patch and continue
|
||||
edit-todo! edit the todo list during an interactive rebase
|
||||
"
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
set_reflog_action rebase
|
||||
require_work_tree_exists
|
||||
cd_to_toplevel
|
||||
@ -154,7 +153,7 @@ move_to_original_branch () {
|
||||
git symbolic-ref \
|
||||
-m "rebase finished: returning to $head_name" \
|
||||
HEAD $head_name ||
|
||||
die "$(gettext "Could not move back to $head_name")"
|
||||
die "$(eval_gettext "Could not move back to \$head_name")"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@ -449,7 +448,7 @@ then
|
||||
then
|
||||
. git-parse-remote
|
||||
error_on_missing_default_upstream "rebase" "rebase" \
|
||||
"against" "git rebase <branch>"
|
||||
"against" "git rebase $(gettext '<branch>')"
|
||||
fi
|
||||
|
||||
test "$fork_point" = auto && fork_point=t
|
||||
|
@ -53,6 +53,13 @@ gettext_without_eval_gettext)
|
||||
git sh-i18n--envsubst "$1"
|
||||
)
|
||||
}
|
||||
|
||||
eval_ngettext () {
|
||||
ngettext "$1" "$2" "$3" | (
|
||||
export PATH $(git sh-i18n--envsubst --variables "$2");
|
||||
git sh-i18n--envsubst "$2"
|
||||
)
|
||||
}
|
||||
;;
|
||||
poison)
|
||||
# Emit garbage so that tests that incorrectly rely on translatable
|
||||
@ -64,6 +71,10 @@ poison)
|
||||
eval_gettext () {
|
||||
printf "%s" "# GETTEXT POISON #"
|
||||
}
|
||||
|
||||
eval_ngettext () {
|
||||
printf "%s" "# GETTEXT POISON #"
|
||||
}
|
||||
;;
|
||||
*)
|
||||
gettext () {
|
||||
@ -76,6 +87,13 @@ poison)
|
||||
git sh-i18n--envsubst "$1"
|
||||
)
|
||||
}
|
||||
|
||||
eval_ngettext () {
|
||||
(test "$3" = 1 && printf "%s" "$1" || printf "%s" "$2") | (
|
||||
export PATH $(git sh-i18n--envsubst --variables "$2");
|
||||
git sh-i18n--envsubst "$2"
|
||||
)
|
||||
}
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
# to set up some variables pointing at the normal git directories and
|
||||
# a few helper shell functions.
|
||||
|
||||
# Source git-sh-i18n for gettext support.
|
||||
. git-sh-i18n
|
||||
|
||||
# Having this variable in your environment would break scripts because
|
||||
# you would cause "cd" to be taken to unexpected places. If you
|
||||
# like CDPATH, define it for your interactive shell sessions without
|
||||
@ -83,16 +86,16 @@ if test -n "$OPTIONS_SPEC"; then
|
||||
else
|
||||
dashless=$(basename -- "$0" | sed -e 's/-/ /')
|
||||
usage() {
|
||||
die "usage: $dashless $USAGE"
|
||||
die "$(eval_gettext "usage: \$dashless \$USAGE")"
|
||||
}
|
||||
|
||||
if [ -z "$LONG_USAGE" ]
|
||||
then
|
||||
LONG_USAGE="usage: $dashless $USAGE"
|
||||
LONG_USAGE="$(eval_gettext "usage: \$dashless \$USAGE")"
|
||||
else
|
||||
LONG_USAGE="usage: $dashless $USAGE
|
||||
LONG_USAGE="$(eval_gettext "usage: \$dashless \$USAGE
|
||||
|
||||
$LONG_USAGE"
|
||||
$LONG_USAGE")"
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
@ -182,7 +185,7 @@ is_bare_repository () {
|
||||
cd_to_toplevel () {
|
||||
cdup=$(git rev-parse --show-toplevel) &&
|
||||
cd "$cdup" || {
|
||||
echo >&2 "Cannot chdir to $cdup, the toplevel of the working tree"
|
||||
gettextln "Cannot chdir to \$cdup, the toplevel of the working tree" >&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
@ -190,13 +193,16 @@ cd_to_toplevel () {
|
||||
require_work_tree_exists () {
|
||||
if test "z$(git rev-parse --is-bare-repository)" != zfalse
|
||||
then
|
||||
die "fatal: $0 cannot be used without a working tree."
|
||||
program_name=$0
|
||||
die "$(gettext "fatal: \$program_name cannot be used without a working tree.")"
|
||||
fi
|
||||
}
|
||||
|
||||
require_work_tree () {
|
||||
test "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = true ||
|
||||
die "fatal: $0 cannot be used without a working tree."
|
||||
test "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = true || {
|
||||
program_name=$0
|
||||
die "$(gettext "fatal: \$program_name cannot be used without a working tree.")"
|
||||
}
|
||||
}
|
||||
|
||||
require_clean_work_tree () {
|
||||
@ -206,24 +212,49 @@ require_clean_work_tree () {
|
||||
|
||||
if ! git diff-files --quiet --ignore-submodules
|
||||
then
|
||||
echo >&2 "Cannot $1: You have unstaged changes."
|
||||
action=$1
|
||||
case "$action" in
|
||||
rebase)
|
||||
gettextln "Cannot rebase: You have unstaged changes." >&2
|
||||
;;
|
||||
"rewrite branches")
|
||||
gettextln "Cannot rewrite branches: You have unstaged changes." >&2
|
||||
;;
|
||||
"pull with rebase")
|
||||
gettextln "Cannot pull with rebase: You have unstaged changes." >&2
|
||||
;;
|
||||
*)
|
||||
eval_gettextln "Cannot \$action: You have unstaged changes." >&2
|
||||
;;
|
||||
esac
|
||||
err=1
|
||||
fi
|
||||
|
||||
if ! git diff-index --cached --quiet --ignore-submodules HEAD --
|
||||
then
|
||||
if [ $err = 0 ]
|
||||
if test $err = 0
|
||||
then
|
||||
echo >&2 "Cannot $1: Your index contains uncommitted changes."
|
||||
action=$1
|
||||
case "$action" in
|
||||
rebase)
|
||||
gettextln "Cannot rebase: Your index contains uncommitted changes." >&2
|
||||
;;
|
||||
"pull with rebase")
|
||||
gettextln "Cannot pull with rebase: Your index contains uncommitted changes." >&2
|
||||
;;
|
||||
*)
|
||||
eval_gettextln "Cannot \$action: Your index contains uncommitted changes." >&2
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo >&2 "Additionally, your index contains uncommitted changes."
|
||||
gettextln "Additionally, your index contains uncommitted changes." >&2
|
||||
fi
|
||||
err=1
|
||||
fi
|
||||
|
||||
if [ $err = 1 ]
|
||||
if test $err = 1
|
||||
then
|
||||
test -n "$2" && echo >&2 "$2"
|
||||
test -n "$2" && echo "$2" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
@ -336,12 +367,12 @@ git_dir_init () {
|
||||
then
|
||||
test -z "$(git rev-parse --show-cdup)" || {
|
||||
exit=$?
|
||||
echo >&2 "You need to run this command from the toplevel of the working tree."
|
||||
gettextln "You need to run this command from the toplevel of the working tree." >&2
|
||||
exit $exit
|
||||
}
|
||||
fi
|
||||
test -n "$GIT_DIR" && GIT_DIR=$(cd "$GIT_DIR" && pwd) || {
|
||||
echo >&2 "Unable to determine absolute path of git directory"
|
||||
gettextln "Unable to determine absolute path of git directory" >&2
|
||||
exit 1
|
||||
}
|
||||
: "${GIT_OBJECT_DIRECTORY="$(git rev-parse --git-path objects)"}"
|
||||
|
@ -15,7 +15,6 @@ SUBDIRECTORY_OK=Yes
|
||||
OPTIONS_SPEC=
|
||||
START_DIR=$(pwd)
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
require_work_tree
|
||||
cd_to_toplevel
|
||||
|
||||
|
@ -16,7 +16,6 @@ USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <re
|
||||
OPTIONS_SPEC=
|
||||
SUBDIRECTORY_OK=Yes
|
||||
. git-sh-setup
|
||||
. git-sh-i18n
|
||||
. git-parse-remote
|
||||
require_work_tree
|
||||
wt_prefix=$(git rev-parse --show-prefix)
|
||||
@ -240,14 +239,15 @@ Use -f if you really want to add it." >&2
|
||||
then
|
||||
if test -z "$force"
|
||||
then
|
||||
echo >&2 "$(eval_gettext "A git directory for '\$sm_name' is found locally with remote(s):")"
|
||||
eval_gettextln >&2 "A git directory for '\$sm_name' is found locally with remote(s):"
|
||||
GIT_DIR=".git/modules/$sm_name" GIT_WORK_TREE=. git remote -v | grep '(fetch)' | sed -e s,^," ", -e s,' (fetch)',, >&2
|
||||
echo >&2 "$(eval_gettext "If you want to reuse this local git directory instead of cloning again from")"
|
||||
echo >&2 " $realrepo"
|
||||
echo >&2 "$(eval_gettext "use the '--force' option. If the local git directory is not the correct repo")"
|
||||
die "$(eval_gettext "or you are unsure what this means choose another name with the '--name' option.")"
|
||||
die "$(eval_gettextln "\
|
||||
If you want to reuse this local git directory instead of cloning again from
|
||||
\$realrepo
|
||||
use the '--force' option. If the local git directory is not the correct repo
|
||||
or you are unsure what this means choose another name with the '--name' option.")"
|
||||
else
|
||||
echo "$(eval_gettext "Reactivating local git directory for submodule '\$sm_name'.")"
|
||||
eval_gettextln "Reactivating local git directory for submodule '\$sm_name'."
|
||||
fi
|
||||
fi
|
||||
git submodule--helper clone ${GIT_QUIET:+--quiet} --prefix "$wt_prefix" --path "$sm_path" --name "$sm_name" --url "$realrepo" ${reference:+"$reference"} ${depth:+"$depth"} || exit
|
||||
@ -438,8 +438,9 @@ cmd_deinit()
|
||||
# Protect submodules containing a .git directory
|
||||
if test -d "$sm_path/.git"
|
||||
then
|
||||
echo >&2 "$(eval_gettext "Submodule work tree '\$displaypath' contains a .git directory")"
|
||||
die "$(eval_gettext "(use 'rm -rf' if you really want to remove it including all of its history)")"
|
||||
die "$(eval_gettext "\
|
||||
Submodule work tree '\$displaypath' contains a .git directory
|
||||
(use 'rm -rf' if you really want to remove it including all of its history)")"
|
||||
fi
|
||||
|
||||
if test -z "$force"
|
||||
@ -624,7 +625,7 @@ cmd_update()
|
||||
remote_name=$(sanitize_submodule_env; cd "$sm_path" && get_default_remote)
|
||||
sha1=$(sanitize_submodule_env; cd "$sm_path" &&
|
||||
git rev-parse --verify "${remote_name}/${branch}") ||
|
||||
die "$(eval_gettext "Unable to find current ${remote_name}/${branch} revision in submodule path '\$sm_path'")"
|
||||
die "$(eval_gettext "Unable to find current \${remote_name}/\${branch} revision in submodule path '\$sm_path'")"
|
||||
fi
|
||||
|
||||
if test "$subsha1" != "$sha1" || test -n "$force"
|
||||
@ -648,7 +649,7 @@ cmd_update()
|
||||
# not be reachable from any of the refs
|
||||
is_tip_reachable "$sm_path" "$sha1" ||
|
||||
fetch_in_submodule "$sm_path" "$sha1" ||
|
||||
die "$(eval_gettext "Fetched in submodule path '\$displaypath', but it did not contain $sha1. Direct fetching of that commit failed.")"
|
||||
die "$(eval_gettext "Fetched in submodule path '\$displaypath', but it did not contain \$sha1. Direct fetching of that commit failed.")"
|
||||
fi
|
||||
|
||||
must_die_on_failure=
|
||||
|
46
po/is.po
46
po/is.po
@ -7,14 +7,15 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Git\n"
|
||||
"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n"
|
||||
"POT-Creation-Date: 2010-09-20 14:44+0000\n"
|
||||
"PO-Revision-Date: 2010-06-05 19:06 +0000\n"
|
||||
"Last-Translator: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n"
|
||||
"POT-Creation-Date: 2016-06-17 18:55+0000\n"
|
||||
"PO-Revision-Date: 2016-06-17 19:17+0000\n"
|
||||
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
|
||||
"Language-Team: Git Mailing List <git@vger.kernel.org>\n"
|
||||
"Language: is\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.5\n"
|
||||
|
||||
#. TRANSLATORS: This is a test. You don't need to translate it.
|
||||
#: t/t0200/test.c:5
|
||||
@ -72,22 +73,31 @@ msgstr "TILRAUN: Perl tilraunastrengur"
|
||||
msgid "TEST: A Perl test variable %s"
|
||||
msgstr "TILRAUN: Perl tilraunastrengur með breytunni %s"
|
||||
|
||||
#. TRANSLATORS: The first '%s' is either "Reinitialized
|
||||
#. existing" or "Initialized empty", the second " shared" or
|
||||
#. "", and the last '%s%s' is the verbatim directory name.
|
||||
#: builtin/init-db.c:355
|
||||
#: builtin/init-db.c:402
|
||||
#, c-format
|
||||
msgid "%s%s Git repository in %s%s\n"
|
||||
msgstr "%s%s Git lind í %s%s\n"
|
||||
msgid "Reinitialized existing shared Git repository in %s%s\n"
|
||||
msgstr "Endurgerði Git lind í %s%s\n"
|
||||
|
||||
#: builtin/init-db.c:356
|
||||
msgid "Reinitialized existing"
|
||||
msgstr "Endurgerði"
|
||||
#: builtin/init-db.c:403
|
||||
#, c-format
|
||||
msgid "Reinitialized existing Git repository in %s%s\n"
|
||||
msgstr "Endurgerði Git lind í %s%s\n"
|
||||
|
||||
#: builtin/init-db.c:356
|
||||
msgid "Initialized empty"
|
||||
msgstr "Bjó til tóma"
|
||||
#: builtin/init-db.c:407
|
||||
#, c-format
|
||||
msgid "Initialized empty shared Git repository in %s%s\n"
|
||||
msgstr "Bjó til tóma sameiginlega Git lind í %s%s\n"
|
||||
|
||||
#: builtin/init-db.c:357
|
||||
msgid " shared"
|
||||
msgstr " sameiginlega"
|
||||
#: builtin/init-db.c:408
|
||||
#, c-format
|
||||
msgid "Initialized empty Git repository in %s%s\n"
|
||||
msgstr "Bjó til tóma Git lind í %s%s\n"
|
||||
|
||||
#~ msgid "Reinitialized existing"
|
||||
#~ msgstr "Endurgerði"
|
||||
|
||||
#~ msgid "Initialized empty"
|
||||
#~ msgstr "Bjó til tóma"
|
||||
|
||||
#~ msgid " shared"
|
||||
#~ msgstr " sameiginlega"
|
||||
|
15
sequencer.c
15
sequencer.c
@ -190,7 +190,7 @@ static void write_message(struct strbuf *msgbuf, const char *filename)
|
||||
die_errno(_("Could not write to %s"), filename);
|
||||
strbuf_release(msgbuf);
|
||||
if (commit_lock_file(&msg_file) < 0)
|
||||
die(_("Error wrapping up %s"), filename);
|
||||
die(_("Error wrapping up %s."), filename);
|
||||
}
|
||||
|
||||
static struct tree *empty_tree(void)
|
||||
@ -225,7 +225,7 @@ static int fast_forward_to(const unsigned char *to, const unsigned char *from,
|
||||
if (checkout_fast_forward(from, to, 1))
|
||||
exit(128); /* the callee should have complained already */
|
||||
|
||||
strbuf_addf(&sb, "%s: fast-forward", action_name(opts));
|
||||
strbuf_addf(&sb, _("%s: fast-forward"), action_name(opts));
|
||||
|
||||
transaction = ref_transaction_begin(&err);
|
||||
if (!transaction ||
|
||||
@ -695,9 +695,14 @@ static struct commit *parse_insn_line(char *bol, char *eol, struct replay_opts *
|
||||
* opts; we don't support arbitrary instructions
|
||||
*/
|
||||
if (action != opts->action) {
|
||||
const char *action_str;
|
||||
action_str = action == REPLAY_REVERT ? "revert" : "cherry-pick";
|
||||
error(_("Cannot %s during a %s"), action_str, action_name(opts));
|
||||
if (action == REPLAY_REVERT)
|
||||
error((opts->action == REPLAY_REVERT)
|
||||
? _("Cannot revert during a another revert.")
|
||||
: _("Cannot revert during a cherry-pick."));
|
||||
else
|
||||
error((opts->action == REPLAY_REVERT)
|
||||
? _("Cannot cherry-pick during a revert.")
|
||||
: _("Cannot cherry-pick during another cherry-pick."));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
16
setup.c
16
setup.c
@ -157,8 +157,8 @@ static void NORETURN die_verify_filename(const char *prefix,
|
||||
int diagnose_misspelt_rev)
|
||||
{
|
||||
if (!diagnose_misspelt_rev)
|
||||
die("%s: no such path in the working tree.\n"
|
||||
"Use 'git <command> -- <path>...' to specify paths that do not exist locally.",
|
||||
die(_("%s: no such path in the working tree.\n"
|
||||
"Use 'git <command> -- <path>...' to specify paths that do not exist locally."),
|
||||
arg);
|
||||
/*
|
||||
* Saying "'(icase)foo' does not exist in the index" when the
|
||||
@ -170,9 +170,9 @@ static void NORETURN die_verify_filename(const char *prefix,
|
||||
maybe_die_on_misspelt_object_name(arg, prefix);
|
||||
|
||||
/* ... or fall back the most general message. */
|
||||
die("ambiguous argument '%s': unknown revision or path not in the working tree.\n"
|
||||
"Use '--' to separate paths from revisions, like this:\n"
|
||||
"'git <command> [<revision>...] -- [<file>...]'", arg);
|
||||
die(_("ambiguous argument '%s': unknown revision or path not in the working tree.\n"
|
||||
"Use '--' to separate paths from revisions, like this:\n"
|
||||
"'git <command> [<revision>...] -- [<file>...]'"), arg);
|
||||
|
||||
}
|
||||
|
||||
@ -220,9 +220,9 @@ void verify_non_filename(const char *prefix, const char *arg)
|
||||
return; /* flag */
|
||||
if (!check_filename(prefix, arg))
|
||||
return;
|
||||
die("ambiguous argument '%s': both revision and filename\n"
|
||||
"Use '--' to separate paths from revisions, like this:\n"
|
||||
"'git <command> [<revision>...] -- [<file>...]'", arg);
|
||||
die(_("ambiguous argument '%s': both revision and filename\n"
|
||||
"Use '--' to separate paths from revisions, like this:\n"
|
||||
"'git <command> [<revision>...] -- [<file>...]'"), arg);
|
||||
}
|
||||
|
||||
int get_common_dir(struct strbuf *sb, const char *gitdir)
|
||||
|
@ -29,6 +29,7 @@ set_fake_editor () {
|
||||
*/COMMIT_EDITMSG)
|
||||
test -z "$EXPECT_HEADER_COUNT" ||
|
||||
test "$EXPECT_HEADER_COUNT" = "$(sed -n '1s/^# This is a combination of \(.*\) commits\./\1/p' < "$1")" ||
|
||||
test "# # GETTEXT POISON #" = "$(sed -n '1p' < "$1")" ||
|
||||
exit
|
||||
test -z "$FAKE_COMMIT_MESSAGE" || echo "$FAKE_COMMIT_MESSAGE" > "$1"
|
||||
test -z "$FAKE_COMMIT_AMEND" || echo "$FAKE_COMMIT_AMEND" >> "$1"
|
||||
|
@ -34,7 +34,7 @@ expect_from_stdin () {
|
||||
test_stderr () {
|
||||
expected="$1"
|
||||
expect_in stderr "$1" &&
|
||||
test_cmp "$HOME/expected-stderr" "$HOME/stderr"
|
||||
test_i18ncmp "$HOME/expected-stderr" "$HOME/stderr"
|
||||
}
|
||||
|
||||
broken_c_unquote () {
|
||||
@ -47,7 +47,7 @@ broken_c_unquote_verbose () {
|
||||
|
||||
stderr_contains () {
|
||||
regexp="$1"
|
||||
if grep "$regexp" "$HOME/stderr"
|
||||
if test_i18ngrep "$regexp" "$HOME/stderr"
|
||||
then
|
||||
return 0
|
||||
else
|
||||
|
@ -247,7 +247,7 @@ error: The following untracked working tree files would be overwritten by checko
|
||||
Please move or remove them before you can switch branches.
|
||||
Aborting
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
test_i18ncmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'checkout without --ignore-skip-worktree-bits' '
|
||||
|
@ -886,7 +886,7 @@ test_expect_success !MINGW 'get --path copes with unset $HOME' '
|
||||
git config --get --path path.normal >>result &&
|
||||
git config --get --path path.trailingtilde >>result
|
||||
) &&
|
||||
grep "[Ff]ailed to expand.*~/" msg &&
|
||||
test_i18ngrep "[Ff]ailed to expand.*~/" msg &&
|
||||
test_cmp expect result
|
||||
'
|
||||
|
||||
@ -1126,7 +1126,7 @@ test_expect_success 'barf on syntax error' '
|
||||
key garbage
|
||||
EOF
|
||||
test_must_fail git config --get section.key >actual 2>error &&
|
||||
grep " line 3 " error
|
||||
test_i18ngrep " line 3 " error
|
||||
'
|
||||
|
||||
test_expect_success 'barf on incomplete section header' '
|
||||
@ -1136,7 +1136,7 @@ test_expect_success 'barf on incomplete section header' '
|
||||
key = value
|
||||
EOF
|
||||
test_must_fail git config --get section.key >actual 2>error &&
|
||||
grep " line 2 " error
|
||||
test_i18ngrep " line 2 " error
|
||||
'
|
||||
|
||||
test_expect_success 'barf on incomplete string' '
|
||||
@ -1146,7 +1146,7 @@ test_expect_success 'barf on incomplete string' '
|
||||
key = "value string
|
||||
EOF
|
||||
test_must_fail git config --get section.key >actual 2>error &&
|
||||
grep " line 3 " error
|
||||
test_i18ngrep " line 3 " error
|
||||
'
|
||||
|
||||
test_expect_success 'urlmatch' '
|
||||
|
@ -61,10 +61,7 @@ test_expect_success 'parse errors in blobs are properly attributed' '
|
||||
git commit -m broken &&
|
||||
|
||||
test_must_fail git config --blob=HEAD:config some.value 2>err &&
|
||||
|
||||
# just grep for our token as the exact error message is likely to
|
||||
# change or be internationalized
|
||||
grep "HEAD:config" err
|
||||
test_i18ngrep "HEAD:config" err
|
||||
'
|
||||
|
||||
test_expect_success 'can parse blob ending with CR' '
|
||||
|
@ -197,14 +197,14 @@ test_expect_success 'proper error on error in default config files' '
|
||||
echo "[" >>.git/config &&
|
||||
echo "fatal: bad config line 34 in file .git/config" >expect &&
|
||||
test_expect_code 128 test-config get_value foo.bar 2>actual &&
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'proper error on error in custom config files' '
|
||||
echo "[" >>syntax-error &&
|
||||
echo "fatal: bad config line 1 in file syntax-error" >expect &&
|
||||
test_expect_code 128 test-config configset_get_value foo.bar syntax-error 2>actual &&
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'check line errors for malformed values' '
|
||||
|
@ -361,7 +361,7 @@ test_expect_success 'stdin test setup' '
|
||||
|
||||
test_expect_success '-z fails without --stdin' '
|
||||
test_must_fail git update-ref -z $m $m $m 2>err &&
|
||||
grep "usage: git update-ref" err
|
||||
test_i18ngrep "usage: git update-ref" err
|
||||
'
|
||||
|
||||
test_expect_success 'stdin works with no input' '
|
||||
|
@ -106,7 +106,7 @@ test_expect_success 'incorrect revision id' '
|
||||
test_must_fail git rev-parse foobar:file.txt 2>error &&
|
||||
grep "Invalid object name '"'"'foobar'"'"'." error &&
|
||||
test_must_fail git rev-parse foobar 2> error &&
|
||||
grep "unknown revision or path not in the working tree." error
|
||||
test_i18ngrep "unknown revision or path not in the working tree." error
|
||||
'
|
||||
|
||||
test_expect_success 'incorrect file in sha1:path' '
|
||||
|
@ -49,7 +49,7 @@ test_expect_success 'disambiguate checking out from a tree-ish' '
|
||||
|
||||
test_expect_success 'accurate error message with more than one ref' '
|
||||
test_must_fail git checkout HEAD master -- 2>actual &&
|
||||
grep 2 actual &&
|
||||
test_i18ngrep 2 actual &&
|
||||
test_i18ngrep "one reference expected, 2 given" actual
|
||||
'
|
||||
|
||||
|
@ -124,7 +124,7 @@ test_expect_success 'checkout -b to @{-1} fails with the right branch name' '
|
||||
git checkout branch2 &&
|
||||
echo >expect "fatal: A branch named '\''branch1'\'' already exists." &&
|
||||
test_must_fail git checkout -b @{-1} 2>actual &&
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'checkout -B to an existing branch resets branch to HEAD' '
|
||||
|
@ -550,7 +550,7 @@ If you wanted to make '"'master'"' track '"'origin/master'"', do this:
|
||||
git branch -d origin/master
|
||||
git branch --set-upstream-to origin/master
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
test_i18ncmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success '--set-upstream with two args only shows the deprecation message' '
|
||||
@ -559,7 +559,7 @@ test_expect_success '--set-upstream with two args only shows the deprecation mes
|
||||
cat >expected <<EOF &&
|
||||
The --set-upstream flag is deprecated and will be removed. Consider using --track or --set-upstream-to
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
test_i18ncmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success '--set-upstream with one arg only shows the deprecation message if the branch existed' '
|
||||
@ -568,7 +568,7 @@ test_expect_success '--set-upstream with one arg only shows the deprecation mess
|
||||
cat >expected <<EOF &&
|
||||
The --set-upstream flag is deprecated and will be removed. Consider using --track or --set-upstream-to
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
test_i18ncmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success '--set-upstream-to notices an error to set branch as own upstream' '
|
||||
|
@ -156,7 +156,7 @@ test_expect_success 'branch --merged with --verbose' '
|
||||
* topic 2c939f4 [ahead 1] foo
|
||||
zzz c77a0a9 second on master
|
||||
EOF
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -178,7 +178,7 @@ test_expect_success 'merge z into m (== y) with default ("manual") resolver => C
|
||||
git config core.notesRef refs/notes/m &&
|
||||
test_must_fail git notes merge z >output &&
|
||||
# Output should point to where to resolve conflicts
|
||||
grep -q "\\.git/NOTES_MERGE_WORKTREE" output &&
|
||||
test_i18ngrep "\\.git/NOTES_MERGE_WORKTREE" output &&
|
||||
# Inspect merge conflicts
|
||||
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
|
||||
test_cmp expect_conflicts output_conflicts &&
|
||||
@ -381,7 +381,7 @@ test_expect_success 'redo merge of z into m (== y) with default ("manual") resol
|
||||
git config core.notesRef refs/notes/m &&
|
||||
test_must_fail git notes merge z >output &&
|
||||
# Output should point to where to resolve conflicts
|
||||
grep -q "\\.git/NOTES_MERGE_WORKTREE" output &&
|
||||
test_i18ngrep "\\.git/NOTES_MERGE_WORKTREE" output &&
|
||||
# Inspect merge conflicts
|
||||
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
|
||||
test_cmp expect_conflicts output_conflicts &&
|
||||
@ -415,7 +415,7 @@ git rev-parse refs/notes/z > pre_merge_z
|
||||
test_expect_success 'redo merge of z into m (== y) with default ("manual") resolver => Conflicting 3-way merge' '
|
||||
test_must_fail git notes merge z >output &&
|
||||
# Output should point to where to resolve conflicts
|
||||
grep -q "\\.git/NOTES_MERGE_WORKTREE" output &&
|
||||
test_i18ngrep "\\.git/NOTES_MERGE_WORKTREE" output &&
|
||||
# Inspect merge conflicts
|
||||
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
|
||||
test_cmp expect_conflicts output_conflicts &&
|
||||
@ -496,7 +496,7 @@ test_expect_success 'redo merge of z into m (== y) with default ("manual") resol
|
||||
git update-ref refs/notes/m refs/notes/y &&
|
||||
test_must_fail git notes merge z >output &&
|
||||
# Output should point to where to resolve conflicts
|
||||
grep -q "\\.git/NOTES_MERGE_WORKTREE" output &&
|
||||
test_i18ngrep "\\.git/NOTES_MERGE_WORKTREE" output &&
|
||||
# Inspect merge conflicts
|
||||
ls .git/NOTES_MERGE_WORKTREE >output_conflicts &&
|
||||
test_cmp expect_conflicts output_conflicts &&
|
||||
|
@ -52,7 +52,7 @@ test_expect_success 'merge z into y while mid-merge in another workdir fails' '
|
||||
cd worktree &&
|
||||
git config core.notesRef refs/notes/y &&
|
||||
test_must_fail git notes merge z 2>err &&
|
||||
grep "A notes merge into refs/notes/y is already in-progress at" err
|
||||
test_i18ngrep "A notes merge into refs/notes/y is already in-progress at" err
|
||||
) &&
|
||||
test_path_is_missing .git/worktrees/worktree/NOTES_MERGE_REF
|
||||
'
|
||||
@ -62,7 +62,7 @@ test_expect_success 'merge z into x while mid-merge on y succeeds' '
|
||||
cd worktree2 &&
|
||||
git config core.notesRef refs/notes/x &&
|
||||
test_must_fail git notes merge z 2>&1 >out &&
|
||||
grep "Automatic notes merge failed" out &&
|
||||
test_i18ngrep "Automatic notes merge failed" out &&
|
||||
grep -v "A notes merge into refs/notes/x is already in-progress in" out
|
||||
) &&
|
||||
echo "ref: refs/notes/x" >expect &&
|
||||
|
@ -136,8 +136,8 @@ test_expect_success 'setup: recover' '
|
||||
test_expect_success 'Show verbose error when HEAD could not be detached' '
|
||||
>B &&
|
||||
test_must_fail git rebase topic 2>output.err >output.out &&
|
||||
grep "The following untracked working tree files would be overwritten by checkout:" output.err &&
|
||||
grep B output.err
|
||||
test_i18ngrep "The following untracked working tree files would be overwritten by checkout:" output.err &&
|
||||
test_i18ngrep B output.err
|
||||
'
|
||||
rm -f B
|
||||
|
||||
|
@ -219,9 +219,9 @@ test_expect_success 'abort with error when new base cannot be checked out' '
|
||||
git commit -m "remove file in base" &&
|
||||
set_fake_editor &&
|
||||
test_must_fail git rebase -i master > output 2>&1 &&
|
||||
grep "The following untracked working tree files would be overwritten by checkout:" \
|
||||
test_i18ngrep "The following untracked working tree files would be overwritten by checkout:" \
|
||||
output &&
|
||||
grep "file1" output &&
|
||||
test_i18ngrep "file1" output &&
|
||||
test_path_is_missing .git/rebase-merge &&
|
||||
git reset --hard HEAD^
|
||||
'
|
||||
@ -540,7 +540,7 @@ test_expect_success 'clean error after failed "exec"' '
|
||||
echo "edited again" > file7 &&
|
||||
git add file7 &&
|
||||
test_must_fail git rebase --continue 2>error &&
|
||||
grep "You have staged changes in your working tree." error
|
||||
test_i18ngrep "You have staged changes in your working tree." error
|
||||
'
|
||||
|
||||
test_expect_success 'rebase a detached HEAD' '
|
||||
@ -1060,7 +1060,7 @@ test_expect_success 'todo count' '
|
||||
EOF
|
||||
test_set_editor "$(pwd)/dump-raw.sh" &&
|
||||
git rebase -i HEAD~4 >actual &&
|
||||
grep "^# Rebase ..* onto ..* ([0-9]" actual
|
||||
test_i18ngrep "^# Rebase ..* onto ..* ([0-9]" actual
|
||||
'
|
||||
|
||||
test_expect_success 'rebase -i commits that overwrite untracked files (pick)' '
|
||||
@ -1160,7 +1160,7 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = ignore' '
|
||||
FAKE_LINES="1 2 3 4" \
|
||||
git rebase -i --root 2>actual &&
|
||||
test D = $(git cat-file commit HEAD | sed -ne \$p) &&
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -1181,7 +1181,7 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' '
|
||||
set_fake_editor &&
|
||||
FAKE_LINES="1 2 3 4" \
|
||||
git rebase -i --root 2>actual &&
|
||||
test_cmp expect actual &&
|
||||
test_i18ncmp expect actual &&
|
||||
test D = $(git cat-file commit HEAD | sed -ne \$p)
|
||||
'
|
||||
|
||||
@ -1205,7 +1205,7 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = error' '
|
||||
set_fake_editor &&
|
||||
test_must_fail env FAKE_LINES="1 2 4" \
|
||||
git rebase -i --root 2>actual &&
|
||||
test_cmp expect actual &&
|
||||
test_i18ncmp expect actual &&
|
||||
cp .git/rebase-merge/git-rebase-todo.backup \
|
||||
.git/rebase-merge/git-rebase-todo &&
|
||||
FAKE_LINES="1 2 drop 3 4 drop 5" \
|
||||
@ -1228,7 +1228,7 @@ test_expect_success 'static check of bad command' '
|
||||
set_fake_editor &&
|
||||
test_must_fail env FAKE_LINES="1 2 3 bad 4 5" \
|
||||
git rebase -i --root 2>actual &&
|
||||
test_cmp expect actual &&
|
||||
test_i18ncmp expect actual &&
|
||||
FAKE_LINES="1 2 3 drop 4 5" git rebase --edit-todo &&
|
||||
git rebase --continue &&
|
||||
test E = $(git cat-file commit HEAD | sed -ne \$p) &&
|
||||
@ -1263,7 +1263,7 @@ test_expect_success 'static check of bad SHA-1' '
|
||||
set_fake_editor &&
|
||||
test_must_fail env FAKE_LINES="1 2 edit fakesha 3 4 5 #" \
|
||||
git rebase -i --root 2>actual &&
|
||||
test_cmp expect actual &&
|
||||
test_i18ncmp expect actual &&
|
||||
FAKE_LINES="1 2 4 5 6" git rebase --edit-todo &&
|
||||
git rebase --continue &&
|
||||
test E = $(git cat-file commit HEAD | sed -ne \$p)
|
||||
|
@ -53,7 +53,7 @@ test_expect_success '--no-quiet overrides --quiet' '
|
||||
# Applying side1 will be quiet.
|
||||
test_must_fail git am --quiet side[123].eml >out &&
|
||||
test_path_is_dir .git/rebase-apply &&
|
||||
! test_i18ngrep "^Applying: " out &&
|
||||
test_i18ngrep ! "^Applying: " out &&
|
||||
echo side1 >file &&
|
||||
git add file &&
|
||||
|
||||
|
@ -18,7 +18,7 @@ test_expect_success '"git log :/" should not be ambiguous' '
|
||||
test_expect_success '"git log :/a" should be ambiguous (applied both rev and worktree)' '
|
||||
: >a &&
|
||||
test_must_fail git log :/a 2>error &&
|
||||
grep ambiguous error
|
||||
test_i18ngrep ambiguous error
|
||||
'
|
||||
|
||||
test_expect_success '"git log :/a -- " should not be ambiguous' '
|
||||
@ -31,7 +31,7 @@ test_expect_success '"git log -- :/a" should not be ambiguous' '
|
||||
|
||||
test_expect_success '"git log :" should be ambiguous' '
|
||||
test_must_fail git log : 2>error &&
|
||||
grep ambiguous error
|
||||
test_i18ngrep ambiguous error
|
||||
'
|
||||
|
||||
test_expect_success 'git log -- :' '
|
||||
|
@ -1182,7 +1182,7 @@ test_expect_success 'extra args: setup' '
|
||||
test_extra_arg () {
|
||||
test_expect_success "extra args: $*" "
|
||||
test_must_fail git remote $* bogus_extra_arg 2>actual &&
|
||||
grep '^usage:' actual
|
||||
test_i18ngrep '^usage:' actual
|
||||
"
|
||||
}
|
||||
|
||||
|
@ -644,7 +644,7 @@ test_expect_success 'fetch --prune prints the remotes url' '
|
||||
git fetch --prune origin 2>&1 | head -n1 >../actual
|
||||
) &&
|
||||
echo "From ${D}/." >expect &&
|
||||
test_cmp expect actual
|
||||
test_i18ncmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'branchname D/F conflict resolved by --prune' '
|
||||
|
@ -211,7 +211,7 @@ test_expect_success 'fail if the index has unresolved entries' '
|
||||
test -n "$(git ls-files -u)" &&
|
||||
cp file expected &&
|
||||
test_must_fail git pull . second 2>err &&
|
||||
test_i18ngrep "Pull is not possible because you have unmerged files" err &&
|
||||
test_i18ngrep "Pulling is not possible because you have unmerged files." err &&
|
||||
test_cmp expected file &&
|
||||
git add file &&
|
||||
test -z "$(git ls-files -u)" &&
|
||||
|
@ -75,7 +75,7 @@ test_expect_success TTY 'progress messages go to tty' '
|
||||
ensure_fresh_upstream &&
|
||||
|
||||
test_terminal git push -u upstream master >out 2>err &&
|
||||
grep "Writing objects" err
|
||||
test_i18ngrep "Writing objects" err
|
||||
'
|
||||
|
||||
test_expect_success 'progress messages do not go to non-tty' '
|
||||
@ -83,7 +83,7 @@ test_expect_success 'progress messages do not go to non-tty' '
|
||||
|
||||
# skip progress messages, since stderr is non-tty
|
||||
git push -u upstream master >out 2>err &&
|
||||
! grep "Writing objects" err
|
||||
test_i18ngrep ! "Writing objects" err
|
||||
'
|
||||
|
||||
test_expect_success 'progress messages go to non-tty (forced)' '
|
||||
@ -91,22 +91,22 @@ test_expect_success 'progress messages go to non-tty (forced)' '
|
||||
|
||||
# force progress messages to stderr, even though it is non-tty
|
||||
git push -u --progress upstream master >out 2>err &&
|
||||
grep "Writing objects" err
|
||||
test_i18ngrep "Writing objects" err
|
||||
'
|
||||
|
||||
test_expect_success TTY 'push -q suppresses progress' '
|
||||
ensure_fresh_upstream &&
|
||||
|
||||
test_terminal git push -u -q upstream master >out 2>err &&
|
||||
! grep "Writing objects" err
|
||||
test_i18ngrep ! "Writing objects" err
|
||||
'
|
||||
|
||||
test_expect_success TTY 'push --no-progress suppresses progress' '
|
||||
ensure_fresh_upstream &&
|
||||
|
||||
test_terminal git push -u --no-progress upstream master >out 2>err &&
|
||||
! grep "Unpacking objects" err &&
|
||||
! grep "Writing objects" err
|
||||
test_i18ngrep ! "Unpacking objects" err &&
|
||||
test_i18ngrep ! "Writing objects" err
|
||||
'
|
||||
|
||||
test_expect_success TTY 'quiet push' '
|
||||
|
@ -22,8 +22,8 @@ verify_stderr () {
|
||||
cat >expected &&
|
||||
# We're not interested in the error
|
||||
# "fatal: The remote end hung up unexpectedly":
|
||||
grep -E '^(fatal|warning):' <error | grep -v 'hung up' >actual | sort &&
|
||||
test_cmp expected actual
|
||||
test_i18ngrep -E '^(fatal|warning):' <error | grep -v 'hung up' >actual | sort &&
|
||||
test_i18ncmp expected actual
|
||||
}
|
||||
|
||||
test_expect_success 'setup' '
|
||||
|
@ -119,7 +119,7 @@ test_expect_success 'rejected update prints status' '
|
||||
git commit -m dev2 &&
|
||||
test_must_fail git push origin dev2 2>act &&
|
||||
sed -e "/^remote: /s/ *$//" <act >cmp &&
|
||||
test_cmp exp cmp
|
||||
test_i18ncmp exp cmp
|
||||
'
|
||||
rm -f "$HTTPD_DOCUMENT_ROOT_PATH/test_repo.git/hooks/update"
|
||||
|
||||
@ -219,7 +219,7 @@ test_expect_success TTY 'push shows progress when stderr is a tty' '
|
||||
cd "$ROOT_PATH"/test_repo_clone &&
|
||||
test_commit noisy &&
|
||||
test_terminal git push >output 2>&1 &&
|
||||
grep "^Writing objects" output
|
||||
test_i18ngrep "^Writing objects" output
|
||||
'
|
||||
|
||||
test_expect_success TTY 'push --quiet silences status and progress' '
|
||||
@ -233,16 +233,16 @@ test_expect_success TTY 'push --no-progress silences progress but not status' '
|
||||
cd "$ROOT_PATH"/test_repo_clone &&
|
||||
test_commit no-progress &&
|
||||
test_terminal git push --no-progress >output 2>&1 &&
|
||||
grep "^To http" output &&
|
||||
! grep "^Writing objects"
|
||||
test_i18ngrep "^To http" output &&
|
||||
test_i18ngrep ! "^Writing objects"
|
||||
'
|
||||
|
||||
test_expect_success 'push --progress shows progress to non-tty' '
|
||||
cd "$ROOT_PATH"/test_repo_clone &&
|
||||
test_commit progress &&
|
||||
git push --progress >output 2>&1 &&
|
||||
grep "^To http" output &&
|
||||
grep "^Writing objects" output
|
||||
test_i18ngrep "^To http" output &&
|
||||
test_i18ngrep "^Writing objects" output
|
||||
'
|
||||
|
||||
test_expect_success 'http push gives sane defaults to reflog' '
|
||||
|
@ -362,7 +362,7 @@ test_expect_success 'bisect starting with a detached HEAD' '
|
||||
test_expect_success 'bisect errors out if bad and good are mistaken' '
|
||||
git bisect reset &&
|
||||
test_must_fail git bisect start $HASH2 $HASH4 2> rev_list_error &&
|
||||
grep "mistook good and bad" rev_list_error &&
|
||||
test_i18ngrep "mistook good and bad" rev_list_error &&
|
||||
git bisect reset
|
||||
'
|
||||
|
||||
@ -404,7 +404,7 @@ test_expect_success 'side branch creation' '
|
||||
|
||||
test_expect_success 'good merge base when good and bad are siblings' '
|
||||
git bisect start "$HASH7" "$SIDE_HASH7" > my_bisect_log.txt &&
|
||||
grep "merge base must be tested" my_bisect_log.txt &&
|
||||
test_i18ngrep "merge base must be tested" my_bisect_log.txt &&
|
||||
grep $HASH4 my_bisect_log.txt &&
|
||||
git bisect good > my_bisect_log.txt &&
|
||||
test_must_fail grep "merge base must be tested" my_bisect_log.txt &&
|
||||
@ -413,7 +413,7 @@ test_expect_success 'good merge base when good and bad are siblings' '
|
||||
'
|
||||
test_expect_success 'skipped merge base when good and bad are siblings' '
|
||||
git bisect start "$SIDE_HASH7" "$HASH7" > my_bisect_log.txt &&
|
||||
grep "merge base must be tested" my_bisect_log.txt &&
|
||||
test_i18ngrep "merge base must be tested" my_bisect_log.txt &&
|
||||
grep $HASH4 my_bisect_log.txt &&
|
||||
git bisect skip > my_bisect_log.txt 2>&1 &&
|
||||
grep "warning" my_bisect_log.txt &&
|
||||
@ -423,11 +423,11 @@ test_expect_success 'skipped merge base when good and bad are siblings' '
|
||||
|
||||
test_expect_success 'bad merge base when good and bad are siblings' '
|
||||
git bisect start "$HASH7" HEAD > my_bisect_log.txt &&
|
||||
grep "merge base must be tested" my_bisect_log.txt &&
|
||||
test_i18ngrep "merge base must be tested" my_bisect_log.txt &&
|
||||
grep $HASH4 my_bisect_log.txt &&
|
||||
test_must_fail git bisect bad > my_bisect_log.txt 2>&1 &&
|
||||
grep "merge base $HASH4 is bad" my_bisect_log.txt &&
|
||||
grep "fixed between $HASH4 and \[$SIDE_HASH7\]" my_bisect_log.txt &&
|
||||
test_i18ngrep "merge base $HASH4 is bad" my_bisect_log.txt &&
|
||||
test_i18ngrep "fixed between $HASH4 and \[$SIDE_HASH7\]" my_bisect_log.txt &&
|
||||
git bisect reset
|
||||
'
|
||||
|
||||
@ -460,9 +460,9 @@ test_expect_success 'many merge bases creation' '
|
||||
|
||||
test_expect_success 'good merge bases when good and bad are siblings' '
|
||||
git bisect start "$B_HASH" "$A_HASH" > my_bisect_log.txt &&
|
||||
grep "merge base must be tested" my_bisect_log.txt &&
|
||||
test_i18ngrep "merge base must be tested" my_bisect_log.txt &&
|
||||
git bisect good > my_bisect_log2.txt &&
|
||||
grep "merge base must be tested" my_bisect_log2.txt &&
|
||||
test_i18ngrep "merge base must be tested" my_bisect_log2.txt &&
|
||||
{
|
||||
{
|
||||
grep "$SIDE_HASH5" my_bisect_log.txt &&
|
||||
@ -477,14 +477,14 @@ test_expect_success 'good merge bases when good and bad are siblings' '
|
||||
|
||||
test_expect_success 'optimized merge base checks' '
|
||||
git bisect start "$HASH7" "$SIDE_HASH7" > my_bisect_log.txt &&
|
||||
grep "merge base must be tested" my_bisect_log.txt &&
|
||||
test_i18ngrep "merge base must be tested" my_bisect_log.txt &&
|
||||
grep "$HASH4" my_bisect_log.txt &&
|
||||
git bisect good > my_bisect_log2.txt &&
|
||||
test -f ".git/BISECT_ANCESTORS_OK" &&
|
||||
test "$HASH6" = $(git rev-parse --verify HEAD) &&
|
||||
git bisect bad > my_bisect_log3.txt &&
|
||||
git bisect good "$A_HASH" > my_bisect_log4.txt &&
|
||||
grep "merge base must be tested" my_bisect_log4.txt &&
|
||||
test_i18ngrep "merge base must be tested" my_bisect_log4.txt &&
|
||||
test_must_fail test -f ".git/BISECT_ANCESTORS_OK"
|
||||
'
|
||||
|
||||
@ -562,7 +562,7 @@ test_expect_success 'skipping away from skipped commit' '
|
||||
|
||||
test_expect_success 'erroring out when using bad path parameters' '
|
||||
test_must_fail git bisect start $PARA_HASH7 $HASH1 -- foobar 2> error.txt &&
|
||||
grep "bad path parameters" error.txt
|
||||
test_i18ngrep "bad path parameters" error.txt
|
||||
'
|
||||
|
||||
test_expect_success 'test bisection on bare repo - --no-checkout specified' '
|
||||
@ -803,7 +803,7 @@ test_expect_success 'bisect terms needs 0 or 1 argument' '
|
||||
test_must_fail git bisect terms 1 2 &&
|
||||
test_must_fail git bisect terms 2>actual &&
|
||||
echo "no terms defined" >expected &&
|
||||
test_cmp expected actual
|
||||
test_i18ncmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'bisect terms shows good/bad after start' '
|
||||
@ -875,7 +875,7 @@ test_expect_success 'bisect start --term-* does store terms' '
|
||||
Your current terms are two for the old state
|
||||
and one for the new state.
|
||||
EOF
|
||||
test_cmp expected actual &&
|
||||
test_i18ncmp expected actual &&
|
||||
git bisect terms --term-bad >actual &&
|
||||
echo one >expected &&
|
||||
test_cmp expected actual &&
|
||||
|
@ -20,8 +20,8 @@ test_expect_success 'Broken refs are reported correctly' '
|
||||
test_when_finished "rm -f .git/$r" &&
|
||||
echo "warning: ignoring broken ref $r" >broken-err &&
|
||||
git for-each-ref >out 2>err &&
|
||||
test_cmp full-list out &&
|
||||
test_cmp broken-err err
|
||||
test_i18ncmp full-list out &&
|
||||
test_i18ncmp broken-err err
|
||||
'
|
||||
|
||||
test_expect_success 'NULL_SHA1 refs are reported correctly' '
|
||||
@ -31,10 +31,10 @@ test_expect_success 'NULL_SHA1 refs are reported correctly' '
|
||||
echo "warning: ignoring broken ref $r" >zeros-err &&
|
||||
git for-each-ref >out 2>err &&
|
||||
test_cmp full-list out &&
|
||||
test_cmp zeros-err err &&
|
||||
test_i18ncmp zeros-err err &&
|
||||
git for-each-ref --format="%(objectname) %(refname)" >brief-out 2>brief-err &&
|
||||
test_cmp brief-list brief-out &&
|
||||
test_cmp zeros-err brief-err
|
||||
test_i18ncmp zeros-err brief-err
|
||||
'
|
||||
|
||||
test_expect_success 'Missing objects are reported correctly' '
|
||||
@ -43,7 +43,7 @@ test_expect_success 'Missing objects are reported correctly' '
|
||||
test_when_finished "rm -f .git/$r" &&
|
||||
echo "fatal: missing object $MISSING for $r" >missing-err &&
|
||||
test_must_fail git for-each-ref 2>err &&
|
||||
test_cmp missing-err err &&
|
||||
test_i18ncmp missing-err err &&
|
||||
(
|
||||
cat brief-list &&
|
||||
echo "$MISSING $r"
|
||||
|
@ -643,7 +643,7 @@ test_expect_success 'test ident field is working' '
|
||||
cp -R done dthree dtwo four three ../other_worktree &&
|
||||
GIT_WORK_TREE=../other_worktree git status 2>../err &&
|
||||
echo "warning: Untracked cache is disabled on this system or location." >../expect &&
|
||||
test_cmp ../expect ../err
|
||||
test_i18ncmp ../expect ../err
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -66,14 +66,14 @@ test_expect_success 'reset --hard message' '
|
||||
hex=$(git log -1 --format="%h") &&
|
||||
git reset --hard > .actual &&
|
||||
echo HEAD is now at $hex $(commit_msg) > .expected &&
|
||||
test_cmp .expected .actual
|
||||
test_i18ncmp .expected .actual
|
||||
'
|
||||
|
||||
test_expect_success 'reset --hard message (ISO8859-1 logoutputencoding)' '
|
||||
hex=$(git log -1 --format="%h") &&
|
||||
git -c "i18n.logOutputEncoding=$test_encoding" reset --hard > .actual &&
|
||||
echo HEAD is now at $hex $(commit_msg $test_encoding) > .expected &&
|
||||
test_cmp .expected .actual
|
||||
test_i18ncmp .expected .actual
|
||||
'
|
||||
|
||||
>.diff_expect
|
||||
|
@ -257,7 +257,7 @@ test_expect_success 'checkout to detach HEAD' '
|
||||
git checkout -f renamer && git clean -f &&
|
||||
git checkout renamer^ 2>messages &&
|
||||
test_i18ngrep "HEAD is now at 7329388" messages &&
|
||||
test_line_count -gt 1 messages &&
|
||||
(test_line_count -gt 1 messages || test -n "$GETTEXT_POISON") &&
|
||||
H=$(git rev-parse --verify HEAD) &&
|
||||
M=$(git show-ref -s --verify refs/heads/master) &&
|
||||
test "z$H" = "z$M" &&
|
||||
|
@ -942,7 +942,7 @@ test_expect_success 'submodule deinit from subdirectory' '
|
||||
cd sub &&
|
||||
git submodule deinit ../init >../output
|
||||
) &&
|
||||
grep "\\.\\./init" output &&
|
||||
test_i18ngrep "\\.\\./init" output &&
|
||||
test -z "$(git config --get-regexp "submodule\.example\.")" &&
|
||||
test -n "$(git config --get-regexp "submodule\.example2\.")" &&
|
||||
test -f example2/.git &&
|
||||
|
@ -157,7 +157,7 @@ test_expect_success '"git submodule sync" should update submodule URLs - subdire
|
||||
cd sub &&
|
||||
git submodule sync >../../output
|
||||
) &&
|
||||
grep "\\.\\./submodule" output &&
|
||||
test_i18ngrep "\\.\\./submodule" output &&
|
||||
test -d "$(
|
||||
cd super-clone/submodule &&
|
||||
git config remote.origin.url
|
||||
@ -188,7 +188,7 @@ test_expect_success '"git submodule sync --recursive" should update all submodul
|
||||
cd sub &&
|
||||
git submodule sync --recursive >../../output
|
||||
) &&
|
||||
grep "\\.\\./submodule/sub-submodule" output &&
|
||||
test_i18ngrep "\\.\\./submodule/sub-submodule" output &&
|
||||
test -d "$(
|
||||
cd super-clone/submodule &&
|
||||
git config remote.origin.url
|
||||
|
@ -136,8 +136,8 @@ test_expect_success 'submodule update --init --recursive from subdirectory' '
|
||||
cd tmp &&
|
||||
git submodule update --init --recursive ../super >../../actual 2>../../actual2
|
||||
) &&
|
||||
test_cmp expect actual &&
|
||||
test_cmp expect2 actual2
|
||||
test_i18ncmp expect actual &&
|
||||
test_i18ncmp expect2 actual2
|
||||
'
|
||||
|
||||
apos="'";
|
||||
@ -370,7 +370,7 @@ test_expect_success 'submodule update - command in .git/config catches failure'
|
||||
(cd super &&
|
||||
test_must_fail git submodule update submodule 2>../actual
|
||||
) &&
|
||||
test_cmp actual expect
|
||||
test_i18ncmp actual expect
|
||||
'
|
||||
|
||||
cat << EOF >expect
|
||||
@ -388,7 +388,7 @@ test_expect_success 'submodule update - command in .git/config catches failure -
|
||||
mkdir tmp && cd tmp &&
|
||||
test_must_fail git submodule update ../submodule 2>../../actual
|
||||
) &&
|
||||
test_cmp actual expect
|
||||
test_i18ncmp actual expect
|
||||
'
|
||||
|
||||
cat << EOF >expect
|
||||
@ -408,7 +408,7 @@ test_expect_success 'recursive submodule update - command in .git/config catches
|
||||
mkdir -p tmp && cd tmp &&
|
||||
test_must_fail git submodule update --recursive ../super 2>../../actual
|
||||
) &&
|
||||
test_cmp actual expect
|
||||
test_i18ncmp actual expect
|
||||
'
|
||||
|
||||
test_expect_success 'submodule init does not copy command into .git/config' '
|
||||
|
@ -1377,7 +1377,7 @@ EOF
|
||||
git config --add -f .gitmodules submodule.subname.ignore all &&
|
||||
git config --add -f .gitmodules submodule.subname.path sm &&
|
||||
git status > output &&
|
||||
test_cmp expect output &&
|
||||
test_i18ncmp expect output &&
|
||||
git config -f .gitmodules --remove-section submodule.subname
|
||||
'
|
||||
|
||||
@ -1387,7 +1387,7 @@ test_expect_success '.git/config ignore=all suppresses unstaged submodule summar
|
||||
git config --add submodule.subname.ignore all &&
|
||||
git config --add submodule.subname.path sm &&
|
||||
git status > output &&
|
||||
test_cmp expect output &&
|
||||
test_i18ncmp expect output &&
|
||||
git config --remove-section submodule.subname &&
|
||||
git config -f .gitmodules --remove-section submodule.subname
|
||||
'
|
||||
|
@ -125,7 +125,7 @@ test_expect_success 'will not overwrite untracked file in leading path' '
|
||||
cp important sub &&
|
||||
cp important sub2 &&
|
||||
test_must_fail git merge sub 2>out &&
|
||||
test_cmp out expect &&
|
||||
test_i18ncmp out expect &&
|
||||
test_path_is_missing .git/MERGE_HEAD &&
|
||||
test_cmp important sub &&
|
||||
test_cmp important sub2 &&
|
||||
|
@ -31,10 +31,10 @@ test_expect_success 'autocorrect showing candidates' '
|
||||
git config help.autocorrect 0 &&
|
||||
|
||||
test_must_fail git lfg 2>actual &&
|
||||
sed -e "1,/^Did you mean this/d" actual | grep lgf &&
|
||||
grep "^ lgf" actual &&
|
||||
|
||||
test_must_fail git distimdist 2>actual &&
|
||||
sed -e "1,/^Did you mean this/d" actual | grep distimdistim
|
||||
grep "^ distimdistim" actual
|
||||
'
|
||||
|
||||
test_expect_success 'autocorrect running commands' '
|
||||
|
@ -1038,7 +1038,7 @@ static struct ref *get_refs_list(struct transport *transport, int for_push)
|
||||
(*tail)->status |= REF_STATUS_UPTODATE;
|
||||
if (read_ref((*tail)->name,
|
||||
(*tail)->old_oid.hash) < 0)
|
||||
die(N_("Could not read ref %s"),
|
||||
die(_("Could not read ref %s"),
|
||||
(*tail)->name);
|
||||
}
|
||||
}
|
||||
|
20
transport.c
20
transport.c
@ -59,7 +59,7 @@ static void set_upstreams(struct transport *transport, struct ref *refs,
|
||||
localname + 11, transport->remote->name,
|
||||
remotename);
|
||||
else
|
||||
printf("Would set upstream of '%s' to '%s' of '%s'\n",
|
||||
printf(_("Would set upstream of '%s' to '%s' of '%s'\n"),
|
||||
localname + 11, remotename + 11,
|
||||
transport->remote->name);
|
||||
}
|
||||
@ -148,7 +148,7 @@ static int set_git_option(struct git_transport_options *opts,
|
||||
char *end;
|
||||
opts->depth = strtol(value, &end, 0);
|
||||
if (*end)
|
||||
die("transport: invalid depth option '%s'", value);
|
||||
die(_("transport: invalid depth option '%s'"), value);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -767,19 +767,19 @@ static void die_with_unpushed_submodules(struct string_list *needs_pushing)
|
||||
{
|
||||
int i;
|
||||
|
||||
fprintf(stderr, "The following submodule paths contain changes that can\n"
|
||||
"not be found on any remote:\n");
|
||||
fprintf(stderr, _("The following submodule paths contain changes that can\n"
|
||||
"not be found on any remote:\n"));
|
||||
for (i = 0; i < needs_pushing->nr; i++)
|
||||
printf(" %s\n", needs_pushing->items[i].string);
|
||||
fprintf(stderr, "\nPlease try\n\n"
|
||||
" git push --recurse-submodules=on-demand\n\n"
|
||||
"or cd to the path and use\n\n"
|
||||
" git push\n\n"
|
||||
"to push them to a remote.\n\n");
|
||||
fprintf(stderr, _("\nPlease try\n\n"
|
||||
" git push --recurse-submodules=on-demand\n\n"
|
||||
"or cd to the path and use\n\n"
|
||||
" git push\n\n"
|
||||
"to push them to a remote.\n\n"));
|
||||
|
||||
string_list_clear(needs_pushing, 0);
|
||||
|
||||
die("Aborting.");
|
||||
die(_("Aborting."));
|
||||
}
|
||||
|
||||
static int run_pre_push_hook(struct transport *transport,
|
||||
|
@ -263,7 +263,7 @@ static const char *wt_status_unmerged_status_string(int stagemask)
|
||||
case 7:
|
||||
return _("both modified:");
|
||||
default:
|
||||
die(_("bug: unhandled unmerged status %x"), stagemask);
|
||||
die("bug: unhandled unmerged status %x", stagemask);
|
||||
}
|
||||
}
|
||||
|
||||
@ -388,7 +388,7 @@ static void wt_status_print_change_data(struct wt_status *s,
|
||||
status_printf(s, color(WT_STATUS_HEADER, s), "\t");
|
||||
what = wt_status_diff_status_string(status);
|
||||
if (!what)
|
||||
die(_("bug: unhandled diff status %c"), status);
|
||||
die("bug: unhandled diff status %c", status);
|
||||
len = label_width - utf8_strwidth(what);
|
||||
assert(len >= 0);
|
||||
if (status == DIFF_STATUS_COPIED || status == DIFF_STATUS_RENAMED)
|
||||
|
Loading…
Reference in New Issue
Block a user