AgeCommit message (Collapse)Author
2019-04-15submodule foreach: fix "<command> --quiet" not being respectedNguyễn Thái Ngọc Duy
Robin reported that git submodule foreach --quiet git pull --quiet origin is not really quiet anymore [1]. "git pull" behaves as if --quiet is not given. This happens because parseopt in submodule--helper will try to parse both --quiet options as if they are foreach's options, not git-pull's. The parsed options are removed from the command line. So when we do pull later, we execute just this git pull origin When calling submodule helper, adding "--" in front of "git pull" will stop parseopt for parsing options that do not really belong to submodule--helper foreach. PARSE_OPT_KEEP_UNKNOWN is removed as a safety measure. parseopt should never see unknown options or something has gone wrong. There are also a couple usage string update while I'm looking at them. While at it, I also add "--" to other subcommands that pass "$@" to submodule--helper. "$@" in these cases are paths and less likely to be --something-like-this. But the point still stands, git-submodule has parsed and classified what are options, what are paths. submodule--helper should never consider paths passed by git-submodule to be options even if they look like one. The test case is also contributed by Robin. [1] it should be quiet before fc1b9243cd (submodule: port submodule subcommand 'foreach' from shell to C, 2018-05-10) because parseopt can't accidentally eat options then. Reported-by: Robin H. Johnson <> Tested-by: Robin H. Johnson <> Signed-off-by: Robin H. Johnson <> Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
2019-03-11mingw: allow building with an MSYS2 runtime v3.xJohannes Schindelin
Recently the Git for Windows project started the upgrade process to a MSYS2 runtime version based on Cygwin v3.x. This has the very notable consequence that `$(uname -r)` no longer reports a version starting with "2", but a version with "3". That breaks our build, as df5218b4c30b (config.mak.uname: support MSys2, 2016-01-13) simply did not expect the version reported by `uname -r` to depend on the underlying Cygwin version: it expected the reported version to match the "2" in "MSYS2". So let's invert that test case to test for *anything else* than a version starting with "1" (for MSys). That should safeguard us for the future, even if Cygwin ends up releasing versionsl like 314.272.65536. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2019-03-05Merge tag 'l10n-2.21.0-rnd2.1' of git:// C Hamano
L10n for Git 2.21.0 round 2.1 * tag 'l10n-2.21.0-rnd2.1' of git:// l10n: Fixes to Catalan translation l10n: Updated Vietnamese translation for v2.21 rd2 l10n: fr.po remove obsolete entries
2019-03-02l10n: Fixes to Catalan translationJordi Mas
Signed-off-by: Jordi Mas <>
2019-03-01l10n: Updated Vietnamese translation for v2.21 rd2Tran Ngoc Quan
Signed-off-by: Tran Ngoc Quan <>
2019-02-26l10n: fr.po remove obsolete entriesJean-Noël Avila
On NetBSD, the version of msgfmt is still 0.14.4. There's no hope for an upgrade due to some GPLv3 allergy of NetBSD's. This version chokes on heavily decorated commented entries in po files. It's safer to get rid of all these obsolete entries. Signed-off-by: Jean-Noël Avila <>
2019-02-24Git 2.21v2.21.0Junio C Hamano
Signed-off-by: Junio C Hamano <>
2019-02-24Merge branch 'yn/checkout-doc-fix'Junio C Hamano
Doc fix. * yn/checkout-doc-fix: checkout doc: fix an unmatched double-quote pair
2019-02-24Merge tag 'l10n-2.21.0-rnd2' of git:// C Hamano
l10n-2.21.0-rnd2 * tag 'l10n-2.21.0-rnd2' of git:// l10n: bg.po: Updated Bulgarian translation (4363t) l10n: update German translation l10n: zh_CN: Revision for git v2.21.0 l10n l10n: zh_CN: for git v2.21.0 l10n round 1~2 l10n: bg.po: correct typo l10n: Update Swedish translation (4363t0f0u) l10n: de.po: fix grammar in message for tag.c l10n: de.po: fix a message for index-pack.c l10n: de.po: consistent translation of 'root commit' l10n: it: update the Italian translation l10n: es: 2.21.0 round 2 l10n: el: add Greek l10n team and essential translations l10n: fr.po v2.21.0 rnd 2 l10n: fr.po Fix some typos from round3 l10n: fr.po Fix some typos l10n: Fixes to Catalan translation l10n: git.pot: v2.21.0 round 2 (3 new, 3 removed) l10n: git.pot: v2.21.0 round 1 (214 new, 38 removed) l10n: zh_CN: fix typo of submodule init message l10n: Update Catalan translation
2019-02-24README: adjust for final Azure Pipeline IDJohannes Schindelin
During the six months of development of the Azure Pipelines support, the patches went through quite a few iterations of changes, and to test those iterations, a temporary build definition was used. In the meantime, Azure Pipelines support made it to `master`, and we now have a regular Azure Pipeline, installed via the common GitHub App workflow. This new pipeline has a different name (git.git instead of test-git.git), and a new ID (11 instead of 2). Let's adjust the badge in our README to reflect that final shape of the Azure Pipeline. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2019-02-24checkout doc: fix an unmatched double-quote pairYoichi Nakayama
Signed-off-by: Yoichi Nakayama <> Signed-off-by: Junio C Hamano <>
2019-02-23l10n: bg.po: Updated Bulgarian translation (4363t)Alexander Shopov
Signed-off-by: Alexander Shopov <>
2019-02-23Merge branch 'ab/bsd-fixes'Junio C Hamano
Test portability fix. * ab/bsd-fixes: commit-graph tests: fix unportable "dd" invocation tests: fix unportable "\?" and "\+" regex syntax
2019-02-23Merge branch 'ab/workaround-dash-bug-in-test'Junio C Hamano
* ab/workaround-dash-bug-in-test: tests: avoid syntax triggering old dash bug
2019-02-22commit-graph tests: fix unportable "dd" invocationÆvar Arnfjörð Bjarmason
Change an unportable invocation of "dd" with count=0, that wanted to truncate the commit-graph file. In POSIX it is unspecified what happens when count=0 is provided[1]. The NetBSD "dd" behavior differs from GNU (and seemingly other BSDs), which has left this test broken since d2b86fbaa1 ("commit-graph: fix buffer read-overflow", 2019-01-15). Copying from /dev/null would seek/truncate to seek=$zero_pos and stop immediately after that (without being able to copy anything), which is the right way to truncate the file. 1. Signed-off-by: Ævar Arnfjörð Bjarmason <> Helped-by: SZEDER Gábor <> Signed-off-by: Junio C Hamano <>
2019-02-22Merge branch 'master' of Xin
2019-02-22l10n: update German translationRalf Thielow
Signed-off-by: Ralf Thielow <> Reviewed-by: Matthias Rüster <>
2019-02-22tests: fix unportable "\?" and "\+" regex syntaxÆvar Arnfjörð Bjarmason
Fix widely supported but non-POSIX basic regex syntax introduced in [1] and [2]. On GNU, NetBSD and FreeBSD the following works: $ echo xy >f $ grep 'xy\?' f; echo $? xy 0 The same goes for "\+". The "?" and "+" syntax is not in the BRE syntax, just in ERE, but on some implementations it can be invoked by prefixing the meta-operator with "\", but not on OpenBSD: $ uname -a OpenBSD 6.2 GENERIC#132 amd64 $ grep --version grep version 0.9 $ grep 'xy\?' f; echo $? 1 Let's fix this by moving to ERE syntax instead, where "?" and "+" are universally supported: $ grep -E 'xy?' f; echo $? xy 0 1. 2ed5c8e174 ("describe: setup working tree for --dirty", 2019-02-03) 2. c801170b0c ("t6120: test for describe with a bare repository", 2019-02-03) Signed-off-by: Ævar Arnfjörð Bjarmason <> Signed-off-by: Junio C Hamano <>
2019-02-20Merge branch 'bg-submodule-helper-typo' of Xin
2019-02-20l10n: zh_CN: Revision for git v2.21.0 l10nFangyi Zhou
Signed-off-by: Fangyi Zhou <>
2019-02-20l10n: zh_CN: for git v2.21.0 l10n round 1~2Jiang Xin
Translate 214 new messages (4363t0f0u) for git 2.21.0. Signed-off-by: Jiang Xin <>
2019-02-20l10n: bg.po: correct typoNguyễn Thái Ngọc Duy
Signed-off-by: Nguyễn Thái Ngọc Duy <>
2019-02-20l10n: Update Swedish translation (4363t0f0u)Peter Krefting
Signed-off-by: Peter Krefting <>
2019-02-19Git 2.21-rc2v2.21.0-rc2Junio C Hamano
Signed-off-by: Junio C Hamano <>
2019-02-19Merge branch 'js/test-tool-gen-nuls'Junio C Hamano
* js/test-tool-gen-nuls: tests: teach the test-tool to generate NUL bytes and use it
2019-02-19Merge branch 'mk/t5562-no-input-to-too-large-an-input-test'Junio C Hamano
* mk/t5562-no-input-to-too-large-an-input-test: t5562: do not depend on /dev/zero Revert "t5562: replace /dev/zero with a pipe from generate_zero_bytes"
2019-02-19Merge branch 'mk/t5562-do-not-reuse-output-files'Junio C Hamano
* mk/t5562-do-not-reuse-output-files: t5562: do not reuse output files
2019-02-19t5562: do not reuse output filesMax Kirillov
Some expected failures of git-http-backend leaves running its children (receive-pack or upload-pack) which still hold opened descriptors to act.err and with some probability they live long enough to write there their failure messages after next test has already truncated the files. This causes occasional failures of the test script. Avoid the issue by using separated output and error file for each test, apprending the test number to their name. Reported-by: Carlo Arenas <> Helped-by: Carlo Arenas <> Helped-by: Junio C Hamano <> Signed-off-by: Max Kirillov <> Signed-off-by: Junio C Hamano <>
2019-02-19tests: teach the test-tool to generate NUL bytes and use itJohannes Schindelin
In cc95bc2025 (t5562: replace /dev/zero with a pipe from generate_zero_bytes, 2019-02-09), we replaced usage of /dev/zero (which is not available on NonStop, apparently) by a Perl script snippet to generate NUL bytes. Sadly, it does not seem to work on NonStop, as t5562 reportedly hangs. Worse, this also hangs in the Ubuntu 16.04 agents of the CI builds on Azure Pipelines: for some reason, the Perl script snippet that is run via `generate_zero_bytes` in t5562's 'CONTENT_LENGTH overflow ssite_t' test case tries to write out an infinite amount of NUL bytes unless a broken pipe is encountered, that snippet never encounters the broken pipe, and keeps going until the build times out. Oddly enough, this does not reproduce on the Windows and macOS agents, nor in a local Ubuntu 18.04. This developer tried for a day to figure out the exact circumstances under which this hang happens, to no avail, the details remain a mystery. In the end, though, what counts is that this here change incidentally fixes that hang (maybe also on NonStop?). Even more positively, it gets rid of yet another unnecessary Perl invocation. Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2019-02-19t5562: do not depend on /dev/zeroMax Kirillov
It was reported [1] that NonStop platform does not have /dev/zero. The test uses /dev/zero as a dummy input. Passing case (http-backed failed because of too big input size) should not be reading anything from it. If http-backend would erroneously try to read any data returning EOF probably would be even safer than providing some meaningless data. Replace /dev/zero with /dev/null to avoid issues with platforms which do not have /dev/zero. [1] Reported-by: Randall S. Becker <> Signed-off-by: Max Kirillov <> Signed-off-by: Junio C Hamano <>
2019-02-19Revert "t5562: replace /dev/zero with a pipe from generate_zero_bytes"Junio C Hamano
Revert cc95bc20 ("t5562: replace /dev/zero with a pipe from generate_zero_bytes", 2019-02-09), as not feeding anything to the command is a better way to test it.
2019-02-19l10n: de.po: fix grammar in message for tag.cSebastian Staudt
Signed-off-by: Sebastian Staudt <>
2019-02-19l10n: de.po: fix a message for index-pack.cSebastian Staudt
Signed-off-by: Sebastian Staudt <>
2019-02-19l10n: de.po: consistent translation of 'root commit'Sebastian Staudt
'root commit' is usually translated as 'Root-Commit'. But in one occasion it‘s translated as 'Basis-Commit' which is the translation for 'base commit'. Signed-off-by: Sebastian Staudt <>
2019-02-19l10n: it: update the Italian translationAlessandro Menti
Signed-off-by: Alessandro Menti <>
2019-02-17Merge branch 'master' of Xin
2019-02-16l10n: es: 2.21.0 round 2Christopher Diaz Riveros
Signed-off-by: Christopher Diaz Riveros <>
2019-02-16Merge branch 'fr_2.21.0_rnd2' of git:// Xin
2019-02-16l10n: el: add Greek l10n team and essential translationsJimmy Angelakos
Signed-off-by: Jimmy Angelakos <>
2019-02-15l10n: fr.po v2.21.0 rnd 2Jean-Noël Avila
Signed-off-by: Jean-Noël Avila <>
2019-02-15l10n: fr.po Fix some typos from round3Fabien Villepinte
Signed-off-by: Fabien Villepinte <>
2019-02-15l10n: fr.po Fix some typosFabien Villepinte
Signed-off-by: Fabien Villepinte <>
2019-02-15mingw: safe-guard a bit more against getenv() problemsJohannes Schindelin
Running up to v2.21.0, we fixed two bugs that were made prominent by the Windows-specific change to retain copies of only the 30 latest getenv() calls' returned strings, invalidating any copies of previous getenv() calls' return values. While this really shines a light onto bugs of the form where we hold onto getenv()'s return values without copying them, it is also a real problem for users. And even if Jeff King's patches merged via 773e408881 (Merge branch 'jk/save-getenv-result', 2019-01-29) provide further work on that front, we are far from done. Just one example: on Windows, we unset environment variables when spawning new processes, which potentially invalidates strings that were previously obtained via getenv(), and therefore we have to duplicate environment values that are somehow involved in spawning new processes (e.g. GIT_MAN_VIEWER in show_man_page()). We do not have a chance to investigate, let address, all of those issues in time for v2.21.0, so let's at least help Windows users by increasing the number of getenv() calls' return values that are kept valid. The number 64 was determined by looking at the average number of getenv() calls per process in the entire test suite run on Windows (which is around 40) and then adding a bit for good measure. And it is a power of two (which would have hit yesterday's theme perfectly). Signed-off-by: Johannes Schindelin <> Signed-off-by: Junio C Hamano <>
2019-02-15l10n: Fixes to Catalan translationJordi Mas
Signed-off-by: Jordi Mas <>
2019-02-15l10n: git.pot: v2.21.0 round 2 (3 new, 3 removed)Jiang Xin
Introduce 3 update messages for v2.21.0 l10n round 2 from commit 32ceace39f (Fix typos in translatable strings for v2.21.0, 2019-02-11). Signed-off-by: Jiang Xin <>
2019-02-15Merge branch 'master' of git:// Xin
2019-02-14Merge branch 'ea/rebase-compat-doc-fix'Junio C Hamano
* ea/rebase-compat-doc-fix: docs/git-rebase: remove redundant entry in incompatible options list
2019-02-14Merge branch 'jc/no-grepping-for-strerror-in-tests'Junio C Hamano
* jc/no-grepping-for-strerror-in-tests: t1404: do not rely on the exact phrasing of strerror()
2019-02-14Merge branch 'jt/fetch-v2-sideband'Junio C Hamano
"git fetch" and "git upload-pack" learned to send all exchange over the sideband channel while talking the v2 protocol. * jt/fetch-v2-sideband: t/lib-httpd: pass GIT_TEST_SIDEBAND_ALL through Apache
2019-02-14Merge branch 'en/rebase-merge-on-sequencer'Junio C Hamano
"git rebase --merge" as been reimplemented by reusing the internal machinery used for "git rebase -i". * en/rebase-merge-on-sequencer: git-rebase.txt: update to reflect merge now implemented on sequencer