From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Jakub Narebski" <jnareb@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v4 40/73] gettextize: git-merge basic messages
Date: Tue, 22 Feb 2011 23:41:59 +0000 [thread overview]
Message-ID: <1298418152-27789-41-git-send-email-avarab@gmail.com> (raw)
In-Reply-To: <7vhbbwdjnm.fsf@alter.siamese.dyndns.org>
In-Reply-To: <7vhbbwdjnm.fsf@alter.siamese.dyndns.org>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
builtin/merge.c | 124 ++++++++++++++++++++++----------------------
t/t7607-merge-overwrite.sh | 10 +++-
t/t7611-merge-abort.sh | 20 ++++++--
3 files changed, 86 insertions(+), 68 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index 8c58c3c..0be4dfa 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -80,7 +80,7 @@ static int option_parse_message(const struct option *opt,
strbuf_addf(buf, "%s%s", buf->len ? "\n\n" : "", arg);
have_message = 1;
} else
- return error("switch `m' requires a value");
+ return error(_("switch `m' requires a value"));
return 0;
}
@@ -117,13 +117,13 @@ static struct strategy *get_strategy(const char *name)
exclude_cmds(&main_cmds, ¬_strategies);
}
if (!is_in_cmdlist(&main_cmds, name) && !is_in_cmdlist(&other_cmds, name)) {
- fprintf(stderr, "Could not find merge strategy '%s'.\n", name);
- fprintf(stderr, "Available strategies are:");
+ fprintf(stderr, _("Could not find merge strategy '%s'.\n"), name);
+ fprintf(stderr, _("Available strategies are:"));
for (i = 0; i < main_cmds.cnt; i++)
fprintf(stderr, " %s", main_cmds.names[i]->name);
fprintf(stderr, ".\n");
if (other_cmds.cnt) {
- fprintf(stderr, "Available custom strategies are:");
+ fprintf(stderr, _("Available custom strategies are:"));
for (i = 0; i < other_cmds.cnt; i++)
fprintf(stderr, " %s", other_cmds.names[i]->name);
fprintf(stderr, ".\n");
@@ -224,17 +224,17 @@ static void save_state(void)
cp.git_cmd = 1;
if (start_command(&cp))
- die("could not run stash.");
+ die(_("could not run stash."));
len = strbuf_read(&buffer, cp.out, 1024);
close(cp.out);
if (finish_command(&cp) || len < 0)
- die("stash failed");
+ die(_("stash failed"));
else if (!len)
return;
strbuf_setlen(&buffer, buffer.len-1);
if (get_sha1(buffer.buf, stash))
- die("not a valid object: %s", buffer.buf);
+ die(_("not a valid object: %s"), buffer.buf);
}
static void read_empty(unsigned const char *sha1, int verbose)
@@ -252,7 +252,7 @@ static void read_empty(unsigned const char *sha1, int verbose)
args[i] = NULL;
if (run_command_v_opt(args, RUN_GIT_CMD))
- die("read-tree failed");
+ die(_("read-tree failed"));
}
static void reset_hard(unsigned const char *sha1, int verbose)
@@ -269,7 +269,7 @@ static void reset_hard(unsigned const char *sha1, int verbose)
args[i] = NULL;
if (run_command_v_opt(args, RUN_GIT_CMD))
- die("read-tree failed");
+ die(_("read-tree failed"));
}
static void restore_state(void)
@@ -298,7 +298,7 @@ static void restore_state(void)
static void finish_up_to_date(const char *msg)
{
if (verbosity >= 0)
- printf("%s%s\n", squash ? " (nothing to squash)" : "", msg);
+ printf("%s%s\n", squash ? _(" (nothing to squash)") : "", msg);
drop_save();
}
@@ -311,10 +311,10 @@ static void squash_message(void)
int fd;
struct pretty_print_context ctx = {0};
- printf("Squash commit -- not updating HEAD\n");
+ printf(_("Squash commit -- not updating HEAD\n"));
fd = open(git_path("SQUASH_MSG"), O_WRONLY | O_CREAT, 0666);
if (fd < 0)
- die_errno("Could not write to '%s'", git_path("SQUASH_MSG"));
+ die_errno(_("Could not write to '%s'"), git_path("SQUASH_MSG"));
init_revisions(&rev, NULL);
rev.ignore_merges = 1;
@@ -329,7 +329,7 @@ static void squash_message(void)
setup_revisions(0, NULL, &rev, NULL);
if (prepare_revision_walk(&rev))
- die("revision walk setup failed");
+ die(_("revision walk setup failed"));
ctx.abbrev = rev.abbrev;
ctx.date_mode = rev.date_mode;
@@ -342,9 +342,9 @@ static void squash_message(void)
pretty_print_commit(rev.commit_format, commit, &out, &ctx);
}
if (write(fd, out.buf, out.len) < 0)
- die_errno("Writing SQUASH_MSG");
+ die_errno(_("Writing SQUASH_MSG"));
if (close(fd))
- die_errno("Finishing SQUASH_MSG");
+ die_errno(_("Finishing SQUASH_MSG"));
strbuf_release(&out);
}
@@ -364,7 +364,7 @@ static void finish(const unsigned char *new_head, const char *msg)
squash_message();
} else {
if (verbosity >= 0 && !merge_msg.len)
- printf("No merge message -- not updating HEAD\n");
+ printf(_("No merge message -- not updating HEAD\n"));
else {
const char *argv_gc_auto[] = { "gc", "--auto", NULL };
update_ref(reflog_message.buf, "HEAD",
@@ -386,7 +386,7 @@ static void finish(const unsigned char *new_head, const char *msg)
if (diff_use_color_default > 0)
DIFF_OPT_SET(&opts, COLOR_DIFF);
if (diff_setup_done(&opts) < 0)
- die("diff_setup_done failed");
+ die(_("diff_setup_done failed"));
diff_tree_sha1(head, new_head, "", &opts);
diffcore_std(&opts);
diff_flush(&opts);
@@ -415,7 +415,7 @@ static void merge_name(const char *remote, struct strbuf *msg)
memset(branch_head, 0, sizeof(branch_head));
remote_head = peel_to_type(remote, 0, NULL, OBJ_COMMIT);
if (!remote_head)
- die("'%s' does not point to a commit", remote);
+ die(_("'%s' does not point to a commit"), remote);
if (dwim_ref(remote, strlen(remote), branch_head, &found_ref) > 0) {
if (!prefixcmp(found_ref, "refs/heads/")) {
@@ -480,7 +480,7 @@ static void merge_name(const char *remote, struct strbuf *msg)
fp = fopen(git_path("FETCH_HEAD"), "r");
if (!fp)
- die_errno("could not open '%s' for reading",
+ die_errno(_("could not open '%s' for reading"),
git_path("FETCH_HEAD"));
strbuf_getline(&line, fp, '\n');
fclose(fp);
@@ -510,7 +510,7 @@ static int git_merge_config(const char *k, const char *v, void *cb)
buf = xstrdup(v);
argc = split_cmdline(buf, &argv);
if (argc < 0)
- die("Bad branch.%s.mergeoptions string: %s", branch,
+ die(_("Bad branch.%s.mergeoptions string: %s"), branch,
split_cmdline_strerror(argc));
argv = xrealloc(argv, sizeof(*argv) * (argc + 2));
memmove(argv + 1, argv, sizeof(*argv) * (argc + 1));
@@ -532,7 +532,7 @@ static int git_merge_config(const char *k, const char *v, void *cb)
int is_bool;
shortlog_len = git_config_bool_or_int(k, v, &is_bool);
if (!is_bool && shortlog_len < 0)
- return error("%s: negative length %s", k, v);
+ return error(_("%s: negative length %s"), k, v);
if (is_bool && shortlog_len)
shortlog_len = DEFAULT_MERGE_LOG_LEN;
return 0;
@@ -579,7 +579,7 @@ static int read_tree_trivial(unsigned char *common, unsigned char *head,
static void write_tree_trivial(unsigned char *sha1)
{
if (write_cache_as_tree(sha1, 0, NULL))
- die("git write-tree failed to write a tree");
+ die(_("git write-tree failed to write a tree"));
}
int try_merge_command(const char *strategy, size_t xopts_nr,
@@ -621,7 +621,7 @@ int try_merge_command(const char *strategy, size_t xopts_nr,
free(args);
discard_cache();
if (read_cache() < 0)
- die("failed to read the cache");
+ die(_("failed to read the cache"));
resolve_undo_clear();
return ret;
@@ -638,7 +638,7 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
if (active_cache_changed &&
(write_cache(index_fd, active_cache, active_nr) ||
commit_locked_index(lock)))
- return error("Unable to write index.");
+ return error(_("Unable to write index."));
rollback_lock_file(lock);
if (!strcmp(strategy, "recursive") || !strcmp(strategy, "subtree")) {
@@ -651,7 +651,7 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
struct commit_list *j;
if (remoteheads->next) {
- error("Not handling anything other than two heads merge.");
+ error(_("Not handling anything other than two heads merge."));
return 2;
}
@@ -663,7 +663,7 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
for (x = 0; x < xopts_nr; x++)
if (parse_merge_opt(&o, xopts[x]))
- die("Unknown option for merge-recursive: -X%s", xopts[x]);
+ die(_("Unknown option for merge-recursive: -X%s"), xopts[x]);
o.branch1 = head_arg;
o.branch2 = remoteheads->item->util;
@@ -677,7 +677,7 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
if (active_cache_changed &&
(write_cache(index_fd, active_cache, active_nr) ||
commit_locked_index(lock)))
- die ("unable to write %s", get_index_file());
+ die (_("unable to write %s"), get_index_file());
rollback_lock_file(lock);
return clean ? 0 : 1;
} else {
@@ -749,7 +749,7 @@ int checkout_fast_forward(const unsigned char *head, const unsigned char *remote
return -1;
if (write_cache(fd, active_cache, active_nr) ||
commit_locked_index(lock_file))
- die("unable to write new index file");
+ die(_("unable to write new index file"));
return 0;
}
@@ -852,7 +852,7 @@ static int suggest_conflicts(int renormalizing)
fp = fopen(git_path("MERGE_MSG"), "a");
if (!fp)
- die_errno("Could not open '%s' for writing",
+ die_errno(_("Could not open '%s' for writing"),
git_path("MERGE_MSG"));
fprintf(fp, "\nConflicts:\n");
for (pos = 0; pos < active_nr; pos++) {
@@ -868,8 +868,8 @@ static int suggest_conflicts(int renormalizing)
}
fclose(fp);
rerere(allow_rerere_auto);
- printf("Automatic merge failed; "
- "fix conflicts and then commit the result.\n");
+ printf(_("Automatic merge failed; "
+ "fix conflicts and then commit the result.\n"));
return 1;
}
@@ -883,7 +883,7 @@ static struct commit *is_old_style_invocation(int argc, const char **argv)
return NULL;
second_token = lookup_commit_reference_gently(second_sha1, 0);
if (!second_token)
- die("'%s' is not a commit", argv[1]);
+ die(_("'%s' is not a commit"), argv[1]);
if (hashcmp(second_token->object.sha1, head))
return NULL;
}
@@ -951,7 +951,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
const char *nargv[] = {"reset", "--merge", NULL};
if (!file_exists(git_path("MERGE_HEAD")))
- die("There is no merge to abort (MERGE_HEAD missing).");
+ die(_("There is no merge to abort (MERGE_HEAD missing)."));
/* Invoke 'git reset --merge' */
return cmd_reset(nargc, nargv, prefix);
@@ -966,10 +966,10 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
* add/rm <file>', just 'git commit'.
*/
if (advice_resolve_conflict)
- die("You have not concluded your merge (MERGE_HEAD exists).\n"
- "Please, commit your changes before you can merge.");
+ die(_("You have not concluded your merge (MERGE_HEAD exists).\n"
+ "Please, commit your changes before you can merge."));
else
- die("You have not concluded your merge (MERGE_HEAD exists).");
+ die(_("You have not concluded your merge (MERGE_HEAD exists)."));
}
resolve_undo_clear();
@@ -978,12 +978,12 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
if (squash) {
if (!allow_fast_forward)
- die("You cannot combine --squash with --no-ff.");
+ die(_("You cannot combine --squash with --no-ff."));
option_commit = 0;
}
if (!allow_fast_forward && fast_forward_only)
- die("You cannot combine --no-ff with --ff-only.");
+ die(_("You cannot combine --no-ff with --ff-only."));
if (!argc)
usage_with_options(builtin_merge_usage,
@@ -1011,16 +1011,16 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
* We do the same for "git pull".
*/
if (argc != 1)
- die("Can merge only exactly one commit into "
- "empty head");
+ die(_("Can merge only exactly one commit into "
+ "empty head"));
if (squash)
- die("Squash commit into empty head not supported yet");
+ die(_("Squash commit into empty head not supported yet"));
if (!allow_fast_forward)
- die("Non-fast-forward commit does not make sense into "
- "an empty head");
+ die(_("Non-fast-forward commit does not make sense into "
+ "an empty head"));
remote_head = peel_to_type(argv[0], 0, NULL, OBJ_COMMIT);
if (!remote_head)
- die("%s - not something we can merge", argv[0]);
+ die(_("%s - not something we can merge"), argv[0]);
update_ref("initial pull", "HEAD", remote_head->sha1, NULL, 0,
DIE_ON_ERR);
read_empty(remote_head->sha1, 0);
@@ -1066,7 +1066,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
o = peel_to_type(argv[i], 0, NULL, OBJ_COMMIT);
if (!o)
- die("%s - not something we can merge", argv[i]);
+ die(_("%s - not something we can merge"), argv[i]);
commit = lookup_commit(o->sha1);
commit->util = (void *)argv[i];
remotes = &commit_list_insert(commit, remotes)->next;
@@ -1158,11 +1158,11 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
if (allow_trivial && !fast_forward_only) {
/* See if it is really trivial. */
git_committer_info(IDENT_ERROR_ON_NO_NAME);
- printf("Trying really trivial in-index merge...\n");
+ printf(_("Trying really trivial in-index merge...\n"));
if (!read_tree_trivial(common->item->object.sha1,
head, remoteheads->item->object.sha1))
return merge_trivial();
- printf("Nope.\n");
+ printf(_("Nope.\n"));
}
} else {
/*
@@ -1195,7 +1195,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
}
if (fast_forward_only)
- die("Not possible to fast-forward, aborting.");
+ die(_("Not possible to fast-forward, aborting."));
/* We are going to make a new commit. */
git_committer_info(IDENT_ERROR_ON_NO_NAME);
@@ -1221,11 +1221,11 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
for (i = 0; i < use_strategies_nr; i++) {
int ret;
if (i) {
- printf("Rewinding the tree to pristine...\n");
+ printf(_("Rewinding the tree to pristine...\n"));
restore_state();
}
if (use_strategies_nr != 1)
- printf("Trying merge strategy %s...\n",
+ printf(_("Trying merge strategy %s...\n"),
use_strategies[i]->name);
/*
* Remember which strategy left the state in the working
@@ -1286,17 +1286,17 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
restore_state();
if (use_strategies_nr > 1)
fprintf(stderr,
- "No merge strategy handled the merge.\n");
+ _("No merge strategy handled the merge.\n"));
else
- fprintf(stderr, "Merge with strategy %s failed.\n",
+ fprintf(stderr, _("Merge with strategy %s failed.\n"),
use_strategies[0]->name);
return 2;
} else if (best_strategy == wt_strategy)
; /* We already have its result in the working tree. */
else {
- printf("Rewinding the tree to pristine...\n");
+ printf(_("Rewinding the tree to pristine...\n"));
restore_state();
- printf("Using the %s to prepare resolving by hand.\n",
+ printf(_("Using the %s to prepare resolving by hand.\n"),
best_strategy);
try_merge_strategy(best_strategy, common, head_arg);
}
@@ -1312,35 +1312,35 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
sha1_to_hex(j->item->object.sha1));
fd = open(git_path("MERGE_HEAD"), O_WRONLY | O_CREAT, 0666);
if (fd < 0)
- die_errno("Could not open '%s' for writing",
+ die_errno(_("Could not open '%s' for writing"),
git_path("MERGE_HEAD"));
if (write_in_full(fd, buf.buf, buf.len) != buf.len)
- die_errno("Could not write to '%s'", git_path("MERGE_HEAD"));
+ die_errno(_("Could not write to '%s'"), git_path("MERGE_HEAD"));
close(fd);
strbuf_addch(&merge_msg, '\n');
fd = open(git_path("MERGE_MSG"), O_WRONLY | O_CREAT, 0666);
if (fd < 0)
- die_errno("Could not open '%s' for writing",
+ die_errno(_("Could not open '%s' for writing"),
git_path("MERGE_MSG"));
if (write_in_full(fd, merge_msg.buf, merge_msg.len) !=
merge_msg.len)
- die_errno("Could not write to '%s'", git_path("MERGE_MSG"));
+ die_errno(_("Could not write to '%s'"), git_path("MERGE_MSG"));
close(fd);
fd = open(git_path("MERGE_MODE"), O_WRONLY | O_CREAT | O_TRUNC, 0666);
if (fd < 0)
- die_errno("Could not open '%s' for writing",
+ die_errno(_("Could not open '%s' for writing"),
git_path("MERGE_MODE"));
strbuf_reset(&buf);
if (!allow_fast_forward)
strbuf_addf(&buf, "no-ff");
if (write_in_full(fd, buf.buf, buf.len) != buf.len)
- die_errno("Could not write to '%s'", git_path("MERGE_MODE"));
+ die_errno(_("Could not write to '%s'"), git_path("MERGE_MODE"));
close(fd);
}
if (merge_was_ok) {
- fprintf(stderr, "Automatic merge went well; "
- "stopped before committing as requested\n");
+ fprintf(stderr, _("Automatic merge went well; "
+ "stopped before committing as requested\n"));
return 0;
} else
return suggest_conflicts(option_renormalize);
diff --git a/t/t7607-merge-overwrite.sh b/t/t7607-merge-overwrite.sh
index 5f731a1..0a9b90b 100755
--- a/t/t7607-merge-overwrite.sh
+++ b/t/t7607-merge-overwrite.sh
@@ -150,8 +150,14 @@ test_expect_success 'will not overwrite untracked file on unborn branch' '
git rm -fr . &&
git checkout --orphan new &&
cp important c0.c &&
- test_must_fail git merge c0 2>out &&
- test_cmp out expect &&
+ test_must_fail git merge c0 2>out
+'
+
+test_expect_success C_LOCALE_OUTPUT 'will not overwrite untracked file on unborn branch: output' '
+ test_cmp out expect
+'
+
+test_expect_success 'will not overwrite untracked file on unborn branch .git/MERGE_HEAD sanity etc.' '
test_path_is_missing .git/MERGE_HEAD &&
test_cmp important c0.c
'
diff --git a/t/t7611-merge-abort.sh b/t/t7611-merge-abort.sh
index 61890bc..cdb3f44 100755
--- a/t/t7611-merge-abort.sh
+++ b/t/t7611-merge-abort.sh
@@ -46,8 +46,14 @@ test_expect_success 'setup' '
pre_merge_head="$(git rev-parse HEAD)"
test_expect_success 'fails without MERGE_HEAD (unstarted merge)' '
- test_must_fail git merge --abort 2>output &&
- grep -q MERGE_HEAD output &&
+ test_must_fail git merge --abort 2>output
+'
+
+test_expect_success C_LOCALE_OUTPUT 'fails without MERGE_HEAD (unstarted merge): fatal output' '
+ grep -q MERGE_HEAD output
+'
+
+test_expect_success 'fails without MERGE_HEAD (unstarted merge): .git/MERGE_HEAD sanity' '
test ! -f .git/MERGE_HEAD &&
test "$pre_merge_head" = "$(git rev-parse HEAD)"
'
@@ -57,8 +63,14 @@ test_expect_success 'fails without MERGE_HEAD (completed merge)' '
test ! -f .git/MERGE_HEAD &&
# Merge successfully completed
post_merge_head="$(git rev-parse HEAD)" &&
- test_must_fail git merge --abort 2>output &&
- grep -q MERGE_HEAD output &&
+ test_must_fail git merge --abort 2>output
+'
+
+test_expect_success C_LOCALE_OUTPUT 'fails without MERGE_HEAD (completed merge): output' '
+ grep -q MERGE_HEAD output
+'
+
+test_expect_success 'fails without MERGE_HEAD (completed merge): .git/MERGE_HEAD sanity' '
test ! -f .git/MERGE_HEAD &&
test "$post_merge_head" = "$(git rev-parse HEAD)"
'
--
1.7.2.3
next prev parent reply other threads:[~2011-02-22 23:44 UTC|newest]
Thread overview: 222+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-19 19:23 [PATCH 00/72] No-op C gettext wrappers Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 01/72] gettext.h: add no-op _() and N_() wrappers Ævar Arnfjörð Bjarmason
2011-02-20 2:01 ` Jonathan Nieder
2011-02-20 10:13 ` Erik Faye-Lund
2011-02-20 10:34 ` Jonathan Nieder
2011-02-20 21:11 ` Ævar Arnfjörð Bjarmason
2011-02-20 22:03 ` Jonathan Nieder
2011-02-19 19:23 ` [PATCH 02/72] cache.h: include gettext.h Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 03/72] t/test-lib.sh: add always-set NO_GETTEXT_POISON prerequisite Ævar Arnfjörð Bjarmason
2011-02-20 2:10 ` Jonathan Nieder
2011-02-20 12:42 ` Ævar Arnfjörð Bjarmason
2011-02-20 21:55 ` Jonathan Nieder
2011-02-20 22:05 ` Ævar Arnfjörð Bjarmason
2011-02-20 22:10 ` Jonathan Nieder
2011-02-20 22:31 ` Ævar Arnfjörð Bjarmason
2011-02-20 22:36 ` Jonathan Nieder
2011-02-21 6:56 ` Junio C Hamano
2011-02-19 19:23 ` [PATCH 04/72] gettextize: git-init basic messages Ævar Arnfjörð Bjarmason
2011-02-20 2:21 ` Jonathan Nieder
2011-02-19 19:23 ` [PATCH 05/72] gettextize: git-init "Initialized [...] repository" message Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 06/72] gettextize: git-clone basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 07/72] gettextize: git-clone "Cloning into" message Ævar Arnfjörð Bjarmason
2011-02-21 9:19 ` Jonathan Nieder
2011-02-19 19:23 ` [PATCH 08/72] gettextize: git-add basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 09/72] gettextize: git-add "no files added" message Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 10/72] gettextize: git-add "Use -f if you really want" message Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 11/72] gettextize: git-add "pathspec [...] did not match" message Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 12/72] gettextize: git-add "remove '%s'" message Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 13/72] gettextize: git-add refresh_index message Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 14/72] gettextize: git-branch basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 15/72] gettextize: git-branch "remote branch '%s' not found" message Ævar Arnfjörð Bjarmason
2011-02-19 19:23 ` [PATCH 16/72] gettextize: git-branch "Deleted branch [...]" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 17/72] gettextize: git-branch "git branch -v" messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 18/72] gettextize: git-branch "(no branch)" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 19/72] gettextize: git-checkout basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 20/72] gettextize: git-checkout: our/their version message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 21/72] gettextize: git-checkout describe_detached_head messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 22/72] gettextize: git-checkout "HEAD is now at" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 23/72] gettextize: git-checkout "Switched to a .. branch" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 24/72] gettextize: git-commit basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 25/72] gettextize: git-commit "middle of a merge" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 26/72] gettextize: git-commit formatting messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 27/72] gettextize: git-commit print_summary messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 28/72] gettextize: git-commit "enter the commit message" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 29/72] gettextize: git-commit advice messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 30/72] gettextize: git-diff basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 31/72] gettextize: git-fetch " Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 32/72] gettextize: git-fetch formatting messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 33/72] gettextize: git-fetch update_local_ref messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 34/72] gettextize: git-fetch split up "(non-fast-forward)" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 35/72] gettextize: git-grep basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 36/72] gettextize: git-grep "--open-files-in-pager" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 37/72] gettextize: git-log basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 38/72] gettextize: git-log "--OPT does not make sense" messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 39/72] gettextize: git-merge basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 40/72] gettextize: git-merge "Updating %s..%s" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 41/72] gettextize: git-merge "You have not concluded your merge" messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 42/72] gettextize: git-merge "Wonderful" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 43/72] gettextize: git-mv basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 44/72] gettextize: git-mv "bad" messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 45/72] gettextize: git-rm basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 46/72] gettextize: git-reset " Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 47/72] gettextize: git-reset reset_type_names messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 48/72] gettextize: git-reset "Unstaged changes after reset" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 49/72] gettextize: git-tag basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 50/72] gettextize: git-tag tag_template message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 51/72] gettextize: git-push basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 52/72] gettextize: git-push "prevent you from losing" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 53/72] gettextize: git-status basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 54/72] gettextize: git-status "nothing to commit" messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 55/72] gettextize: git-status shortstatus messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 56/72] gettextize: git-status "Changes to be committed" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 57/72] gettextize: git-status "Initial commit" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 58/72] gettextize: git-status "renamed: " message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 59/72] gettextize: git-archive basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 60/72] gettextize: git-bundle " Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 61/72] gettextize: git-clean " Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 62/72] gettextize: git-clean clean.requireForce messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 63/72] gettextize: git-describe basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 64/72] gettextize: git-gc " Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 65/72] gettextize: git-gc "Auto packing the repository" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 66/72] gettextize: git-notes basic commands Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 67/72] gettextize: git-notes GIT_NOTES_REWRITE_MODE error message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 68/72] gettextize: git-revert basic messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 69/72] gettextize: git-revert "Your local changes" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 70/72] gettextize: git-revert literal "me" messages Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 71/72] gettextize: git-revert split up "could not revert/apply" message Ævar Arnfjörð Bjarmason
2011-02-19 19:24 ` [PATCH 72/72] gettextize: git-shortlog basic messages Ævar Arnfjörð Bjarmason
2011-02-21 4:00 ` [PATCH v2 0/3] No-op C gettext wrappers Jonathan Nieder
2011-02-21 4:02 ` [PATCH 1/3] i18n: add no-op _() and N_() wrappers Jonathan Nieder
2011-02-21 4:03 ` [PATCH 2/3] tests: add GETTEXT_POISON to simulate unfriendly translator Jonathan Nieder
2011-02-21 4:05 ` [PATCH 3/3] tests: let GETTEXT_POISON be disabled at run time Jonathan Nieder
2011-02-21 10:12 ` [PATCH v3 00/15] Mark "init", "clone", and "add" output for translation Jonathan Nieder
2011-02-21 10:13 ` [PATCH 01/15] i18n: add no-op _() and N_() wrappers Jonathan Nieder
2011-02-21 10:13 ` [PATCH 02/15] tests: add GETTEXT_POISON to simulate unfriendly translator Jonathan Nieder
2011-02-21 12:41 ` Ævar Arnfjörð Bjarmason
2011-02-21 12:58 ` Jonathan Nieder
2011-02-21 10:14 ` [PATCH 03/15] i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set Jonathan Nieder
2011-02-21 10:15 ` [PATCH 04/15] Makefile: "pot" target to extract messages marked for translation Jonathan Nieder
2011-02-21 12:35 ` Ævar Arnfjörð Bjarmason
2011-02-21 13:05 ` Jonathan Nieder
2011-02-21 13:14 ` Ævar Arnfjörð Bjarmason
2011-02-21 10:16 ` [PATCH 05/15] init: mark basic messages " Jonathan Nieder
2011-02-21 10:17 ` [PATCH 06/15] init: mark "Initialized [...] repository" " Jonathan Nieder
2011-02-21 10:18 ` [PATCH 07/15] clone: mark basic messages " Jonathan Nieder
2011-02-21 10:18 ` [PATCH 08/15] clone: split "Cloning into" message into two Jonathan Nieder
2011-02-21 10:19 ` [PATCH 09/15] clone: mark "Cloning into" message for translation Jonathan Nieder
2011-02-21 10:24 ` [PATCH 10/15] add: mark basic messages " Jonathan Nieder
2011-02-21 10:25 ` [PATCH 11/15] add: mark "The following paths are ignored" " Jonathan Nieder
2011-02-21 10:25 ` [PATCH 12/15] add: mark "did not match any files" " Jonathan Nieder
2011-02-21 10:26 ` [PATCH 13/15] add -u --verbose: mark "remove '%s'" " Jonathan Nieder
2011-02-21 10:26 ` [PATCH 14/15] update-index --refresh --porcelain: add missing const Jonathan Nieder
2011-02-21 10:29 ` [PATCH 15/15] add --refresh --verbose: mark "Unstaged changes" heading for translation Jonathan Nieder
2011-02-21 12:38 ` [PATCH v3 00/15] Mark "init", "clone", and "add" output " Ævar Arnfjörð Bjarmason
2011-02-22 7:36 ` Junio C Hamano
2011-02-22 11:22 ` Ævar Arnfjörð Bjarmason
2011-02-22 18:11 ` Junio C Hamano
2011-02-22 23:41 ` [PATCH v4 00/73] No-op gettextize core Git C programs Ævar Arnfjörð Bjarmason
2011-02-23 0:49 ` Junio C Hamano
2011-02-23 1:37 ` Junio C Hamano
2011-02-23 18:30 ` Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 01/73] gettext: add no-op _() and N_() wrappers Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 02/73] gettext tests: add GETTEXT_POISON to simulate unfriendly translator Ævar Arnfjörð Bjarmason
2011-02-25 7:08 ` Jonathan Nieder
2011-02-25 17:52 ` Junio C Hamano
2011-02-25 19:50 ` Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 03/73] gettext: do not poison translations unless GIT_GETTEXT_POISON envvar is set Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 04/73] Makefile: "pot" target to extract messages marked for translation Ævar Arnfjörð Bjarmason
2011-02-25 7:22 ` Jonathan Nieder
2011-02-25 19:53 ` Ævar Arnfjörð Bjarmason
2011-02-25 21:20 ` Jonathan Nieder
2011-02-25 21:36 ` Junio C Hamano
2011-02-25 22:11 ` Jonathan Nieder
2011-02-22 23:41 ` [PATCH v4 05/73] gettextize: git-init basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 06/73] gettextize: git-init "Initialized [...] repository" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 07/73] gettextize: git-clone basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 08/73] gettextize: git-clone "Cloning into" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 09/73] " Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 10/73] gettextize: git-add basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 11/73] gettextize: git-add "The following paths are ignored" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 12/73] gettextize: git-add "did not match any files" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 13/73] gettextize: git-add "remove '%s'" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 14/73] gettextize: git-add "Unstaged changes" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 15/73] gettextize: git-branch basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 16/73] gettextize: git-branch "remote branch '%s' not found" message Ævar Arnfjörð Bjarmason
2011-02-27 19:14 ` Piotr Krukowiecki
2011-02-22 23:41 ` [PATCH v4 17/73] gettextize: git-branch "Deleted branch [...]" message Ævar Arnfjörð Bjarmason
2011-02-25 7:54 ` Jonathan Nieder
2011-02-25 19:58 ` Ævar Arnfjörð Bjarmason
2011-02-25 21:16 ` Jonathan Nieder
2011-02-22 23:41 ` [PATCH v4 18/73] gettextize: git-branch "git branch -v" messages Ævar Arnfjörð Bjarmason
2011-02-25 7:52 ` Jonathan Nieder
2011-02-22 23:41 ` [PATCH v4 19/73] gettextize: git-branch "(no branch)" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 20/73] gettextize: git-checkout basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 21/73] gettextize: git-checkout: our/their version message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 22/73] gettextize: git-checkout describe_detached_head messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 23/73] gettextize: git-checkout "HEAD is now at" message Ævar Arnfjörð Bjarmason
2011-02-25 8:04 ` Jonathan Nieder
2011-02-22 23:41 ` [PATCH v4 24/73] gettextize: git-checkout "Switched to a .. branch" message Ævar Arnfjörð Bjarmason
2011-02-25 8:10 ` Jonathan Nieder
2011-02-25 19:33 ` Junio C Hamano
2011-02-25 19:47 ` Ævar Arnfjörð Bjarmason
2011-02-25 19:56 ` Junio C Hamano
2011-02-26 10:01 ` Junio C Hamano
2011-02-22 23:41 ` [PATCH v4 25/73] gettextize: git-commit basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 26/73] gettextize: git-commit "middle of a merge" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 27/73] gettextize: git-commit formatting messages Ævar Arnfjörð Bjarmason
2011-02-25 9:07 ` [PATCH] commit: error out for missing commit message template Jonathan Nieder
2011-02-25 20:14 ` Junio C Hamano
2011-02-25 9:43 ` [PATCH v4 27/73] gettextize: git-commit formatting messages Jonathan Nieder
2011-02-25 18:46 ` Junio C Hamano
2011-02-25 20:01 ` Ævar Arnfjörð Bjarmason
2011-02-25 21:35 ` Jonathan Nieder
2011-02-22 23:41 ` [PATCH v4 28/73] gettextize: git-commit print_summary messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 29/73] gettextize: git-commit "enter the commit message" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 30/73] gettextize: git-commit advice messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 31/73] gettextize: git-diff basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 32/73] gettextize: git-fetch " Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 33/73] gettextize: git-fetch formatting messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 34/73] gettextize: git-fetch update_local_ref messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 35/73] gettextize: git-fetch split up "(non-fast-forward)" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 36/73] gettextize: git-grep basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 37/73] gettextize: git-grep "--open-files-in-pager" message Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 38/73] gettextize: git-log basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` [PATCH v4 39/73] gettextize: git-log "--OPT does not make sense" messages Ævar Arnfjörð Bjarmason
2011-02-22 23:41 ` Ævar Arnfjörð Bjarmason [this message]
2011-02-22 23:42 ` [PATCH v4 41/73] gettextize: git-merge "Updating %s..%s" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 42/73] gettextize: git-merge "You have not concluded your merge" messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 43/73] gettextize: git-merge "Wonderful" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 44/73] gettextize: git-mv basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 45/73] gettextize: git-mv "bad" messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 46/73] gettextize: git-rm basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 47/73] gettextize: git-reset " Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 48/73] gettextize: git-reset reset_type_names messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 49/73] gettextize: git-reset "Unstaged changes after reset" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 50/73] gettextize: git-tag basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 51/73] gettextize: git-tag tag_template message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 52/73] gettextize: git-push basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 53/73] gettextize: git-push "prevent you from losing" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 54/73] gettextize: git-status basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 55/73] gettextize: git-status "nothing to commit" messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 56/73] gettextize: git-status shortstatus messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 57/73] gettextize: git-status "Changes to be committed" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 58/73] gettextize: git-status "Initial commit" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 59/73] gettextize: git-status "renamed: " message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 60/73] gettextize: git-archive basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 61/73] gettextize: git-bundle " Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 62/73] gettextize: git-clean " Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 63/73] gettextize: git-clean clean.requireForce messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 64/73] gettextize: git-describe basic messages Ævar Arnfjörð Bjarmason
2011-02-26 9:55 ` Jakub Narebski
2011-02-26 10:03 ` Junio C Hamano
2011-02-26 13:16 ` Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 65/73] gettextize: git-gc " Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 66/73] gettextize: git-gc "Auto packing the repository" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 67/73] gettextize: git-notes basic commands Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 68/73] gettextize: git-notes GIT_NOTES_REWRITE_MODE error message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 69/73] gettextize: git-revert basic messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 70/73] gettextize: git-revert "Your local changes" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 71/73] gettextize: git-revert literal "me" messages Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 72/73] gettextize: git-revert split up "could not revert/apply" message Ævar Arnfjörð Bjarmason
2011-02-22 23:42 ` [PATCH v4 73/73] gettextize: git-shortlog basic messages Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1298418152-27789-41-git-send-email-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jnareb@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.