git.git
13 years agoi18n: git-bisect [Y/n] messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:28 +0000 (18:44 +0000)]
i18n: git-bisect [Y/n] messages

Gettextize the [Y/n] questions git-bisect presents, and leave a note
in a TRANSLATORS comment explaining that translators have to preserve
a mention of the Y/n characters since the program will expect them,
and not their localized equivalents.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect bisect_replay + $1 messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:27 +0000 (18:44 +0000)]
i18n: git-bisect bisect_replay + $1 messages

Gettextize bisect_replay messages that use the $1 variable. Since it's
subroutine local we have to provide an alias for it for eval_gettext.

Since I was doing that anyway I've changed all other uses of $1
variable to use the alias variable for clarity.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect bisect_reset + $1 messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:26 +0000 (18:44 +0000)]
i18n: git-bisect bisect_reset + $1 messages

ettextize bisect_reset messages that use the $1 variable. Since it's
subroutine local we have to provide an alias for it for eval_gettext.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect bisect_run + $@ messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:25 +0000 (18:44 +0000)]
i18n: git-bisect bisect_run + $@ messages

Gettextize bisect_run messages that use the $@ variable. Since it's
subroutine local we have to provide an alias for it for eval_gettext.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect die + eval_gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:24 +0000 (18:44 +0000)]
i18n: git-bisect die + eval_gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect die + gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:23 +0000 (18:44 +0000)]
i18n: git-bisect die + gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect echo + eval_gettext message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:22 +0000 (18:44 +0000)]
i18n: git-bisect echo + eval_gettext message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect echo + gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:21 +0000 (18:44 +0000)]
i18n: git-bisect echo + gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect gettext + echo message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:20 +0000 (18:44 +0000)]
i18n: git-bisect gettext + echo message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-bisect add git-sh-i18n
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:19 +0000 (18:44 +0000)]
i18n: git-bisect add git-sh-i18n

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash drop_stash say/die messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:18 +0000 (18:44 +0000)]
i18n: git-stash drop_stash say/die messages

Gettextize the say/die eval_gettext messages in the drop_stash
function. Since making these translatable would result in a long line
I've wrapped this into two lines.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash "unknown option" message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:17 +0000 (18:44 +0000)]
i18n: git-stash "unknown option" message

Gettextize the "unknown option for 'stash save'" message that's shown
on:

    $ git stash save --blah-blah
    error: unknown option for 'stash save': --blah-blah
           To provide a message, use git stash save -- '--blah-blah'
    Usage: git stash list [<options>]

In a translation the second line should be aligned with the first
one. I've added a TRANSLATORS comment to indicate this.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash die + eval_gettext $1 messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:16 +0000 (18:44 +0000)]
i18n: git-stash die + eval_gettext $1 messages

Gettextize a messages that used the $1 variable. Since it's subroutine
local we have to provide an alias for it for eval_gettext.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash die + eval_gettext $* messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:15 +0000 (18:44 +0000)]
i18n: git-stash die + eval_gettext $* messages

Gettextize messages that used the $* variable. Since it's subroutine
local we have to provide an alias for it for eval_gettext.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash die + eval_gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:14 +0000 (18:44 +0000)]
i18n: git-stash die + eval_gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash die + gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:13 +0000 (18:44 +0000)]
i18n: git-stash die + gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash say + gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:12 +0000 (18:44 +0000)]
i18n: git-stash say + gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash echo + gettext message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:11 +0000 (18:44 +0000)]
i18n: git-stash echo + gettext message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-stash add git-sh-i18n
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:10 +0000 (18:44 +0000)]
i18n: git-stash add git-sh-i18n

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule "blob" and "submodule" messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:09 +0000 (18:44 +0000)]
i18n: git-submodule "blob" and "submodule" messages

