Vasco Almeida [Thu, 30 Jun 2016 16:49:18 +0000 (16:49 +0000)]
t5541: become resilient to GETTEXT_POISON
Use test_i18n* functions for testing text already marked for
translation.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 21:54:15 +0000 (21:54 +0000)]
i18n: branch: mark comment when editing branch description for translation
When one issues git branch --edit-description branch_name, a edit with
that message commented out is opened. Mark that message for translation
in to order to be localized.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 21:54:14 +0000 (21:54 +0000)]
i18n: unmark die messages for translation
These messages are relevant for the programmer only, not for the end
user. Thus, they can be unmarked for translation, saving translator
some work.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 21:54:13 +0000 (21:54 +0000)]
i18n: submodule: escape shell variables inside eval_gettext
According to the gettext manual [1], references to shell variables inside
eval_gettext call must be escaped so that eval_gettext receives the
translatable string before the variable values are substituted into it.
[1] http://www.gnu.org/software/gettext/manual/html_node/Preparing-Shell-Scripts.html
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 21:54:12 +0000 (21:54 +0000)]
i18n: submodule: join strings marked for translation
Join strings marked for translation since that would facilitate and
improve translations result.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 21:54:11 +0000 (21:54 +0000)]
i18n: init-db: join message pieces
Join message displayed during repository initialization in one entire
sentence. That would improve translations since it's easier translate
an entire sentence than translating each piece.
Update Icelandic translation to reflect the changes. The Icelandic
translation of these messages is used with test
t0204-gettext-reencode-sanity.sh and not updating the translation would
fail the test.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:22 +0000 (20:21 +0000)]
i18n: remote: allow translations to reorder message
Before this patch, translations couldn't place the branch name
where it was better fit in the message "and with remote <branch_name>".
Allow translations that, instead of forcing the branch name to display
right of the message.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:21 +0000 (20:21 +0000)]
i18n: remote: mark URL fallback text for translation
Marks fallback text for translation that may be displayed in git remote
show output.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:20 +0000 (20:21 +0000)]
i18n: standardise messages
Standardise messages in order to save translators some work.
Nuances fixed in this commit:
"failed to read %s"
"read of %s failed"
"detach the HEAD at named commit"
"detach HEAD at named commit"
"removing '%s' failed"
"failed to remove '%s'"
"index file corrupt"
"corrupt index file"
"failed to read %s"
"read of %s failed"
"detach the HEAD at named commit"
"detach HEAD at named commit"
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:19 +0000 (20:21 +0000)]
i18n: sequencer: add period to error message
Add a period to error message so it matches others instances in
sequencer.c. Now translator would have to translate such message only
once.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:18 +0000 (20:21 +0000)]
i18n: merge: change command option help to lowercase
Change command option description to lowercase, matching pull
counterpart option. Translators would have to translate such message
only once.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:17 +0000 (20:21 +0000)]
i18n: merge: mark messages for translation
Mark messages shown to the user for translation.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:15 +0000 (20:21 +0000)]
i18n: notes: mark options for translation
Mark options description of git prune for translation.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:14 +0000 (20:21 +0000)]
i18n: notes: mark strings for translation
Mark strings of messages for the user as translatable.
Update tests t3310-notes-merge-manual-resolve.sh and
t3320-notes-merge-worktrees.sh to reflect new translatable messages.
Tests that grep for .git/NOTES_MERGE_WORKTREE reflect the translatable
string "Automatic notes merge failed. Fix conflicts in %s and [...]".
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:13 +0000 (20:21 +0000)]
i18n: transport-helper.c: change N_() call to _()
The N_() no-op call currently marks the string to be extracted by
xgettext but doesn't trigger the retrieval of the translation at run
time, whereas _() does both. Meaning that, in spite of having
translations available, they were never retrieved to make use of them.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:12 +0000 (20:21 +0000)]
i18n: bisect: mark strings for translation
In the last message, involving Q_(), try to mark the message in such way
that is suited for RTL (Right to Left) languages.
Update test t6030-bisect-porcelain.sh to reflect the changes.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:11 +0000 (20:21 +0000)]
t5523: use test_i18ngrep for negation
Replace the first form with the second one:
! grep expected actual
test_i18ngrep ! expected actual
The latter syntax is supported by test_i18ngrep defined in
t/test-lib.sh.
Although the test already passes whether GETTEXT_POSION is enabled, use
the i18n grep variant for the sake of consistency and also to make
obvious that those strings are subject to i18n.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:10 +0000 (20:21 +0000)]
t4153: fix negated test_i18ngrep call
The function test_i18ngrep fakes success when run under GETTEXT_POISON.
Hence, running in the following manner will always fail under gettext
poison:
! test_i18ngrep expected actual
Use correct syntax: test_i18ngrep ! expected actual
For other instance of this issue see
41ca19b ("tests: fix negated
test_i18ngrep calls", 2014-08-13).
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:09 +0000 (20:21 +0000)]
t9003: become resilient to GETTEXT_POISON
The test t9003-help-autocorrect.sh fails when run under GETTEXT_POISON,
because it's expecting to filter out the original output. Accommodate
gettext poison case by also filtering out the default simulated output.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:08 +0000 (20:21 +0000)]
tests: unpack-trees: update to use test_i18n* functions
Use functions test_i18ncmp and test_i18ngrep to successfully pass tests
running under GETTEXT_POISON.
The output strings compared to in these test were marked for translation
in
ed47fdf ("i18n: unpack-trees: mark strings for translation",
2016-04-09) and later improved in
2e3926b ("i18n: unpack-trees: avoid
substituting only a verb in sentences", 2016-05-12).
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:07 +0000 (20:21 +0000)]
tests: use test_i18n* functions to suppress false positives
The test functions test_i18ncmp and test_i18ngrep pretend success if run
under GETTEXT_POISON. By using those functions to test output which is
correctly marked as translatable, enables one to detect if the strings
newly marked for translation are from plumbing output. If they are
indeed from plumbing, the test would fail, and the string should be
unmarked, since it is not seen by users.
Thus, it is productive to not have false positives when running the test
under GETTEXT_POISON. This commit replaces normal test functions by
their i18n aware variants in use-cases know to be correctly marked for
translation, suppressing false positives.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:06 +0000 (20:21 +0000)]
i18n: setup: mark strings for translation
Update tests that compare the strings newly marked for translation to
succeed when running under GETTEXT_POISON.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:05 +0000 (20:21 +0000)]
i18n: rebase-interactive: mark comments of squash for translation
Mark comment messages of squash/fixup file ($squash_msg) for
translation.
Helper functions this_nth_commit_message and skip_nth_commit_message
replace the previous method of making the comment messages (such as
"This is the 2nd commit message:") aided by nth_string helper function.
This step was taken as a workaround to enabled translation of entire
sentences. However, doesn't change any text seen in English by the user,
except for string "The first commit's message is:" which was changed to
match the style of other instances.
The test t3404-rebase-interactive.sh resorts to set_fake_editor which
didn't account for GETTEXT_POISON. Fix it by assuming success when we
find dummy gettext poison output where was supposed to find the first
comment line "This is a combination of $count commits.".
For that same message, use plural aware eval_ngettext instead of
eval_gettext, since other languages have more complex plural forms.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:04 +0000 (20:21 +0000)]
i18n: rebase-interactive: mark here-doc strings for translation
Use pipe to send gettext output to git stripspace instead of the
original method of using shell here-document, because command
substitution '$(...)' would not take place inside the here-documents.
The exception is the case of the last here-document redirecting to cat,
in which commands substitution works and, thus, is preserved in this
commit.
t3404: adapt test to the strings newly marked for translation
Test t3404-rebase-interactive.sh would fail under GETTEXT_POISON unless
using test_i18ngrep.
Add eval_ngettext fallback functions to be called when running, for
instance, under GETTEXT_POISON. Otherwise, tests would fail under
GETTEXT_POISON, or other build that doesn't support the GNU gettext,
because that function could not be found.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:03 +0000 (20:21 +0000)]
i18n: rebase-interactive: mark strings for translation
Mark strings in git-rebase--interactive.sh for translation. There is no
need to source git-sh-i18n since git-rebase.sh already does so.
Add git-rebase--interactive.sh to LOCALIZED_SH in Makefile in order to
enable extracting strings marked for translation by xgettext.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:02 +0000 (20:21 +0000)]
i18n: git-sh-setup.sh: mark strings for translation
Positional arguments, such as $0, $1, etc, need to be stored on shell
variables for use in translatable strings, according to gettext manual
[1].
Add git-sh-setup.sh to LOCALIZED_SH variable in Makefile to enable
extraction of string marked for translation by xgettext.
Source git-sh-i18n in git-sh-setup.sh for gettext support.
git-sh-setup.sh is a shell library to be sourced by other shell scripts.
In order to avoid other scripts from sourcing git-sh-i18n twice, remove
line that sources it from them. Not sourcing git-sh-i18n in any script
that uses gettext would lead to failure due to, for instance, gettextln
not being found.
[1] http://www.gnu.org/software/gettext/manual/html_node/Preparing-Shell-Scripts.html
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:01 +0000 (20:21 +0000)]
t6030: update to use test_i18ncmp
Since the git bisect output tested here is subject to translation, the
helper function test_i18ncmp should be used over test_cmp.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:21:00 +0000 (20:21 +0000)]
i18n: bisect: simplify error message for i18n
The message was not being extracted by xgettext, although it was marked
for translation, seemingly because it contained a command substitution.
Moreover, eval_gettext should be used instead of gettext for strings
with substitution.
See step 4. of section 15.5.2.1 Preparing Shell Scripts for
Internationalization from gettext manual [1]:
"Simplify translatable strings so that they don't contain command
substitution ("`...`" or "$(...)") [...]"
[1] http://www.gnu.org/software/gettext/manual/html_node/Preparing-Shell-Scripts.html
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:59 +0000 (20:20 +0000)]
i18n: rebase: mark placeholder for translation
Mark placeholder "<branch>" in git-rebase.sh for translation. The string
containing the named placeholder is passed to shell function
error_on_missing_default_upstream in git-parse-remote.sh which uses it
to display a command hint for the user.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:58 +0000 (20:20 +0000)]
i18n: rebase: fix marked string to use eval_gettext variant
The string message marked for translation should use eval_gettext
variant instead of the gettext one, since we want to dollar-substitute
$head_name in the result.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:57 +0000 (20:20 +0000)]
merge-octopus: use die shell function from git-sh-setup.sh
Source git-sh-setup in order to use die shell function from
git-sh-setup.sh library instead of using the one defined in
git-merge-octopus.sh. Remove the former die function.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:56 +0000 (20:20 +0000)]
i18n: merge-octopus: mark messages for translation
Mark messages in git-merge-octopus.sh for translation.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:55 +0000 (20:20 +0000)]
i18n: sequencer: mark string for translation
Mark informative string "<action_name>: fast-forward" for translation.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:54 +0000 (20:20 +0000)]
i18n: sequencer: mark entire sentences for translation
Mark entire sentences of error message rather than assembling one using
placeholders (e.g. "Cannot %s during a %s").
That would facilitate translation work because it is easier to translate
a entire sentence than translating pieces. We would have better
translations at the expense of source code verbosity.
Moreover, translators can now 1) translate the terms "revert" and
"cherry-pick" if they please 2) have more leeway to adapt their
translations.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:53 +0000 (20:20 +0000)]
i18n: transport: mark strings for translation
Mark one printf string and one error string for translation.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:52 +0000 (20:20 +0000)]
i18n: advice: internationalize message for conflicts
Mark message for translation telling the user she has conflicts to
resolve. Expose each particular use case, in order to enable translating
entire sentences which would facilitate translating into other
languages.
Change "Pull" to lowercase to match other instances. Update test
t5520-pull.sh, that relied on the old error message, to use the new one.
Although we loose in source code conciseness, we would gain better
translations because translators can 1) translate the entire sentence,
including those terms concerning Git (committing, merging, etc) 2) have
leeway to adapt to their languages.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:51 +0000 (20:20 +0000)]
i18n: advice: mark string about detached head for translation
Mark string with advice seen by the user when in detached head.
Update test t7201-co.sh to pass under GETTEXT_POISON build. Pretend
success if the number of lines of "git checkout renamer^" output is not
greater than 1 and test are running under GETTEXT_POISON.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Vasco Almeida [Fri, 17 Jun 2016 20:20:50 +0000 (20:20 +0000)]
i18n: builtin/remote.c: fix mark for translation
The second string inside _() was not being extracted for translation by
xgettext, meaning that, although the string was passed to gettext, there
was no translation available.
Mark each individual string instead of marking the result of ternary if.
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 7 Jun 2016 21:28:53 +0000 (14:28 -0700)]
Merge branch 'jc/t2300-setup' into HEAD
* jc/t2300-setup:
t2300: run git-sh-setup in an environment that better mimics the real life
More topics for 2.8.4
Junio C Hamano [Wed, 1 Jun 2016 20:30:47 +0000 (13:30 -0700)]
t2300: run git-sh-setup in an environment that better mimics the real life
When we run scripted Porcelains, "git" potty has set up the $PATH by
prepending $GIT_EXEC_PATH, the path given by "git --exec-path=$there
$cmd", etc. already. Because of this, scripted Porcelains can
dot-source shell script library like git-sh-setup with simple dot
without specifying any path.
t2300 however dot-sources git-sh-setup without adjusting $PATH like
the real "git" potty does. This has not been a problem so far, but
once git-sh-setup wants to rely on the $PATH adjustment, just like
any scripted Porcelains already do, it would become one. It cannot
for example dot-source another shell library without specifying the
full path to it by prefixing $(git --exec-path).
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 31 May 2016 21:11:38 +0000 (14:11 -0700)]
More topics for 2.8.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 31 May 2016 21:09:46 +0000 (14:09 -0700)]
Merge branch 'sb/submodule-deinit-all' into maint
Correct faulty recommendation to use "git submodule deinit ." when
de-initialising all submodules, which would result in a strange
error message in a pathological corner case.
* sb/submodule-deinit-all:
submodule deinit: require '--all' instead of '.' for all submodules
Junio C Hamano [Tue, 31 May 2016 21:08:28 +0000 (14:08 -0700)]
Merge branch 'bn/http-cookiefile-config' into maint
"http.cookieFile" configuration variable clearly wants a pathname,
but we forgot to treat it as such by e.g. applying tilde expansion.
* bn/http-cookiefile-config:
http: expand http.cookieFile as a path
Documentation: config: improve word ordering for http.cookieFile
Junio C Hamano [Tue, 31 May 2016 21:08:27 +0000 (14:08 -0700)]
Merge branch 'jk/test-send-sh-x-trace-elsewhere' into maint
Running tests with '-x' option to trace the individual command
executions is a useful way to debug test scripts, but some tests
that capture the standard error stream and check what the command
said can be broken with the trace output mixed in. When running
our tests under "bash", however, we can redirect the trace output
to another file descriptor to keep the standard error of programs
being tested intact.
* jk/test-send-sh-x-trace-elsewhere:
test-lib: set BASH_XTRACEFD automatically
Junio C Hamano [Tue, 31 May 2016 21:08:26 +0000 (14:08 -0700)]
Merge branch 'js/name-rev-use-oldest-ref' into maint
"git describe --contains" often made a hard-to-justify choice of
tag to give name to a given commit, because it tried to come up
with a name with smallest number of hops from a tag, causing an old
commit whose close descendant that is recently tagged were not
described with respect to an old tag but with a newer tag. It did
not help that its computation of "hop" count was further tweaked to
penalize being on a side branch of a merge. The logic has been
updated to favor using the tag with the oldest tagger date, which
is a lot easier to explain to the end users: "We describe a commit
in terms of the (chronologically) oldest tag that contains the
commit."
* js/name-rev-use-oldest-ref:
name-rev: include taggerdate in considering the best name
Junio C Hamano [Thu, 26 May 2016 20:28:24 +0000 (13:28 -0700)]
Sync with maint
* maint:
Start preparing for 2.8.4
archive-tar: convert snprintf to xsnprintf
Junio C Hamano [Thu, 26 May 2016 20:21:00 +0000 (13:21 -0700)]
Start preparing for 2.8.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 26 May 2016 20:17:26 +0000 (13:17 -0700)]
Merge branch 'jc/linkgit-fix' into maint
Many 'linkgit:<git documentation page>' references were broken,
which are all fixed with this.
* jc/linkgit-fix:
Documentation: fix linkgit references
Junio C Hamano [Thu, 26 May 2016 20:17:25 +0000 (13:17 -0700)]
Merge branch 'ls/travis-build-doc' into maint
CI test was taught to build documentation pages.
* ls/travis-build-doc:
travis-ci: build documentation
Junio C Hamano [Thu, 26 May 2016 20:17:24 +0000 (13:17 -0700)]
Merge branch 'jc/fsck-nul-in-commit' into maint
"git fsck" learned to catch NUL byte in a commit object as
potential error and warn.
* jc/fsck-nul-in-commit:
fsck: detect and warn a commit with embedded NUL
fsck_commit_buffer(): do not special case the last validation
Junio C Hamano [Thu, 26 May 2016 20:17:24 +0000 (13:17 -0700)]
Merge branch 'jk/rebase-interative-eval-fix' into maint
Portability enhancement for "rebase -i" to help platforms whose
shell does not like "for i in <empty>" (which is not POSIX-kosher).
* jk/rebase-interative-eval-fix:
rebase--interactive: avoid empty list in shell for-loop
Junio C Hamano [Thu, 26 May 2016 20:17:23 +0000 (13:17 -0700)]
Merge branch 'js/windows-dotgit' into maint
On Windows, .git and optionally any files whose name starts with a
dot are now marked as hidden, with a core.hideDotFiles knob to
customize this behaviour.
* js/windows-dotgit:
mingw: remove unnecessary definition
mingw: introduce the 'core.hideDotFiles' setting
Junio C Hamano [Thu, 26 May 2016 20:17:22 +0000 (13:17 -0700)]
Merge branch 'kf/gpg-sig-verification-doc' into maint
Documentation for "git merge --verify-signatures" has been updated
to clarify that the signature of only the commit at the tip is
verified. Also the phrasing used for signature and key validity is
adjusted to align with that used by OpenPGP.
* kf/gpg-sig-verification-doc:
Documentation: clarify signature verification
Junio C Hamano [Thu, 26 May 2016 20:17:21 +0000 (13:17 -0700)]
Merge branch 'lp/typofixes' into maint
Typofixes.
* lp/typofixes:
typofix: assorted typofixes in comments, documentation and messages
Junio C Hamano [Thu, 26 May 2016 20:17:21 +0000 (13:17 -0700)]
Merge branch 'sb/z-is-gnutar-ism' into maint
Test fix.
* sb/z-is-gnutar-ism:
t6041: do not compress backup tar file
t3513: do not compress backup tar file
Junio C Hamano [Thu, 26 May 2016 20:17:20 +0000 (13:17 -0700)]
Merge branch 'va/i18n-misc-updates' into maint
Mark several messages for translation.
* va/i18n-misc-updates:
i18n: unpack-trees: avoid substituting only a verb in sentences
i18n: builtin/pull.c: split strings marked for translation
i18n: builtin/pull.c: mark placeholders for translation
i18n: git-parse-remote.sh: mark strings for translation
i18n: branch: move comment for translators
i18n: branch: unmark string for translation
i18n: builtin/rm.c: remove a comma ',' from string
i18n: unpack-trees: mark strings for translation
i18n: builtin/branch.c: mark option for translation
i18n: index-pack: use plural string instead of normal one
Junio C Hamano [Thu, 26 May 2016 20:17:19 +0000 (13:17 -0700)]
Merge branch 'bn/config-doc-tt-varnames' into maint
Doc formatting fixes.
* bn/config-doc-tt-varnames:
config: consistently format $variables in monospaced font
config: describe 'pathname' value type
Junio C Hamano [Thu, 26 May 2016 20:17:18 +0000 (13:17 -0700)]
Merge branch 'nd/remote-plural-ours-plus-theirs' into maint
Message fix.
* nd/remote-plural-ours-plus-theirs:
remote.c: specify correct plural form in "commit diverge" message
Junio C Hamano [Thu, 26 May 2016 20:17:17 +0000 (13:17 -0700)]
Merge branch 'ak/t4151-ls-files-could-be-empty' into maint
Test fix.
* ak/t4151-ls-files-could-be-empty:
t4151: make sure argument to 'test -z' is given
Junio C Hamano [Thu, 26 May 2016 20:17:16 +0000 (13:17 -0700)]
Merge branch 'jc/test-seq' into maint
Test fix.
* jc/test-seq:
test-lib-functions.sh: rewrite test_seq without Perl
test-lib-functions.sh: remove misleading comment on test_seq
Junio C Hamano [Thu, 26 May 2016 20:17:15 +0000 (13:17 -0700)]
Merge branch 'tb/t5601-sed-fix' into maint
Test fix.
* tb/t5601-sed-fix:
t5601: Remove trailing space in sed expression
Junio C Hamano [Thu, 26 May 2016 20:17:14 +0000 (13:17 -0700)]
Merge branch 'va/i18n-remote-comment-to-align' into maint
Message fix.
* va/i18n-remote-comment-to-align:
i18n: remote: add comment for translators
Junio C Hamano [Thu, 26 May 2016 20:17:13 +0000 (13:17 -0700)]
Merge branch 'va/mailinfo-doc-typofix' into maint
Typofix.
* va/mailinfo-doc-typofix:
Documentation/git-mailinfo: fix typo
Junio C Hamano [Thu, 26 May 2016 20:16:51 +0000 (13:16 -0700)]
Merge branch 'maint-2.7' into maint
* maint-2.7:
archive-tar: convert snprintf to xsnprintf
Junio C Hamano [Thu, 26 May 2016 17:45:37 +0000 (10:45 -0700)]
Merge branch 'jk/war-on-sprintf' into maint-2.7
* jk/war-on-sprintf:
archive-tar: convert snprintf to xsnprintf
Jeff King [Thu, 26 May 2016 04:28:08 +0000 (00:28 -0400)]
archive-tar: convert snprintf to xsnprintf
Commit
f2f0267 (archive-tar: use xsnprintf for trivial
formatting, 2015-09-24) converted cases of "sprintf" to
"xsnprintf", but accidentally left one as just "snprintf".
This meant that we could silently truncate the resulting
buffer instead of flagging an error.
In practice, this is impossible to achieve, as we are
formatting a ustar checksum, which can be at most 7
characters. But the point of xsnprintf is to document and
check for "should be impossible" conditions; this site was
just accidentally mis-converted during
f2f0267.
Noticed-by: Paul Green <Paul.Green@stratus.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 23 May 2016 22:02:48 +0000 (15:02 -0700)]
Git 2.9-rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 23 May 2016 22:01:03 +0000 (15:01 -0700)]
Merge branch 'svn-travis' of git://bogomips.org/git-svn
* 'svn-travis' of git://bogomips.org/git-svn:
travis-ci: enable Git SVN tests t91xx on Linux
Junio C Hamano [Mon, 23 May 2016 21:54:37 +0000 (14:54 -0700)]
Merge branch 'jc/rerere-multi'
* jc/rerere-multi:
rerere: remove an null statement
rerere: plug memory leaks upon "rerere forget" failure
Junio C Hamano [Mon, 23 May 2016 21:54:36 +0000 (14:54 -0700)]
Merge branch 'da/difftool'
"git difftool" learned to handle unmerged paths correctly in
dir-diff mode.
* da/difftool:
difftool: handle unmerged files in dir-diff mode
difftool: initialize variables for readability
Junio C Hamano [Mon, 23 May 2016 21:54:35 +0000 (14:54 -0700)]
Merge branch 'jk/test-z-n-unquoted'
t9xxx series has been updated primarily for readability, while
fixing small bugs in it. A few scripted Porcelains have also been
updated to fix possible bugs around their use of "test -z" and
"test -n".
* jk/test-z-n-unquoted:
always quote shell arguments to test -z/-n
t9103: modernize test style
t9107: switch inverted single/double quotes in test
t9107: use "return 1" instead of "exit 1"
t9100,t3419: enclose all test code in single-quotes
t/lib-git-svn: drop $remote_git_svn and $git_svn_id
Junio C Hamano [Mon, 23 May 2016 21:54:35 +0000 (14:54 -0700)]
Merge branch 'ar/diff-args-osx-precompose'
Many commands normalize command line arguments from NFD to NFC
variant of UTF-8 on OSX, but commands in the "diff" family did
not, causing "git diff $path" to complain that no such path is
known to Git. They have been taught to do the normalization.
* ar/diff-args-osx-precompose:
diff: run arguments through precompose_argv
Junio C Hamano [Mon, 23 May 2016 21:54:34 +0000 (14:54 -0700)]
Merge branch 'jc/doc-lint'
Find common mistakes when writing gitlink: in our documentation and
drive the check from "make check-docs".
I am not entirely happy with the way the script chooses what input
file to validate, but it is not worse than not having anything, so
let's move it forward and have the logic improved later when people
care about it deeply.
* jc/doc-lint:
ci: validate "linkgit:" in documentation
Junio C Hamano [Mon, 23 May 2016 21:54:33 +0000 (14:54 -0700)]
Merge branch 'js/perf-rebase-i'
Add perf test for "rebase -i"
* js/perf-rebase-i:
perf: run "rebase -i" under perf
perf: make the tests work in worktrees
perf: let's disable symlinks when they are not available
Junio C Hamano [Mon, 23 May 2016 21:54:32 +0000 (14:54 -0700)]
Merge branch 'jc/test-parse-options-expect'
t0040 had too many unnecessary repetitions in its test data. Teach
test-parse-options program so that a caller can tell what it
expects in its output, so that these repetitions can be cleaned up.
* jc/test-parse-options-expect:
t0040: convert a few tests to use test-parse-options --expect
t0040: remove unused test helpers
test-parse-options: --expect=<string> option to simplify tests
test-parse-options: fix output when callback option fails
Junio C Hamano [Mon, 23 May 2016 21:54:31 +0000 (14:54 -0700)]
Merge branch 'pb/commit-verbose-config'
"git commit" learned to pay attention to "commit.verbose"
configuration variable and act as if "--verbose" option was
given from the command line.
* pb/commit-verbose-config:
commit: add a commit.verbose config variable
t7507-commit-verbose: improve test coverage by testing number of diffs
parse-options.c: make OPTION_COUNTUP respect "unspecified" values
t/t7507: improve test coverage
t0040-parse-options: improve test coverage
test-parse-options: print quiet as integer
t0040-test-parse-options.sh: fix style issues
Junio C Hamano [Mon, 23 May 2016 21:54:31 +0000 (14:54 -0700)]
Merge branch 'xy/format-patch-base'
"git format-patch" learned a new "--base" option to record what
(public, well-known) commit the original series was built on in
its output.
* xy/format-patch-base:
format-patch: introduce format.useAutoBase configuration
format-patch: introduce --base=auto option
format-patch: add '--base' option to record base tree info
patch-ids: make commit_patch_id() a public helper function
Junio C Hamano [Mon, 23 May 2016 21:54:30 +0000 (14:54 -0700)]
Merge branch 'tb/core-eol-fix'
A couple of bugs around core.autocrlf have been fixed.
* tb/core-eol-fix:
convert.c: ident + core.autocrlf didn't work
t0027: test cases for combined attributes
convert: allow core.autocrlf=input and core.eol=crlf
t0027: make commit_chk_wrnNNO() reliable
Junio C Hamano [Mon, 23 May 2016 21:54:29 +0000 (14:54 -0700)]
Merge branch 'nd/worktree-various-heads'
The experimental "multiple worktree" feature gains more safety to
forbid operations on a branch that is checked out or being actively
worked on elsewhere, by noticing that e.g. it is being rebased.
* nd/worktree-various-heads:
branch: do not rename a branch under bisect or rebase
worktree.c: check whether branch is bisected in another worktree
wt-status.c: split bisect detection out of wt_status_get_state()
worktree.c: check whether branch is rebased in another worktree
worktree.c: avoid referencing to worktrees[i] multiple times
wt-status.c: make wt_status_check_rebase() work on any worktree
wt-status.c: split rebase detection out of wt_status_get_state()
path.c: refactor and add worktree_git_path()
worktree.c: mark current worktree
worktree.c: make find_shared_symref() return struct worktree *
worktree.c: store "id" instead of "git_dir"
path.c: add git_common_path() and strbuf_git_common_path()
dir.c: rename str(n)cmp_icase to fspath(n)cmp
Junio C Hamano [Mon, 23 May 2016 21:54:28 +0000 (14:54 -0700)]
Merge branch 'ss/commit-dry-run-resolve-merge-to-no-op'
"git commit --dry-run" reported "No, no, you cannot commit." in one
case where "git commit" would have allowed you to commit, and this
improves it a little bit ("git commit --dry-run --short" still does
not give you the correct answer, for example). This is a stop-gap
measure in that "commit --short --dry-run" still gives an incorrect
result.
* ss/commit-dry-run-resolve-merge-to-no-op:
wt-status.c: set commitable bit if there is a meaningful merge.
Lars Schneider [Thu, 19 May 2016 09:10:08 +0000 (11:10 +0200)]
travis-ci: enable Git SVN tests t91xx on Linux
Install the "git-svn" package to make the Perl SVN libraries available
to the Git SVN tests on Travis-CI Linux build machines.
Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Eric Wong <e@80x24.org>
Junio C Hamano [Thu, 19 May 2016 19:51:22 +0000 (12:51 -0700)]
rerere: remove an null statement
J6t spotted that previous commit added an empty statement by
mistake.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 18 May 2016 22:33:57 +0000 (15:33 -0700)]
Sync with 2.8.3
* maint:
Git 2.8.3
Junio C Hamano [Wed, 18 May 2016 21:45:08 +0000 (14:45 -0700)]
Git 2.8.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 18 May 2016 22:11:46 +0000 (15:11 -0700)]
Merge branch 'jk/push-client-deadlock-fix'
Some Windows SDK lacks pthread_sigmask() implementation and fails
to compile the recently updated "git push" codepath that uses it.
* jk/push-client-deadlock-fix:
Windows: only add a no-op pthread_sigmask() when needed
Windows: add pthread_sigmask() that does nothing
Junio C Hamano [Wed, 18 May 2016 21:40:15 +0000 (14:40 -0700)]
Merge branch 'sb/misc-cleanups' into HEAD
* sb/misc-cleanups:
submodule-config: don't shadow `cache`
config.c: drop local variable
credential-cache, send_request: close fd when done
bundle: don't leak an fd in case of early return
abbrev_sha1_in_line: don't leak memory
notes: don't leak memory in git_config_get_notes_strategy
Junio C Hamano [Wed, 18 May 2016 21:40:15 +0000 (14:40 -0700)]
Merge branch 'ew/doc-split-pack-disables-bitmap' into HEAD
Doc update.
* ew/doc-split-pack-disables-bitmap:
pack-objects: warn on split packs disabling bitmaps
Junio C Hamano [Wed, 18 May 2016 21:40:14 +0000 (14:40 -0700)]
Merge branch 'sb/clean-test-fix' into HEAD
* sb/clean-test-fix:
t7300: mark test with SANITY
Junio C Hamano [Wed, 18 May 2016 21:40:13 +0000 (14:40 -0700)]
Merge branch 'rn/glossary-typofix' into HEAD
* rn/glossary-typofix:
Documentation: fix typo 'In such these cases'
Junio C Hamano [Wed, 18 May 2016 21:40:12 +0000 (14:40 -0700)]
Merge branch 'ew/normal-to-e' into HEAD
* ew/normal-to-e:
.mailmap: update to my shorter email address
Junio C Hamano [Wed, 18 May 2016 21:40:12 +0000 (14:40 -0700)]
Merge branch 'sb/config-exit-status-list' into HEAD
Doc update.
* sb/config-exit-status-list:
config doc: improve exit code listing
Junio C Hamano [Wed, 18 May 2016 21:40:12 +0000 (14:40 -0700)]
Merge branch 'rt/string-list-lookup-cleanup' into HEAD
Code cleanup.
* rt/string-list-lookup-cleanup:
string_list: use string-list API in unsorted_string_list_lookup()
Junio C Hamano [Wed, 18 May 2016 21:40:12 +0000 (14:40 -0700)]
Merge branch 'jk/fix-attribute-macro-in-2.5' into HEAD
Code fixup.
* jk/fix-attribute-macro-in-2.5:
remote.c: spell __attribute__ correctly
Junio C Hamano [Wed, 18 May 2016 21:40:11 +0000 (14:40 -0700)]
Merge branch 'sg/test-lib-simplify-expr-away' into HEAD
Code cleanup.
* sg/test-lib-simplify-expr-away:
test-lib: simplify '--option=value' parsing
Junio C Hamano [Wed, 18 May 2016 21:40:11 +0000 (14:40 -0700)]
Merge branch 'nd/remove-unused' into HEAD
Code cleanup.
* nd/remove-unused:
wrapper.c: delete dead function git_mkstemps()
dir.c: remove dead function fnmatch_icase()
Junio C Hamano [Wed, 18 May 2016 21:40:10 +0000 (14:40 -0700)]
Merge branch 'sk/gitweb-highlight-encoding' into HEAD
Some multi-byte encoding can have a backslash byte as a later part
of one letter, which would confuse "highlight" filter used in
gitweb.
* sk/gitweb-highlight-encoding:
gitweb: apply fallback encoding before highlight
Junio C Hamano [Wed, 18 May 2016 21:40:09 +0000 (14:40 -0700)]
Merge branch 'ls/travis-submitting-patches' into HEAD
* ls/travis-submitting-patches:
Documentation: add setup instructions for Travis CI
Junio C Hamano [Wed, 18 May 2016 21:40:09 +0000 (14:40 -0700)]
Merge branch 'js/close-packs-before-gc' into HEAD
* js/close-packs-before-gc:
t5510: run auto-gc in the foreground
Junio C Hamano [Wed, 18 May 2016 21:40:08 +0000 (14:40 -0700)]
Merge branch 'ls/p4-lfs' into HEAD
Recent update to Git LFS broke "git p4" by changing the output from
its "lfs pointer" subcommand.
* ls/p4-lfs:
git-p4: fix Git LFS pointer parsing
travis-ci: express Linux/OS X dependency versions more clearly
travis-ci: update Git-LFS and P4 to the latest version
Junio C Hamano [Wed, 18 May 2016 21:40:08 +0000 (14:40 -0700)]
Merge branch 'ls/p4-lfs-test-fix-2.7.0' into HEAD
Fix a broken test.
* ls/p4-lfs-test-fix-2.7.0:
t9824: fix wrong reference value
t9824: fix broken &&-chain in a subshell