git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 40/73] gettextize: git-merge basic messages

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Feb 22, 2011, 23:41 UTC
Message-ID
<1298418152-27789-41-git-send-email-avarab@gmail.com>
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, &not_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
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 186 of 222 in “No-op C gettext wrappers”
  1. 00/72 No-op C gettext wrappersÆvar Arnfjörð Bjarmason, Feb 19, 2011
  2. 01/72 gettext.h: add no-op _() and N_() wrappersÆvar Arnfjörð Bjarmason, Feb 19, 2011
  3. Jonathan NiederFeb 20, 2011
  4. Erik Faye-LundFeb 20, 2011
  5. Jonathan NiederFeb 20, 2011
  6. Ævar Arnfjörð BjarmasonFeb 20, 2011
  7. Jonathan NiederFeb 20, 2011
  8. 02/72 cache.h: include gettext.hÆvar Arnfjörð Bjarmason, Feb 19, 2011
  9. 03/72 t/test-lib.sh: add always-set NO_GETTEXT_POISON prerequisiteÆvar Arnfjörð Bjarmason, Feb 19, 2011
  10. Jonathan NiederFeb 20, 2011
  11. Ævar Arnfjörð BjarmasonFeb 20, 2011
  12. Jonathan NiederFeb 20, 2011
  13. Ævar Arnfjörð BjarmasonFeb 20, 2011
  14. Jonathan NiederFeb 20, 2011
  15. Ævar Arnfjörð BjarmasonFeb 20, 2011
  16. Jonathan NiederFeb 20, 2011
  17. Junio C HamanoFeb 21, 2011
  18. 04/72 gettextize: git-init basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  19. Jonathan NiederFeb 20, 2011
  20. 05/72 gettextize: git-init "Initialized [...] repository" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  21. 06/72 gettextize: git-clone basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  22. 07/72 gettextize: git-clone "Cloning into" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  23. Jonathan NiederFeb 21, 2011
  24. 08/72 gettextize: git-add basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  25. 09/72 gettextize: git-add "no files added" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  26. 10/72 gettextize: git-add "Use -f if you really want" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  27. 11/72 gettextize: git-add "pathspec [...] did not match" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  28. 12/72 gettextize: git-add "remove '%s'" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  29. 13/72 gettextize: git-add refresh_index messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  30. 14/72 gettextize: git-branch basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  31. 15/72 gettextize: git-branch "remote branch '%s' not found" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  32. 16/72 gettextize: git-branch "Deleted branch [...]" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  33. 17/72 gettextize: git-branch "git branch -v" messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  34. 18/72 gettextize: git-branch "(no branch)" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  35. 19/72 gettextize: git-checkout basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  36. 20/72 gettextize: git-checkout: our/their version messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  37. 21/72 gettextize: git-checkout describe_detached_head messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  38. 22/72 gettextize: git-checkout "HEAD is now at" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  39. 23/72 gettextize: git-checkout "Switched to a .. branch" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  40. 24/72 gettextize: git-commit basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  41. 25/72 gettextize: git-commit "middle of a merge" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  42. 26/72 gettextize: git-commit formatting messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  43. 27/72 gettextize: git-commit print_summary messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  44. 28/72 gettextize: git-commit "enter the commit message" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  45. 29/72 gettextize: git-commit advice messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  46. 30/72 gettextize: git-diff basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  47. 31/72 gettextize: git-fetch basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  48. 32/72 gettextize: git-fetch formatting messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  49. 33/72 gettextize: git-fetch update_local_ref messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  50. 34/72 gettextize: git-fetch split up "(non-fast-forward)" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  51. 35/72 gettextize: git-grep basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  52. 36/72 gettextize: git-grep "--open-files-in-pager" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  53. 37/72 gettextize: git-log basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  54. 38/72 gettextize: git-log "--OPT does not make sense" messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  55. 39/72 gettextize: git-merge basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  56. 40/72 gettextize: git-merge "Updating %s..%s" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  57. 41/72 gettextize: git-merge "You have not concluded your merge" messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  58. 42/72 gettextize: git-merge "Wonderful" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  59. 43/72 gettextize: git-mv basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  60. 44/72 gettextize: git-mv "bad" messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  61. 45/72 gettextize: git-rm basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  62. 46/72 gettextize: git-reset basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  63. 47/72 gettextize: git-reset reset_type_names messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  64. 48/72 gettextize: git-reset "Unstaged changes after reset" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  65. 49/72 gettextize: git-tag basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  66. 50/72 gettextize: git-tag tag_template messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  67. 51/72 gettextize: git-push basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  68. 52/72 gettextize: git-push "prevent you from losing" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  69. 53/72 gettextize: git-status basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  70. 54/72 gettextize: git-status "nothing to commit" messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  71. 55/72 gettextize: git-status shortstatus messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  72. 56/72 gettextize: git-status "Changes to be committed" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  73. 57/72 gettextize: git-status "Initial commit" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  74. 58/72 gettextize: git-status "renamed: " messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  75. 59/72 gettextize: git-archive basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  76. 60/72 gettextize: git-bundle basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  77. 61/72 gettextize: git-clean basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  78. 62/72 gettextize: git-clean clean.requireForce messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  79. 63/72 gettextize: git-describe basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  80. 64/72 gettextize: git-gc basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  81. 65/72 gettextize: git-gc "Auto packing the repository" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  82. 66/72 gettextize: git-notes basic commandsÆvar Arnfjörð Bjarmason, Feb 19, 2011
  83. 67/72 gettextize: git-notes GIT_NOTES_REWRITE_MODE error messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  84. 68/72 gettextize: git-revert basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  85. 69/72 gettextize: git-revert "Your local changes" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  86. 70/72 gettextize: git-revert literal "me" messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  87. 71/72 gettextize: git-revert split up "could not revert/apply" messageÆvar Arnfjörð Bjarmason, Feb 19, 2011
  88. 72/72 gettextize: git-shortlog basic messagesÆvar Arnfjörð Bjarmason, Feb 19, 2011
  89. 0/3 No-op C gettext wrappersJonathan Nieder, Feb 21, 2011
  90. 1/3 i18n: add no-op _() and N_() wrappersJonathan Nieder, Feb 21, 2011
  91. 2/3 tests: add GETTEXT_POISON to simulate unfriendly translatorJonathan Nieder, Feb 21, 2011
  92. 3/3 tests: let GETTEXT_POISON be disabled at run timeJonathan Nieder, Feb 21, 2011
  93. 00/15 Mark "init", "clone", and "add" output for translationJonathan Nieder, Feb 21, 2011
  94. 01/15 i18n: add no-op _() and N_() wrappersJonathan Nieder, Feb 21, 2011
  95. 02/15 tests: add GETTEXT_POISON to simulate unfriendly translatorJonathan Nieder, Feb 21, 2011
  96. Ævar Arnfjörð BjarmasonFeb 21, 2011
  97. Jonathan NiederFeb 21, 2011
  98. 03/15 i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is setJonathan Nieder, Feb 21, 2011
  99. 04/15 Makefile: "pot" target to extract messages marked for translationJonathan Nieder, Feb 21, 2011
  100. Ævar Arnfjörð BjarmasonFeb 21, 2011
  101. Jonathan NiederFeb 21, 2011
  102. Ævar Arnfjörð BjarmasonFeb 21, 2011
  103. 05/15 init: mark basic messages for translationJonathan Nieder, Feb 21, 2011
  104. 06/15 init: mark "Initialized [...] repository" for translationJonathan Nieder, Feb 21, 2011
  105. 07/15 clone: mark basic messages for translationJonathan Nieder, Feb 21, 2011
  106. 08/15 clone: split "Cloning into" message into twoJonathan Nieder, Feb 21, 2011
  107. 09/15 clone: mark "Cloning into" message for translationJonathan Nieder, Feb 21, 2011
  108. 10/15 add: mark basic messages for translationJonathan Nieder, Feb 21, 2011
  109. 11/15 add: mark "The following paths are ignored" for translationJonathan Nieder, Feb 21, 2011
  110. 12/15 add: mark "did not match any files" for translationJonathan Nieder, Feb 21, 2011
  111. 13/15 add -u --verbose: mark "remove '%s'" for translationJonathan Nieder, Feb 21, 2011
  112. 14/15 update-index --refresh --porcelain: add missing constJonathan Nieder, Feb 21, 2011
  113. 15/15 add --refresh --verbose: mark "Unstaged changes" heading for translationJonathan Nieder, Feb 21, 2011
  114. Ævar Arnfjörð BjarmasonFeb 21, 2011
  115. Junio C HamanoFeb 22, 2011
  116. Ævar Arnfjörð BjarmasonFeb 22, 2011
  117. Junio C HamanoFeb 22, 2011
  118. 00/73 No-op gettextize core Git C programsÆvar Arnfjörð Bjarmason, Feb 22, 2011
  119. Junio C HamanoFeb 23, 2011
  120. Junio C HamanoFeb 23, 2011
  121. Ævar Arnfjörð BjarmasonFeb 23, 2011
  122. 01/73 gettext: add no-op _() and N_() wrappersÆvar Arnfjörð Bjarmason, Feb 22, 2011
  123. 02/73 gettext tests: add GETTEXT_POISON to simulate unfriendly translatorÆvar Arnfjörð Bjarmason, Feb 22, 2011
  124. Jonathan NiederFeb 25, 2011
  125. Junio C HamanoFeb 25, 2011
  126. Ævar Arnfjörð BjarmasonFeb 25, 2011
  127. 03/73 gettext: do not poison translations unless GIT_GETTEXT_POISON envvar is setÆvar Arnfjörð Bjarmason, Feb 22, 2011
  128. 04/73 Makefile: "pot" target to extract messages marked for translationÆvar Arnfjörð Bjarmason, Feb 22, 2011
  129. Jonathan NiederFeb 25, 2011
  130. Ævar Arnfjörð BjarmasonFeb 25, 2011
  131. Jonathan NiederFeb 25, 2011
  132. Junio C HamanoFeb 25, 2011
  133. Jonathan NiederFeb 25, 2011
  134. 05/73 gettextize: git-init basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  135. 06/73 gettextize: git-init "Initialized [...] repository" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  136. 07/73 gettextize: git-clone basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  137. 08/73 gettextize: git-clone "Cloning into" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  138. 09/73 gettextize: git-clone "Cloning into" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  139. 10/73 gettextize: git-add basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  140. 11/73 gettextize: git-add "The following paths are ignored" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  141. 12/73 gettextize: git-add "did not match any files" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  142. 13/73 gettextize: git-add "remove '%s'" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  143. 14/73 gettextize: git-add "Unstaged changes" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  144. 15/73 gettextize: git-branch basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  145. 16/73 gettextize: git-branch "remote branch '%s' not found" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  146. Piotr KrukowieckiFeb 27, 2011
  147. 17/73 gettextize: git-branch "Deleted branch [...]" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  148. Jonathan NiederFeb 25, 2011
  149. Ævar Arnfjörð BjarmasonFeb 25, 2011
  150. Jonathan NiederFeb 25, 2011
  151. 18/73 gettextize: git-branch "git branch -v" messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  152. Jonathan NiederFeb 25, 2011
  153. 19/73 gettextize: git-branch "(no branch)" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  154. 20/73 gettextize: git-checkout basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  155. 21/73 gettextize: git-checkout: our/their version messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  156. 22/73 gettextize: git-checkout describe_detached_head messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  157. 23/73 gettextize: git-checkout "HEAD is now at" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  158. Jonathan NiederFeb 25, 2011
  159. 24/73 gettextize: git-checkout "Switched to a .. branch" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  160. Jonathan NiederFeb 25, 2011
  161. Junio C HamanoFeb 25, 2011
  162. Ævar Arnfjörð BjarmasonFeb 25, 2011
  163. Junio C HamanoFeb 25, 2011
  164. Junio C HamanoFeb 26, 2011
  165. 25/73 gettextize: git-commit basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  166. 26/73 gettextize: git-commit "middle of a merge" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  167. 27/73 gettextize: git-commit formatting messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  168. commit: error out for missing commit message templateJonathan Nieder, Feb 25, 2011
  169. Junio C HamanoFeb 25, 2011
  170. Jonathan NiederFeb 25, 2011
  171. Junio C HamanoFeb 25, 2011
  172. Ævar Arnfjörð BjarmasonFeb 25, 2011
  173. Jonathan NiederFeb 25, 2011
  174. 28/73 gettextize: git-commit print_summary messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  175. 29/73 gettextize: git-commit "enter the commit message" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  176. 30/73 gettextize: git-commit advice messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  177. 31/73 gettextize: git-diff basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  178. 32/73 gettextize: git-fetch basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  179. 33/73 gettextize: git-fetch formatting messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  180. 34/73 gettextize: git-fetch update_local_ref messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  181. 35/73 gettextize: git-fetch split up "(non-fast-forward)" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  182. 36/73 gettextize: git-grep basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  183. 37/73 gettextize: git-grep "--open-files-in-pager" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  184. 38/73 gettextize: git-log basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  185. 39/73 gettextize: git-log "--OPT does not make sense" messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  186. 40/73 gettextize: git-merge basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  187. 41/73 gettextize: git-merge "Updating %s..%s" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  188. 42/73 gettextize: git-merge "You have not concluded your merge" messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  189. 43/73 gettextize: git-merge "Wonderful" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  190. 44/73 gettextize: git-mv basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  191. 45/73 gettextize: git-mv "bad" messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  192. 46/73 gettextize: git-rm basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  193. 47/73 gettextize: git-reset basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  194. 48/73 gettextize: git-reset reset_type_names messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  195. 49/73 gettextize: git-reset "Unstaged changes after reset" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  196. 50/73 gettextize: git-tag basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  197. 51/73 gettextize: git-tag tag_template messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  198. 52/73 gettextize: git-push basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  199. 53/73 gettextize: git-push "prevent you from losing" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  200. 54/73 gettextize: git-status basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  201. 55/73 gettextize: git-status "nothing to commit" messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  202. 56/73 gettextize: git-status shortstatus messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  203. 57/73 gettextize: git-status "Changes to be committed" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  204. 58/73 gettextize: git-status "Initial commit" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  205. 59/73 gettextize: git-status "renamed: " messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  206. 60/73 gettextize: git-archive basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  207. 61/73 gettextize: git-bundle basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  208. 62/73 gettextize: git-clean basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  209. 63/73 gettextize: git-clean clean.requireForce messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  210. 64/73 gettextize: git-describe basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  211. Jakub NarebskiFeb 26, 2011
  212. Junio C HamanoFeb 26, 2011
  213. Ævar Arnfjörð BjarmasonFeb 26, 2011
  214. 65/73 gettextize: git-gc basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  215. 66/73 gettextize: git-gc "Auto packing the repository" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  216. 67/73 gettextize: git-notes basic commandsÆvar Arnfjörð Bjarmason, Feb 22, 2011
  217. 68/73 gettextize: git-notes GIT_NOTES_REWRITE_MODE error messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  218. 69/73 gettextize: git-revert basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  219. 70/73 gettextize: git-revert "Your local changes" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  220. 71/73 gettextize: git-revert literal "me" messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011
  221. 72/73 gettextize: git-revert split up "could not revert/apply" messageÆvar Arnfjörð Bjarmason, Feb 22, 2011
  222. 73/73 gettextize: git-shortlog basic messagesÆvar Arnfjörð Bjarmason, Feb 22, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.