Gettextize the words "blob" and "submodule", which will be
interpolated in a message emitted by git-submodule. This is
explicitly tested for so we need to skip a portion of a test with
test_i18ncmp.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule "path not initialized" message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:08 +0000 (18:44 +0000)]
i18n: git-submodule "path not initialized" message

Gettextize the "Submodule path '$path' not initialized" message. This
is explicitly tested for so we need to skip a portion of a test with
test_i18grep.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule "[...] path is ignored" message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:07 +0000 (18:44 +0000)]
i18n: git-submodule "[...] path is ignored" message

Gettextize the "The following path is ignored" message. This is
explicitly tested for so we need to skip a portion of a test with
test_i18ncmp.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule "Entering [...]" message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:06 +0000 (18:44 +0000)]
i18n: git-submodule "Entering [...]" message

Gettextize the "Entering [...]" message. This is explicitly tested for
so we need to skip a portion of a test with test_i18ncmp.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule $errmsg messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:05 +0000 (18:44 +0000)]
i18n: git-submodule $errmsg messages

Gettextize warning messages stored in the $errmsg variable using
eval_gettext interpolation. This is explicitly tested for so we
need to skip a portion of a test with test_i18ncmp.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule "Submodule change[...]" messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:04 +0000 (18:44 +0000)]
i18n: git-submodule "Submodule change[...]" messages

Gettextize the "Submodules changed but not updated" and "Submodule
changes to be committed" messages. This is explicitly tested for so we
need to skip a portion of a test with test_i18ncmp.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule "cached cannot be used" message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:03 +0000 (18:44 +0000)]
i18n: git-submodule "cached cannot be used" message

Gettextize the "--cached cannot be used with --files" message. Since
this message starts with "--" we have to pass "--" as the first
argument. This works with both GNU gettext 0.18.1 (as expected), and
the gettext(1) on Solaris 10.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule $update_module say + die messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:02 +0000 (18:44 +0000)]
i18n: git-submodule $update_module say + die messages

Gettextize $update_module say and die messages. These messages needed
to be split up to make them translatable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule die + eval_gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:01 +0000 (18:44 +0000)]
i18n: git-submodule die + eval_gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule say + eval_gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:44:00 +0000 (18:44 +0000)]
i18n: git-submodule say + eval_gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule echo + eval_gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:59 +0000 (18:43 +0000)]
i18n: git-submodule echo + eval_gettext messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-submodule add git-sh-i18n
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:58 +0000 (18:43 +0000)]
i18n: git-submodule add git-sh-i18n

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-pull eval_gettext + warning message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:57 +0000 (18:43 +0000)]
i18n: git-pull eval_gettext + warning message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-pull eval_gettext + die message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:56 +0000 (18:43 +0000)]
i18n: git-pull eval_gettext + die message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-pull die messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:55 +0000 (18:43 +0000)]
i18n: git-pull die messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-pull add git-sh-i18n
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:54 +0000 (18:43 +0000)]
i18n: git-pull add git-sh-i18n

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am printf(1) message to eval_gettext
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:53 +0000 (18:43 +0000)]
i18n: git-am printf(1) message to eval_gettext

Convert a message that used printf(1) format to use eval_gettext. It's
easier for translators to handle the latter, since the eval format
automatically gives them context via variable names.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am core say messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:52 +0000 (18:43 +0000)]
i18n: git-am core say messages

Make the core git-am messages that use say() translatable. These are
visible on almost every git am invocation.

There are tests that depend on the "Applying" output that need to be
changed to use the test_i18* functions along with this translation.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am "Falling back" say message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:51 +0000 (18:43 +0000)]
i18n: git-am "Falling back" say message

Make the "Falling back to patching base and 3-way merge..." message
used by fall_back_3way() translatable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am "Apply?" message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:50 +0000 (18:43 +0000)]
i18n: git-am "Apply?" message

Make the "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all" message
translatable, and leave a note in a TRANSLATORS comment explaining
that translators have to preserve a mention of the y/n/e/v/a
characters since the program will expect them, and not their
localized equivalents.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am clean_abort messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:49 +0000 (18:43 +0000)]
i18n: git-am clean_abort messages

Messages that used the clean_abort function needed both gettext(1) and
eval_gettext(). These need to be interpolated in a string like the die
and cannot_fallback messages.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am cannot_fallback messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:48 +0000 (18:43 +0000)]
i18n: git-am cannot_fallback messages

Translate messages with gettext(1) before they're passed to the
cannot_fallback function, just like we handle the die function.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am die messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:47 +0000 (18:43 +0000)]
i18n: git-am die messages

The die messages in git-am need to use:

    die "$(gettext "string")"

Since gettext(1) emits the message instead of returning it like the C
equivalent, and our die() function in git-sh-setup needs to get a
string as an argument.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am gettext + gettext to stderr message
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:46 +0000 (18:43 +0000)]
i18n: git-am gettext + gettext to stderr message

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am eval_gettext messages
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:45 +0000 (18:43 +0000)]
i18n: git-am eval_gettext messages

Messages that use variables to be interpolated need to use
eval_gettext(), this wrapper will eval the message and expand the
variable for us.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am multi-line getttext $msg; echo
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:44 +0000 (18:43 +0000)]
i18n: git-am multi-line getttext $msg; echo

When we have multi-line `gettext $msg; echo' messages we can't
preserve the existing indenting because gettext(1) can't accept input
on stdin.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am one-line gettext $msg; echo
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:43 +0000 (18:43 +0000)]
i18n: git-am one-line gettext $msg; echo

One-line `gettext $msg; echo' messages are the simplest use case for
gettext(1).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoi18n: git-am add git-sh-i18n
Ævar Arnfjörð Bjarmason [Sat, 21 May 2011 18:43:42 +0000 (18:43 +0000)]
i18n: git-am add git-sh-i18n

Source git-sh-i18n in git-am.sh, it's needed to import the Git gettext
shell functions.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMakefile: add xgettext target for *.sh files
Ævar Arnfjörð Bjarmason [Sat, 14 May 2011 13:47:45 +0000 (13:47 +0000)]
Makefile: add xgettext target for *.sh files

Change the "pot" target to also extract strings from our $(SCRIPT_SH)
files with xgettext(1).

Note that due to Jonathan Nieder's trick of doing "mv $@+ $@" at the
end of the target the "pot" target will now warn:

    $ make pot
        XGETTEXT po/git.pot
    po/git.pot+: warning: Charset "CHARSET" is not a portable encoding name.
                          Message conversion to user's charset might not work.

This warnings is emitted because xgettext is writing into a non-*.pot
file, it's harmless however. The content that's written out is
equivalent to what it would be if we were writing directly into an
existing POT file with --join-existing.

As part of this change I've eliminated the && chain between xgettext
calls, this is incompatible with $(QUIET_XGETTEXT), if the && is left
in it'll emit:

    /bin/sh: @echo: not found

Since it's redundant (the Makefile will stop if there's an error) I've
removed it altogether.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-sh-i18n.sh: add GIT_GETTEXT_POISON support
Ævar Arnfjörð Bjarmason [Sat, 14 May 2011 13:47:44 +0000 (13:47 +0000)]
git-sh-i18n.sh: add GIT_GETTEXT_POISON support

Change git-sh-i18n.sh to support the GIT_GETTEXT_POISON environment
variable like gettext.c does, this ensures that tests that use
git-sh-i18n.sh will fail under GETTEXT_POISON=YesPlease if they rely
on Git's C locale messages without declaring that they do.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers
Ævar Arnfjörð Bjarmason [Sat, 14 May 2011 13:47:43 +0000 (13:47 +0000)]
git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers

Add a no-op wrapper library for Git's shell scripts. To split up the
gettext series I'm first submitting patches to gettextize the source
tree before I add any of the Makefile and Shell library changes needed
to actually use them.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-sh-i18n--envsubst: our own envsubst(1) for eval_gettext()
Ævar Arnfjörð Bjarmason [Sat, 14 May 2011 13:47:42 +0000 (13:47 +0000)]
git-sh-i18n--envsubst: our own envsubst(1) for eval_gettext()

Add a git-sh-i18n--envsubst program which is a stripped-down version
of the GNU envsubst(1) program that comes with GNU gettext for use in
the eval_gettext() fallback.

We need a C helper program because implementing eval_gettext() purely
in shell turned out to be unworkable. Digging through the Git mailing
list archives will reveal two shell implementations of eval_gettext
that are almost good enough, but fail on an edge case which is tested
for in the tests which are part of this patch.

These are the modifications I made to envsubst.c as I turned it into
sh-i18n--envsubst.c:

 * Added our git-compat-util.h header for xrealloc() and friends.

 * Removed inclusion of gettext-specific headers.

 * Removed most of main() and replaced it with my own. The modified
   version only does option parsing for --variables. That's all it
   needs.

 * Modified error() invocations to use our error() instead of
   error(3).

 * Replaced the gettext XNMALLOC(n, size) macro with just
   xmalloc(n). Since XNMALLOC() only allocated char's.

 * Removed the string_list_destroy function. It's redundant (also in
   the upstream code).

 * Replaced the use of stdbool.h (a C99 header) by doing the following
   replacements on the code:

    * s/bool/unsigned short int/g
    * s/true/1/g
    * s/false/0/g

Reported-by: Johannes Sixt <j.sixt@viscovery.net>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoUpdate draft release notes to 1.7.6
Junio C Hamano [Fri, 6 May 2011 18:13:08 +0000 (11:13 -0700)]
Update draft release notes to 1.7.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jn/run-command-error-failure'
Junio C Hamano [Fri, 6 May 2011 18:01:04 +0000 (11:01 -0700)]
Merge branch 'jn/run-command-error-failure'

* jn/run-command-error-failure:
  run-command: handle short writes and EINTR in die_child
  tests: check error message from run_command

13 years agoMerge branch 'js/info-man-path'
Junio C Hamano [Fri, 6 May 2011 18:00:46 +0000 (11:00 -0700)]
Merge branch 'js/info-man-path'

* js/info-man-path:
  Documentation: clarify meaning of --html-path, --man-path, and --info-path
  git: add --info-path and --man-path options

Conflicts:
Makefile

13 years agoMerge branch 'im/hashcmp-optim'
Junio C Hamano [Fri, 6 May 2011 18:00:36 +0000 (11:00 -0700)]
Merge branch 'im/hashcmp-optim'

* im/hashcmp-optim:
  hashcmp(): inline memcmp() by hand to optimize

13 years agoMerge branch 'jk/merge-one-file-working-tree'
Junio C Hamano [Fri, 6 May 2011 17:54:08 +0000 (10:54 -0700)]
Merge branch 'jk/merge-one-file-working-tree'

* jk/merge-one-file-working-tree:
  merge-one-file: fix broken merges with alternate work trees
  add tests for merge-index / merge-one-file

13 years agoMerge branch 'jc/fix-diff-files-unmerged'
Junio C Hamano [Fri, 6 May 2011 17:52:58 +0000 (10:52 -0700)]
Merge branch 'jc/fix-diff-files-unmerged'

* jc/fix-diff-files-unmerged:
  diff-files: show unmerged entries correctly
  diff: remove often unused parameters from diff_unmerge()
  diff.c: return filepair from diff_unmerge()
  test: use $_z40 from test-lib

13 years agoMerge branch 'cj/p4merge'
Junio C Hamano [Fri, 6 May 2011 17:52:16 +0000 (10:52 -0700)]
Merge branch 'cj/p4merge'

* cj/p4merge:
  Pass empty file to p4merge where no base is suitable.

13 years agoMerge branch 'gr/cvsimport-alternative-cvspass-location'
Junio C Hamano [Fri, 6 May 2011 17:52:12 +0000 (10:52 -0700)]
Merge branch 'gr/cvsimport-alternative-cvspass-location'

* gr/cvsimport-alternative-cvspass-location:
  Look for password in both CVS and CVSNT password files.

13 years agoMerge branch 'sg/completion-cleanup'
Junio C Hamano [Fri, 6 May 2011 17:52:03 +0000 (10:52 -0700)]
Merge branch 'sg/completion-cleanup'

* sg/completion-cleanup:
  completion: remove unnecessary _get_comp_words_by_ref() invocations
  completion: don't modify the $cur variable in completion functions

13 years agoMerge branch 'js/blame-parsename'
Junio C Hamano [Fri, 6 May 2011 17:50:32 +0000 (10:50 -0700)]
Merge branch 'js/blame-parsename'

* js/blame-parsename:
  t/annotate-tests: Use echo & cat instead of sed
  blame: tolerate bogus e-mail addresses a bit better

13 years agoMerge branch 'jk/format-patch-quote-special-in-from'
Junio C Hamano [Fri, 6 May 2011 17:50:18 +0000 (10:50 -0700)]
Merge branch 'jk/format-patch-quote-special-in-from'

* jk/format-patch-quote-special-in-from:
  pretty: quote rfc822 specials in email addresses

Conflicts:
pretty.c
t/t4014-format-patch.sh

13 years agoMerge branch 'nd/struct-pathspec'
Junio C Hamano [Fri, 6 May 2011 17:50:06 +0000 (10:50 -0700)]
Merge branch 'nd/struct-pathspec'

* nd/struct-pathspec:
  pathspec: rename per-item field has_wildcard to use_wildcard
  Improve tree_entry_interesting() handling code
  Convert read_tree{,_recursive} to support struct pathspec
  Reimplement read_tree_recursive() using tree_entry_interesting()

13 years agoMerge branch 'aw/maint-rebase-i-p-no-ff'
Junio C Hamano [Fri, 6 May 2011 17:50:00 +0000 (10:50 -0700)]
Merge branch 'aw/maint-rebase-i-p-no-ff'

* aw/maint-rebase-i-p-no-ff:
  git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff

Conflicts:
git-rebase--interactive.sh

13 years agoMerge branch 'mg/alias-expose-prefix'
Junio C Hamano [Fri, 6 May 2011 17:49:57 +0000 (10:49 -0700)]
Merge branch 'mg/alias-expose-prefix'

* mg/alias-expose-prefix:
  handle_alias: provide GIT_PREFIX to !alias
  t1020: test !alias in subdirectory

13 years agoMerge branch 'mg/diff-uiconfig-doc'
Junio C Hamano [Fri, 6 May 2011 17:49:53 +0000 (10:49 -0700)]
Merge branch 'mg/diff-uiconfig-doc'

* mg/diff-uiconfig-doc:
  config.txt,diff-options.txt: porcelain vs. plumbing for color.diff

13 years agoMerge branch 'maint'
Junio C Hamano [Fri, 6 May 2011 17:44:23 +0000 (10:44 -0700)]
Merge branch 'maint'

* maint:
  Remove duplicated "is a"

13 years agoRemove duplicated "is a"
João Britto [Fri, 6 May 2011 04:16:17 +0000 (01:16 -0300)]
Remove duplicated "is a"

Signed-off-by: João Britto <jabcalves@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'maint'
Junio C Hamano [Thu, 5 May 2011 21:43:45 +0000 (14:43 -0700)]
Merge branch 'maint'

* maint:
  t3701: fix here document
  git-fast-import.txt: --relative-marks takes no parameter
  shell: add missing initialization of argv0_path

13 years agot3701: fix here document
Junio C Hamano [Thu, 5 May 2011 18:28:52 +0000 (11:28 -0700)]
t3701: fix here document

A broken here-document was not caught because end of file is taken by
an implicit end of the here document (POSIX does not seem to say it is
an error to lack the delimiter), and everything in the test just turned
into a single "cat into a file".

Noticed-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agogit-fast-import.txt: --relative-marks takes no parameter
Michael J Gruber [Thu, 5 May 2011 09:13:38 +0000 (11:13 +0200)]
git-fast-import.txt: --relative-marks takes no parameter

Remove spurious "=" after --relative-marks.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoshell: add missing initialization of argv0_path
Dima Sharov [Thu, 5 May 2011 06:40:17 +0000 (09:40 +0300)]
shell: add missing initialization of argv0_path

According to c6dfb39 (remote-curl: add missing initialization of
argv0_path, 2009-10-13), stand-alone programs (non-builtins)
must call git_extract_argv0_path(argv[0]) in order to help builds
that derive the installation prefix at runtime. Without this call,
the program segfaults (or raises an assertion failure).

Signed-off-by: Dima Sharov <git.avalakvista@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agot/annotate-tests: Use echo & cat instead of sed
Brian Gernhardt [Thu, 5 May 2011 04:43:37 +0000 (00:43 -0400)]
t/annotate-tests: Use echo & cat instead of sed

The use of the sed command "1i No robots allowed" caused the version
of sed in OS X to die with

   sed: 1: "1i "No robots allowed"\n": command i expects \ followed by
   text

Since this command was just trying to add a single line to the
beginning of the file, do the same with "echo" followed by "cat".

Unbreaks t8001 and t8002 on OS X 10.6.7

Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoUpdate draft release notes to 1.7.6
Junio C Hamano [Wed, 4 May 2011 23:02:17 +0000 (16:02 -0700)]
Update draft release notes to 1.7.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'ml/test-readme'
Junio C Hamano [Wed, 4 May 2011 22:52:00 +0000 (15:52 -0700)]
Merge branch 'ml/test-readme'

* ml/test-readme:
  t/README: unify documentation of test function args

13 years agoMerge branch 'ft/gitweb-tar-with-gzip-n'
Junio C Hamano [Wed, 4 May 2011 22:51:57 +0000 (15:51 -0700)]
Merge branch 'ft/gitweb-tar-with-gzip-n'

* ft/gitweb-tar-with-gzip-n:
  gitweb: supply '-n' to gzip for identical output

13 years agoMerge branch 'mg/rev-list-count-cherry'
Junio C Hamano [Wed, 4 May 2011 22:51:53 +0000 (15:51 -0700)]
Merge branch 'mg/rev-list-count-cherry'

* mg/rev-list-count-cherry:
  rev-list --count: separate count for --cherry-mark

13 years agoMerge branch 'ss/doc-svn'
Junio C Hamano [Wed, 4 May 2011 22:51:43 +0000 (15:51 -0700)]
Merge branch 'ss/doc-svn'

* ss/doc-svn:
  remove noise and inaccuracies from git-svn docs

13 years agoMerge branch 'jn/format-patch-doc'
Junio C Hamano [Wed, 4 May 2011 22:51:41 +0000 (15:51 -0700)]
Merge branch 'jn/format-patch-doc'

* jn/format-patch-doc:
  Documentation/format-patch: suggest Toggle Word Wrap add-on for Thunderbird
  Documentation: publicize hints for sending patches with GMail
  Documentation: publicize KMail hints for sending patches inline
  Documentation: hints for sending patches inline with Thunderbird
  Documentation: explain how to check for patch corruption

13 years agoMerge branch 'vr/merge-base-doc'
Junio C Hamano [Wed, 4 May 2011 22:51:37 +0000 (15:51 -0700)]
Merge branch 'vr/merge-base-doc'

* vr/merge-base-doc:
  Restructure documentation for git-merge-base.
  Documentation: update to git-merge-base --octopus

13 years agoMerge branch 'ss/cherry-pick-x-doc'
Junio C Hamano [Wed, 4 May 2011 22:51:35 +0000 (15:51 -0700)]
Merge branch 'ss/cherry-pick-x-doc'

* ss/cherry-pick-x-doc:
  doc: Clarify that "cherry-pick -x" does not use "git notes"

13 years agoMerge branch 'jn/maint-format-patch-doc'
Junio C Hamano [Wed, 4 May 2011 22:51:31 +0000 (15:51 -0700)]
Merge branch 'jn/maint-format-patch-doc'

* jn/maint-format-patch-doc:
  Documentation: describe the format of messages with inline patches

13 years agoMerge branch 'jk/format-patch-multiline-header'
Junio C Hamano [Wed, 4 May 2011 22:51:27 +0000 (15:51 -0700)]
Merge branch 'jk/format-patch-multiline-header'

* jk/format-patch-multiline-header:
  format-patch: wrap email addresses after long names

13 years agoMerge branch 'jm/mergetool-submodules'
Junio C Hamano [Wed, 4 May 2011 22:51:23 +0000 (15:51 -0700)]
Merge branch 'jm/mergetool-submodules'

* jm/mergetool-submodules:
  mergetool: Teach about submodules

13 years agoSync with 1.7.5.1
Junio C Hamano [Wed, 4 May 2011 22:49:04 +0000 (15:49 -0700)]
Sync with 1.7.5.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoGit 1.7.5.1 v1.7.5.1
Junio C Hamano [Wed, 4 May 2011 22:47:40 +0000 (15:47 -0700)]
Git 1.7.5.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jh/dirstat' into maint
Junio C Hamano [Wed, 4 May 2011 21:59:07 +0000 (14:59 -0700)]
Merge branch 'jh/dirstat' into maint

* jh/dirstat:
  --dirstat: In case of renames, use target filename instead of source filename
  Teach --dirstat not to completely ignore rearranged lines within a file
  --dirstat-by-file: Make it faster and more correct
  --dirstat: Describe non-obvious differences relative to --stat or regular diff

13 years agoMerge branch 'sp/maint-clear-postfields' into maint
Junio C Hamano [Wed, 4 May 2011 21:58:56 +0000 (14:58 -0700)]
Merge branch 'sp/maint-clear-postfields' into maint

* sp/maint-clear-postfields:
  http: clear POSTFIELDS when initializing a slot

13 years agoMerge branch 'jk/maint-stash-oob' into maint
Junio C Hamano [Wed, 4 May 2011 21:58:42 +0000 (14:58 -0700)]
Merge branch 'jk/maint-stash-oob' into maint

* jk/maint-stash-oob:
  stash: fix false positive in the invalid ref test.
  stash: fix accidental apply of non-existent stashes

Conflicts:
t/t3903-stash.sh

13 years agoMerge branch 'jk/maint-upload-pack-shallow' into maint
Junio C Hamano [Wed, 4 May 2011 21:58:13 +0000 (14:58 -0700)]
Merge branch 'jk/maint-upload-pack-shallow' into maint

* jk/maint-upload-pack-shallow:
  upload-pack: start pack-objects before async rev-list

13 years agoMerge branch 'dm/stash-k-i-p' into maint
Junio C Hamano [Wed, 4 May 2011 21:57:49 +0000 (14:57 -0700)]
Merge branch 'dm/stash-k-i-p' into maint

* dm/stash-k-i-p:
  stash: ensure --no-keep-index and --patch can be used in any order
  stash: add two more tests for --no-keep-index

13 years agoMerge branch 'jc/pack-objects-bigfile' into maint
Junio C Hamano [Wed, 4 May 2011 21:57:38 +0000 (14:57 -0700)]
Merge branch 'jc/pack-objects-bigfile' into maint

* jc/pack-objects-bigfile:
  Teach core.bigfilethreashold to pack-objects

13 years agoMerge branch 'mg/reflog-with-options' into maint
Junio C Hamano [Wed, 4 May 2011 21:57:33 +0000 (14:57 -0700)]
Merge branch 'mg/reflog-with-options' into maint

* mg/reflog-with-options:
  reflog: fix overriding of command line options
  t/t1411: test reflog with formats
  builtin/log.c: separate default and setup of cmd_log_init()

13 years agoMerge branch 'jk/stash-loosen-safety' into maint
Junio C Hamano [Wed, 4 May 2011 21:57:15 +0000 (14:57 -0700)]
Merge branch 'jk/stash-loosen-safety' into maint

* jk/stash-loosen-safety:
  stash: drop dirty worktree check on apply

13 years agoMerge branch 'ar/clean-rmdir-empty' into maint
Junio C Hamano [Wed, 4 May 2011 21:57:06 +0000 (14:57 -0700)]
Merge branch 'ar/clean-rmdir-empty' into maint

* ar/clean-rmdir-empty:
  clean: unreadable directory may still be rmdir-able if it is empty

13 years agoMerge branch 'mg/sha1-path-advise' into maint
Junio C Hamano [Wed, 4 May 2011 21:56:51 +0000 (14:56 -0700)]
Merge branch 'mg/sha1-path-advise' into maint

* mg/sha1-path-advise:
  sha1_name: Suggest commit:./file for path in subdir
  t1506: factor out test for "Did you mean..."

13 years agogit-add.txt: document 'add.ignoreErrors'
Valentin Haenel [Wed, 4 May 2011 19:58:17 +0000 (21:58 +0200)]
git-add.txt: document 'add.ignoreErrors'

Signed-off-by: Valentin Haenel <valentin.haenel@gmx.de>
Noticed-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoUpdate draft release notes to 1.7.6
Junio C Hamano [Mon, 2 May 2011 23:10:50 +0000 (16:10 -0700)]
Update draft release notes to 1.7.6

Signed-off-by: Junio C Hamano <gitster@pobox.com>
13 years agoMerge branch 'jk/notes-ui-updates'
Junio C Hamano [Mon, 2 May 2011 22:58:50 +0000 (15:58 -0700)]
Merge branch 'jk/notes-ui-updates'

* jk/notes-ui-updates:
  contrib/completion: --notes, --no-notes
  log/pretty-options: Document --[no-]notes and deprecate old notes options
  revision.c: make --no-notes reset --notes list
  revision.c: support --notes command-line option
  notes: refactor display notes default handling
  notes: refactor display notes extra refs field
  revision.c: refactor notes ref expansion
  notes: make expand_notes_ref globally accessible

13 years agoMerge branch 'ab/i18n-fixup'
Junio C Hamano [Mon, 2 May 2011 22:58:40 +0000 (15:58 -0700)]
Merge branch 'ab/i18n-fixup'

* ab/i18n-fixup: (24 commits)
  i18n: use test_i18n{cmp,grep} in t7600, t7607, t7611 and t7811
  i18n: use test_i18n{grep,cmp} in t7508
  i18n: use test_i18ngrep in t7506
  i18n: use test_i18ngrep and test_i18ncmp in t7502
  i18n: use test_i18ngrep in t7501
  i18n: use test_i18ncmp in t7500
  i18n: use test_i18ngrep in t7201
  i18n: use test_i18ncmp and test_i18ngrep in t7102 and t7110
  i18n: use test_i18ncmp and test_i18ngrep in t5541, t6040, t6120, t7004, t7012 and t7060
  i18n: use test_i18ncmp and test_i18ngrep in t3700, t4001 and t4014
  i18n: use test_i18ncmp and test_i18ngrep in t3203, t3501 and t3507
  i18n: use test_i18ngrep in t2020, t2204, t3030, and t3200
  i18n: use test_i18ngrep in lib-httpd and t2019
  i18n: do not overuse C_LOCALE_OUTPUT (grep)
  i18n: use test_i18ncmp in t1200 and t2200
  i18n: .git file is not a human readable message (t5601)
  i18n: do not overuse C_LOCALE_OUTPUT
  i18n: mark init-db messages for translation
  i18n: mark checkout plural warning for translation
  i18n: mark checkout --detach messages for translation
  ...