Junio C Hamano [Sun, 6 Jun 2021 06:40:01 +0000 (15:40 +0900)]
Git 2.32
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 6 Jun 2021 06:39:21 +0000 (15:39 +0900)]
Merge tag 'l10n-2.32.0-rnd1.1' of git://github.com/git-l10n/git-po
l10n-2.32.0-rnd1.1
* tag 'l10n-2.32.0-rnd1.1' of git://github.com/git-l10n/git-po: (25 commits)
l10n: es: 2.32.0 round 1
l10n: zh_CN: for git v2.32.0 l10n round 1
l10n: Update Catalan translation
l10n: de.po: Update German translation for Git v2.32.0
l10n: README: note on fuzzy translations
l10n: README: document l10n conventions
l10n: README: document "core translation"
l10n: README: document git-po-helper
l10n: README: add file extention ".md"
l10n: pt_PT: add Portuguese translations part 3
l10n: bg.po: Updated Bulgarian translation (5204t)
l10n: id: po-id for 2.32.0 (round 1)
l10n: vi.po(5204t): Updated Vietnamese translation for v2.32.0
l10n: zh_TW.po: localized
l10n: zh_TW.po: v2.32.0 round 1 (11 untranslated)
l10n: sv.po: Update Swedish translation (5204t0f0u)
l10n: fix typos in po/TEAMS
l10n: fr: v2.32.0 round 1
l10n: tr: v2.32.0-r1
l10n: fr: fixed inconsistencies
...
Junio C Hamano [Sun, 6 Jun 2021 06:39:10 +0000 (15:39 +0900)]
Merge branch 'rs/parallel-checkout-test-fix'
Test fix.
* rs/parallel-checkout-test-fix:
parallel-checkout: avoid dash local bug in tests
Junio C Hamano [Sun, 6 Jun 2021 06:39:09 +0000 (15:39 +0900)]
Merge branch 'jc/fsync-can-fail-with-eintr'
Last minute portability fix.
* jc/fsync-can-fail-with-eintr:
fsync(): be prepared to see EINTR
René Scharfe [Sun, 6 Jun 2021 01:01:57 +0000 (03:01 +0200)]
parallel-checkout: avoid dash local bug in tests
Dash bug https://bugs.launchpad.net/ubuntu/+source/dash/+bug/139097
lets the shell erroneously perform field splitting on the expansion of a
command substitution during declaration of a local variable. It causes
the parallel-checkout tests to fail e.g. when running them with
/bin/dash on MacOS 11.4, where they error out like this:
./t2080-parallel-checkout-basics.sh: 33: local: 0: bad variable name
That's because the output of wc -l contains leading spaces and the
returned number of lines is treated as another variable to declare, i.e.
as in "local workers= 0".
Work around it by enclosing the command substitution in quotes.
Helped-by: Matheus Tavares Bernardino <matheus.bernardino@usp.br>
Helped-by: SZEDER Gábor <szeder.dev@gmail.com>
Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christopher Diaz Riveros [Sun, 6 Jun 2021 01:06:23 +0000 (20:06 -0500)]
l10n: es: 2.32.0 round 1
Signed-off-by: Christopher Diaz Riveros <christopher.diaz.riv@gmail.com>
Jiang Xin [Sat, 5 Jun 2021 09:54:23 +0000 (17:54 +0800)]
l10n: zh_CN: for git v2.32.0 l10n round 1
Translate 126 new messages (5204t0f0u) for git 2.32.0.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Sat, 5 Jun 2021 13:30:30 +0000 (21:30 +0800)]
Merge branch 'fix_typo' of github.com:e-yes/git
* 'fix_typo' of github.com:e-yes/git:
l10n: ru.po: fix typo in Russian translation
Junio C Hamano [Fri, 4 Jun 2021 01:36:11 +0000 (10:36 +0900)]
fsync(): be prepared to see EINTR
Some platforms, like NonStop do not automatically restart fsync()
when interrupted by a signal, even when that signal is setup with
SA_RESTART.
This can lead to test breakage, e.g., where "--progress" is used,
thus SIGALRM is sent often, and can interrupt an fsync() syscall.
Make sure we deal with such a case by retrying the syscall
ourselves. Luckily, we call fsync() fron a single wrapper,
fsync_or_die(), so the fix is fairly isolated.
Reported-by: Randall S. Becker <randall.becker@nexbridge.ca>
Helped-by: Jeff King <peff@peff.net>
Helped-by: Taylor Blau <me@ttaylorr.com>
[jc: the above two did most of the work---I just tied the loose end]
Helped-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jiang Xin [Fri, 4 Jun 2021 10:59:17 +0000 (18:59 +0800)]
Merge branch 'pt-PT' of github.com:git-l10n-pt-PT/git-po
* 'pt-PT' of github.com:git-l10n-pt-PT/git-po:
l10n: pt_PT: add Portuguese translations part 3
l10n: pt_PT: add Portuguese translations part 2
Jordi Mas [Fri, 4 Jun 2021 04:58:05 +0000 (06:58 +0200)]
l10n: Update Catalan translation
Signed-off-by: Jordi Mas <jmas@softcatala.org>
Matthias Rüster [Sun, 23 May 2021 09:33:21 +0000 (11:33 +0200)]
l10n: de.po: Update German translation for Git v2.32.0
Reviewed-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com>
Junio C Hamano [Wed, 2 Jun 2021 03:51:09 +0000 (12:51 +0900)]
Git 2.32-rc3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Tue, 1 Jun 2021 20:52:29 +0000 (13:52 -0700)]
contrib/completion: fix zsh completion regression from
59d85a2a05
A recent change to make git-completion.bash use $__git_cmd_idx
in more places broke a number of completions on zsh because it
modified __git_main but did not update __git_zsh_main.
Notably, completions for "add", "branch", "mv" and "push" were
broken as a result of this change.
In addition to the undefined variable usage, "git mv <tab>" also
prints the following error:
__git_count_arguments:7: bad math expression:
operand expected at `"1"'
_git_mv:[:7: unknown condition: -gt
Remove the quotes around $__git_cmd_idx in __git_count_arguments
and set __git_cmd_idx=1 early in __git_zsh_main to fix the
regressions from
59d85a2a05.
This was tested on zsh 5.7.1 (x86_64-apple-darwin19.0).
Suggested-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Acked-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Bagas Sanjaya [Mon, 17 May 2021 12:40:38 +0000 (19:40 +0700)]
l10n: README: note on fuzzy translations
Fuzzy translation problem can occur when updating translations.
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Bagas Sanjaya [Thu, 11 Mar 2021 11:36:57 +0000 (18:36 +0700)]
l10n: README: document l10n conventions
Document the conventions that l10n contributors must follow.
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Bagas Sanjaya [Thu, 11 Mar 2021 11:01:34 +0000 (18:01 +0700)]
l10n: README: document "core translation"
Contributor for a new language must complete translations of a small set
of l10n messages.
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Bagas Sanjaya [Thu, 11 Mar 2021 10:57:15 +0000 (17:57 +0700)]
l10n: README: document git-po-helper
Document the PO helper program (git-po-helper) with installation and
basic usage.
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Wed, 26 May 2021 09:38:56 +0000 (17:38 +0800)]
l10n: README: add file extention ".md"
Add file extension ".md" to "po/README" to help to display this markdown
file properly.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Tue, 1 Jun 2021 22:34:27 +0000 (07:34 +0900)]
Merge branch 'ab/fsck-api-cleanup'
Last minute compilation fix.
* ab/fsck-api-cleanup:
builtin/fsck.c: don't conflate "int" and "enum" in callback
Ævar Arnfjörð Bjarmason [Tue, 1 Jun 2021 00:05:59 +0000 (02:05 +0200)]
builtin/fsck.c: don't conflate "int" and "enum" in callback
Fix a warning on AIX's xlc compiler that's been emitted since my
a1aad71601a (fsck.h: use "enum object_type" instead of "int",
2021-03-28):
"builtin/fsck.c", line 805.32: 1506-068 (W) Operation between
types "int(*)(struct object*,enum object_type,void*,struct
fsck_options*)" and "int(*)(struct object*,int,void*,struct
fsck_options*)" is not allowed.
I.e. it complains about us assigning a function with a prototype "int"
where we're expecting "enum object_type".
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Daniel Santos [Mon, 17 May 2021 09:19:06 +0000 (10:19 +0100)]
l10n: pt_PT: add Portuguese translations part 3
* Correct malformed strings
* Transforming 'não' (no) into affirmative
Signed-off-by: Daniel Santos <hello@brighterdan.com>
Jiang Xin [Sun, 30 May 2021 13:40:59 +0000 (21:40 +0800)]
Merge branch 'l10n/zh_TW/21-05-20' of github.com:l10n-tw/git-po
* 'l10n/zh_TW/21-05-20' of github.com:l10n-tw/git-po:
l10n: zh_TW.po: localized
l10n: zh_TW.po: v2.32.0 round 1 (11 untranslated)
Jiang Xin [Sun, 30 May 2021 12:45:10 +0000 (20:45 +0800)]
Merge branch 'master' of github.com:Softcatala/git-po
* 'master' of github.com:Softcatala/git-po:
l10n: Update Catalan translation
Alexander Shopov [Mon, 17 May 2021 09:13:37 +0000 (11:13 +0200)]
l10n: bg.po: Updated Bulgarian translation (5204t)
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Junio C Hamano [Fri, 28 May 2021 04:05:29 +0000 (13:05 +0900)]
Git 2.32-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 28 May 2021 04:03:00 +0000 (13:03 +0900)]
Merge branch 'en/dir-traversal'
Fix-up to a topic that is already in 'master'.
* en/dir-traversal:
dir: introduce readdir_skip_dot_and_dotdot() helper
dir: update stale description of treat_directory()
Revert "dir: update stale description of treat_directory()"
Revert "dir: introduce readdir_skip_dot_and_dotdot() helper"
Elijah Newren [Thu, 27 May 2021 04:53:56 +0000 (04:53 +0000)]
dir: introduce readdir_skip_dot_and_dotdot() helper
Many places in the code were doing
while ((d = readdir(dir)) != NULL) {
if (is_dot_or_dotdot(d->d_name))
continue;
...process d...
}
Introduce a readdir_skip_dot_and_dotdot() helper to make that a one-liner:
while ((d = readdir_skip_dot_and_dotdot(dir)) != NULL) {
...process d...
}
This helper particularly simplifies checks for empty directories.
Also use this helper in read_cached_dir() so that our statistics are
consistent across platforms. (In other words, read_cached_dir() should
have been using is_dot_or_dotdot() and skipping such entries, but did
not and left it to treat_path() to detect and mark such entries as
path_none.)
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Derrick Stolee [Thu, 27 May 2021 04:53:55 +0000 (04:53 +0000)]
dir: update stale description of treat_directory()
The documentation comment for treat_directory() was originally written
in 095952 (Teach directory traversal about subprojects, 2007-04-11)
which was before the 'struct dir_struct' split its bitfield of named
options into a 'flags' enum in
7c4c97c0 (Turn the flags in struct
dir_struct into a single variable, 2009-02-16). When those flags
changed, the comment became stale, since members like
'show_other_directories' transitioned into flags like
DIR_SHOW_OTHER_DIRECTORIES.
Update the comments for treat_directory() to use these flag names rather
than the old member names.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 27 May 2021 05:00:00 +0000 (14:00 +0900)]
Revert "dir: update stale description of treat_directory()"
This reverts commit
4e689d81718eb6e939cace317ea3e33cb994dcbb,
to be replaced with a reworked version.
Junio C Hamano [Thu, 27 May 2021 04:59:39 +0000 (13:59 +0900)]
Revert "dir: introduce readdir_skip_dot_and_dotdot() helper"
This reverts commit
b548f0f1568f6b01e55ca69c24d3cb19489f92aa,
to be replaced with a reworked version.
Junio C Hamano [Thu, 27 May 2021 03:36:58 +0000 (12:36 +0900)]
Merge branch 'ab/pack-linkage-fix'
"ld" on Solaris fails to link some test helpers, which has been
worked around by reshuffling the inline function definitions from a
header file to a source file that is the only user of them.
* ab/pack-linkage-fix:
pack-objects: move static inline from a header to the sole consumer
Junio C Hamano [Thu, 27 May 2021 03:36:57 +0000 (12:36 +0900)]
Merge branch 'mt/t2080-cp-symlink-fix'
Test portability fix.
* mt/t2080-cp-symlink-fix:
t2080: fix cp invocation to copy symlinks instead of following them
Junio C Hamano [Thu, 27 May 2021 03:36:57 +0000 (12:36 +0900)]
Merge branch 'ab/send-email-inline-hooks-path'
Code simplification.
* ab/send-email-inline-hooks-path:
send-email: move "hooks_path" invocation to git-send-email.perl
send-email: don't needlessly abs_path() the core.hooksPath
Junio C Hamano [Thu, 27 May 2021 03:36:57 +0000 (12:36 +0900)]
Merge branch 'ds/t1092-fix-flake-from-progress'
Workaround flaky tests introduced recently.
* ds/t1092-fix-flake-from-progress:
t1092: revert the "-1" hack for emulating "no progress meter"
t1092: use GIT_PROGRESS_DELAY for consistent results
Ævar Arnfjörð Bjarmason [Thu, 27 May 2021 00:52:51 +0000 (02:52 +0200)]
pack-objects: move static inline from a header to the sole consumer
Move the code that is only used in builtin/pack-objects.c out of
pack-objects.h.
This fixes an issue where Solaris's SunCC hasn't been able to compile
git since
483fa7f42d9 (t/helper/test-bitmap.c: initial commit,
2021-03-31).
The real origin of that issue is that in
898eba5e630 (pack-objects:
refer to delta objects by index instead of pointer, 2018-04-14)
utility functions only needed by builtin/pack-objects.c were added to
pack-objects.h. Since then the header has been used in a few other
places, but
483fa7f42d9 was the first time it was used by test helper.
Since Solaris is stricter about linking and the oe_get_size_slow()
function lives in builtin/pack-objects.c the build started failing
with:
Undefined first referenced
symbol in file
oe_get_size_slow t/helper/test-bitmap.o
ld: fatal: symbol referencing errors. No output written to t/helper/test-tool
On other platforms this is presumably OK because the compiler and/or
linker detects that the "static inline" functions that reference
oe_get_size_slow() aren't used.
Let's solve this by moving the relevant code from pack-objects.h to
builtin/pack-objects.c. This is almost entirely a code-only move, but
because of the early macro definitions in that file referencing some
of these inline functions we need to move the definition of "static
struct packing_data to_pack" earlier, and declare these inline
functions above the macros.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jiang Xin [Thu, 27 May 2021 02:28:50 +0000 (10:28 +0800)]
Merge branch 'fr_next' of github.com:jnavila/git
* 'fr_next' of github.com:jnavila/git:
l10n: fr: v2.32.0 round 1
l10n: fr: fixed inconsistencies
l10n: fr.po fixed inconsistencies
Matheus Tavares [Wed, 26 May 2021 23:58:56 +0000 (20:58 -0300)]
t2080: fix cp invocation to copy symlinks instead of following them
t2080 makes a few copies of a test repository and later performs a
branch switch on each one of the copies to verify that parallel checkout
and sequential checkout produce the same results. However, the
repository is copied with `cp -R` which, on some systems, defaults to
following symlinks on the directory hierarchy and copying their target
files instead of copying the symlinks themselves. AIX is one example of
system where this happens. Because the symlinks are not preserved, the
copied repositories have paths that do not match what is in the index,
causing git to abort the checkout operation that we want to test. This
makes the test fail on these systems.
Fix this by copying the repository with the POSIX flag '-P', which
forces cp to copy the symlinks instead of following them. Note that we
already use this flag for other cp invocations in our test suite (see
t7001). With this change, t2080 now passes on AIX.
Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Wed, 26 May 2021 11:21:07 +0000 (13:21 +0200)]
send-email: move "hooks_path" invocation to git-send-email.perl
Move the newly added "hooks_path" API in Git.pm to its only user in
git-send-email.perl. This was added in
c8243933c74 (git-send-email:
Respect core.hooksPath setting, 2021-03-23), meaning that it hasn't
yet made it into a non-rc release of git.
The consensus with Git.pm is that we need to be considerate of
out-of-tree users who treat it as a public documented interface. We
should therefore be less willing to add new functionality to it, least
we be stuck supporting it after our own uses for it disappear.
In this case the git-send-email.perl hook invocation will probably be
replaced by a future "git hook run" command, and in the commit
preceding this one the "hooks_path" become nothing but a trivial
wrapper for "rev-parse --git-path hooks" anyway (with no
Cwd::abs_path() call), so let's just inline this command in
git-send-email.perl itself.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Wed, 26 May 2021 11:21:06 +0000 (13:21 +0200)]
send-email: don't needlessly abs_path() the core.hooksPath
In
c8243933c74 (git-send-email: Respect core.hooksPath setting,
2021-03-23) we started supporting core.hooksPath in "send-email". It's
been reported that on Windows[1] doing this by calling abs_path()
results in different canonicalizations of the absolute path.
This wasn't an issue in
c8243933c74 itself, but was revealed by my
ea7811b37e0 (git-send-email: improve --validate error output,
2021-04-06) when we started emitting the path to the hook, which was
previously only internal to git-send-email.perl.
The just-landed
53753a37d09 (t9001-send-email.sh: fix expected
absolute paths on Windows, 2021-05-24) narrowly fixed this issue, but
I believe we can do better here. We should not be relying on whatever
changes Perl's abs_path() makes to the path "rev-parse --git-path
hooks" hands to us. Let's instead trust it, and hand it to Perl's
system() in git-send-email.perl. It will handle either a relative or
absolute path.
So let's revert most of
53753a37d09 and just have "hooks_path" return
what we get from "rev-parse" directly without modification. This has
the added benefit of making the error message friendlier in the common
case, we'll no longer print an absolute path for repository-local hook
errors.
1. http://lore.kernel.org/git/
bb30fe2b-cd75-4782-24a6-
08bb002a0367@kdbg.org
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 25 May 2021 20:52:34 +0000 (05:52 +0900)]
t1092: revert the "-1" hack for emulating "no progress meter"
This looked like a good idea, but it seems to break tests on 32-bit
builds rather badly. Revert to just use "100 thousands must be big
enough" for now.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Bagas Sanjaya [Sat, 17 Apr 2021 10:53:41 +0000 (17:53 +0700)]
l10n: id: po-id for 2.32.0 (round 1)
Translate following components:
* builtin/add.c
* worktree.c
* builtin/branch.c
* builtin/commit.c
* builtin/merge.c
* builtin/rebase.c
* builtin/pull.c
* diff.c
* add-interactive.c
* builtin/log.c
* builtin/stash.c
* builtin/tag.c
* config.c
* builtin/config.c
* reset.c
* builtin/remote.c
* builtin/rm.c
* builtin/mv.c
* builtin/clean.c
* builtin/help.c
* archive.c
* submodule.c
* builtin/submodule--helper.c
* submodule-config.c
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Junio C Hamano [Tue, 25 May 2021 07:21:19 +0000 (16:21 +0900)]
Merge branch 'mt/init-template-userpath-fix'
Regression fix.
* mt/init-template-userpath-fix:
init: fix bug regarding ~/ expansion in init.templateDir
Junio C Hamano [Tue, 25 May 2021 07:21:19 +0000 (16:21 +0900)]
Merge branch 'jt/send-email-validate-errors-fix'
Fix a test breakage.
* jt/send-email-validate-errors-fix:
t9001-send-email.sh: fix expected absolute paths on Windows
Junio C Hamano [Tue, 25 May 2021 07:21:19 +0000 (16:21 +0900)]
Merge branch 'ab/send-email-validate-errors-fix'
* ab/send-email-validate-errors-fix:
send-email: fix missing error message regression
Derrick Stolee [Mon, 24 May 2021 19:55:07 +0000 (19:55 +0000)]
t1092: use GIT_PROGRESS_DELAY for consistent results
The t1092-sparse-checkout-compatibility.sh tests compare the stdout and
stderr for several Git commands across both full checkouts, sparse
checkouts with a full index, and sparse checkouts with a sparse index.
Since these are direct comparisons, sometimes a progress indicator can
flush at unpredictable points, especially on slower machines. This
causes the tests to be flaky.
One standard way to avoid this is to add GIT_PROGRESS_DELAY=0 to the Git
commands that are run, as this will force every progress indicator
created with start_progress_delay() to be created immediately. However,
there are some progress indicators that are created in the case of a
full index that are not created with a sparse index. Moreover, their
values may be different as those indexes have a different number of
entries.
Instead, use GIT_PROGRESS_DELAY=-1 (which will turn into UINT_MAX)
to ensure that any reasonable machine running these tests would
never display delayed progress indicators.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matheus Tavares [Tue, 25 May 2021 03:41:01 +0000 (00:41 -0300)]
init: fix bug regarding ~/ expansion in init.templateDir
We used to read the init.templateDir setting at builtin/init-db.c using
a git_config() callback that, in turn, called git_config_pathname(). To
simplify the config reading logic at this file and plug a memory leak,
this was replaced by a direct call to git_config_get_value() at
e4de4502e6 ("init: remove git_init_db_config() while fixing leaks",
2021-03-14). However, this function doesn't provide path expanding
semantics, like git_config_pathname() does, so paths with '~/' and
'~user/' are treated literally. This makes 'git init' fail to handle
init.templateDir paths using these constructs:
$ git config init.templateDir '~/templates_dir'
$ git init
'warning: templates not found in ~/templates_dir'
Replace the git_config_get_value() call by git_config_get_pathname(),
which does the '~/' and '~user/' expansions. Also add a regression test.
Note that unlike git_config_get_value(), the config cache does not own
the memory for the path returned by git_config_get_pathname(), so we
must free() it.
Reported on IRC by rkta.
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ævar Arnfjörð Bjarmason [Mon, 24 May 2021 23:14:24 +0000 (01:14 +0200)]
send-email: fix missing error message regression
Fix a regression with the "the editor exited uncleanly, aborting
everything" error message going missing after my
d21616c0394 (git-send-email: refactor duplicate $? checks into a
function, 2021-04-06).
I introduced a $msg variable, but did not actually use it. This caused
us to miss the optional error message supplied by the "do_edit"
codepath. Fix that, and add tests to check that this works.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Sixt [Mon, 24 May 2021 19:38:09 +0000 (21:38 +0200)]
t9001-send-email.sh: fix expected absolute paths on Windows
Git for Windows is a native Windows program that works with native
absolute paths in the drive letter style C:\dir. The auxiliary
infrastructure is based on MSYS2, which uses POSIX style /C/dir.
When we test for output of absolute paths produced by git.exe, we
usally have to expect C:\dir style paths. To produce such expected
paths, we have to use $(pwd) in the test scripts; the alternative,
$PWD, produces a POSIX style path. ($PWD is a shell variable, and the
shell is bash, an MSYS2 program, and operates in the POSIX realm.)
There are two recently added tests that were written to expect C:\dir
paths. The output that is tested is produced by `git send-email`, but
behind the scenes, this is a Perl script, which also works in the
POSIX realm and produces /C/dir style output.
In the first test case that is changed here, replace $(pwd) by $PWD
so that the expected path is constructed using /C/dir style.
The second test case sets core.hooksPath to an absolute path. Since
the test script talks to native git.exe, it is supposed to place a
C:/dir style path into the configuration; therefore, keep $(pwd).
When this configuration value is consumed by the Perl script, it is
transformed to /C/dir style by the MSYS2 layer and echoed back in
this form in the error message. Hence, do use $PWD for the expected
value.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tran Ngoc Quan [Mon, 24 May 2021 06:54:03 +0000 (13:54 +0700)]
l10n: vi.po(5204t): Updated Vietnamese translation for v2.32.0
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
Yi-Jyun Pan [Sun, 23 May 2021 07:29:21 +0000 (15:29 +0800)]
l10n: zh_TW.po: localized
Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
Junio C Hamano [Sat, 22 May 2021 09:27:45 +0000 (18:27 +0900)]
Git 2.32-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 22 May 2021 09:29:01 +0000 (18:29 +0900)]
Merge branch 'dl/stash-show-untracked-fixup'
Another brown paper bag inconsistency fix for a new feature
introduced during this cycle.
* dl/stash-show-untracked-fixup:
stash show: use stash.showIncludeUntracked even when diff options given
Junio C Hamano [Sat, 22 May 2021 09:29:01 +0000 (18:29 +0900)]
Merge branch 'jh/simple-ipc-sans-pthread'
The "simple-ipc" did not compile without pthreads support, but the
build procedure was not properly account for it.
* jh/simple-ipc-sans-pthread:
simple-ipc: correct ifdefs when NO_PTHREADS is defined
Junio C Hamano [Sat, 22 May 2021 09:29:00 +0000 (18:29 +0900)]
Merge branch 'wm/rev-parse-path-format-wo-arg'
The "rev-parse" command did not diagnose the lack of argument to
"--path-format" option, which was introduced in v2.31 era, which
has been corrected.
* wm/rev-parse-path-format-wo-arg:
rev-parse: fix segfault with missing --path-format argument
Denton Liu [Fri, 21 May 2021 10:37:47 +0000 (03:37 -0700)]
stash show: use stash.showIncludeUntracked even when diff options given
If options pertaining to how the diff is displayed is provided to
`git stash show`, the command will ignore the stash.showIncludeUntracked
configuration variable, defaulting to not showing any untracked files.
This is unintuitive behaviour since the format of the diff output and
whether or not to display untracked files are orthogonal.
Use stash.showIncludeUntracked even when diff options are given. Of
course, this is still overridable via the command-line options.
Update the documentation to explicitly say which configuration variables
will be overridden when a diff options are given.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Yi-Jyun Pan [Wed, 19 May 2021 17:42:39 +0000 (01:42 +0800)]
l10n: zh_TW.po: v2.32.0 round 1 (11 untranslated)
Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
Jeff Hostetler [Thu, 20 May 2021 18:28:10 +0000 (18:28 +0000)]
simple-ipc: correct ifdefs when NO_PTHREADS is defined
Simple IPC always requires threads (in addition to various
platform-specific IPC support). Fix the ifdefs in the Makefile
to define SUPPORTS_SIMPLE_IPC when appropriate.
Previously, the Unix version of the code would only verify that
Unix domain sockets were available.
This problem was reported here:
https://lore.kernel.org/git/YKN5lXs4AoK%2FJFTO@coredump.intra.peff.net/T/#m08be8f1942ea8a2c36cfee0e51cdf06489fdeafc
Reported-by: Randall S. Becker <rsbecker@nexbridge.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 20 May 2021 20:50:38 +0000 (05:50 +0900)]
Merge branch 'ds/sparse-index-protections'
Fix access to uninitialized piece of memory, introduced during this
cycle.
* ds/sparse-index-protections:
sparse-index: fix uninitialized jump
Junio C Hamano [Thu, 20 May 2021 20:50:32 +0000 (05:50 +0900)]
Merge branch 'tz/c-locale-output-is-no-more'
Test update.
* tz/c-locale-output-is-no-more:
t7500: remove non-existant C_LOCALE_OUTPUT prereq
Junio C Hamano [Thu, 20 May 2021 20:48:25 +0000 (05:48 +0900)]
Merge branch 'cs/http-use-basic-after-failed-negotiate'
Regression fix for a change made during this cycle.
* cs/http-use-basic-after-failed-negotiate:
Revert "remote-curl: fall back to basic auth if Negotiate fails"
t5551: test http interaction with credential helpers
Peter Krefting [Thu, 20 May 2021 12:32:48 +0000 (13:32 +0100)]
l10n: sv.po: Update Swedish translation (5204t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Jiang Xin [Thu, 20 May 2021 04:56:10 +0000 (12:56 +0800)]
l10n: fix typos in po/TEAMS
Find typos in "po/TEAMS" file using the "git-po-helper" program. These
typos were introduced from commit
v2.24.0-1-g9917eca794 (l10n: zh_TW:
add translation for v2.24.0, 2019-11-20 19:14:22 +0800).
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Wed, 19 May 2021 23:43:22 +0000 (08:43 +0900)]
A handful more topics before -rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 19 May 2021 23:55:00 +0000 (08:55 +0900)]
Merge branch 'jk/test-chainlint-softer'
The "chainlint" feature in the test framework is a handy way to
catch common mistakes in writing new tests, but tends to get
expensive. An knob to selectively disable it has been introduced
to help running tests that the developer has not modified.
* jk/test-chainlint-softer:
t: avoid sed-based chain-linting in some expensive cases
Junio C Hamano [Wed, 19 May 2021 23:55:00 +0000 (08:55 +0900)]
Merge branch 'en/prompt-under-set-u'
The bash prompt script (in contrib/) did not work under "set -u".
* en/prompt-under-set-u:
git-prompt: work under set -u
Junio C Hamano [Wed, 19 May 2021 23:55:00 +0000 (08:55 +0900)]
Merge branch 'zh/ref-filter-push-remote-fix'
The handling of "%(push)" formatting element of "for-each-ref" and
friends was broken when the same codepath started handling
"%(push:<what>)", which has been corrected.
* zh/ref-filter-push-remote-fix:
ref-filter: fix read invalid union member bug
Junio C Hamano [Wed, 19 May 2021 23:54:59 +0000 (08:54 +0900)]
Merge branch 'ew/sha256-clone-remote-curl-fix'
"git clone" from SHA256 repository by Git built with SHA-1 as the
default hash algorithm over the dumb HTTP protocol did not
correctly set up the resulting repository, which has been corrected.
* ew/sha256-clone-remote-curl-fix:
remote-curl: fix clone on sha256 repos
Junio C Hamano [Wed, 19 May 2021 23:54:58 +0000 (08:54 +0900)]
Merge branch 'en/dir-traversal'
"git clean" and "git ls-files -i" had confusion around working on
or showing ignored paths inside an ignored directory, which has
been corrected.
* en/dir-traversal:
dir: introduce readdir_skip_dot_and_dotdot() helper
dir: update stale description of treat_directory()
dir: traverse into untracked directories if they may have ignored subfiles
dir: avoid unnecessary traversal into ignored directory
t3001, t7300: add testcase showcasing missed directory traversal
t7300: add testcase showing unnecessary traversal into ignored directory
ls-files: error out on -i unless -o or -c are specified
dir: report number of visited directories and paths with trace2
dir: convert trace calls to trace2 equivalents
Junio C Hamano [Wed, 19 May 2021 23:54:58 +0000 (08:54 +0900)]
Merge branch 'ab/perl-makefile-cleanup'
Build procedure clean-up.
* ab/perl-makefile-cleanup:
Makefile: make PERL_DEFINES recursively expanded
perl: use mock i18n functions under NO_GETTEXT=Y
Makefile: regenerate *.pm on NO_PERL_CPAN_FALLBACKS change
Makefile: regenerate perl/build/* if GIT-PERL-DEFINES changes
Makefile: don't re-define PERL_DEFINES
Jean-Noël Avila [Wed, 19 May 2021 16:58:25 +0000 (18:58 +0200)]
l10n: fr: v2.32.0 round 1
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Jeff King [Tue, 18 May 2021 06:27:42 +0000 (02:27 -0400)]
Revert "remote-curl: fall back to basic auth if Negotiate fails"
This reverts commit
1b0d9545bb85912a16b367229d414f55d140d3be.
That commit does fix the situation it intended to (avoiding Negotiate
even when the credentials were provided in the URL), but it creates a
more serious regression: we now never hit the conditional for "we had a
username and password, tried them, but the server still gave us a 401".
That has two bad effects:
1. we never call credential_reject(), and thus a bogus credential
stored by a helper will live on forever
2. we never return HTTP_NOAUTH, so the error message the user gets is
"The requested URL returned error: 401", instead of "Authentication
failed".
Doing this correctly seems non-trivial, as we don't know whether the
Negotiate auth was a problem. Since this is a regression in the upcoming
v2.23.0 release (for which we're in -rc0), let's revert for now and work
on a fix separately.
(Note that this isn't a pure revert; the previous commit added a test
showing the regression, so we can now flip it to expect_success).
Reported-by: Ben Humphreys <behumphreys@atlassian.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Tue, 18 May 2021 06:27:36 +0000 (02:27 -0400)]
t5551: test http interaction with credential helpers
We test authentication with http, and we independently test that
credential helpers work, but we don't have any tests that cover the
two features working together. Let's add two:
1. Make sure that a successful request asks the helper to save the
credential. This works as expected.
2. Make sure that a failed request asks the helper to forget the
credential. This is marked as expect_failure, as it was recently
regressed by
1b0d9545bb (remote-curl: fall back to basic auth if
Negotiate fails, 2021-03-22). The symptom here is that the second
request should prompt the user, but doesn't.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Derrick Stolee [Mon, 17 May 2021 12:22:17 +0000 (12:22 +0000)]
sparse-index: fix uninitialized jump
While testing the sparse-index, I verified a test with --valgrind and it
complained about an uninitialized value being used in a jump in the
path_matches_pattern_list() method. The line was this one:
if (*dtype == DT_UNKNOWN)
In the call stack, the culprit was the initialization of the dtype
variable in convert_to_sparse_rec().
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Todd Zullinger [Mon, 17 May 2021 15:12:22 +0000 (11:12 -0400)]
t7500: remove non-existant C_LOCALE_OUTPUT prereq
The C_LOCALE_OUTPUT prerequisite was removed in
b1e079807b (tests:
remove last uses of C_LOCALE_OUTPUT, 2021-02-11), where Ævar noted:
I'm not leaving the prerequisite itself in place for in-flight changes
as there currently are none that introduce new tests that rely on it,
and because C_LOCALE_OUTPUT is currently a noop on the master branch
we likely won't have any new submissions that use it.
One more use of C_LOCALE_OUTPUT did creep in with
3d1bda6b5b (t7500: add
tests for --fixup=[amend|reword] options, 2021-03-15). This causes a
number of the tests to be skipped by default:
ok 35 # SKIP --fixup=reword: incompatible with --all (missing C_LOCALE_OUTPUT)
ok 36 # SKIP --fixup=reword: incompatible with --include (missing C_LOCALE_OUTPUT)
ok 37 # SKIP --fixup=reword: incompatible with --only (missing C_LOCALE_OUTPUT)
ok 38 # SKIP --fixup=reword: incompatible with --interactive (missing C_LOCALE_OUTPUT)
ok 39 # SKIP --fixup=reword: incompatible with --patch (missing C_LOCALE_OUTPUT)
Remove the C_LOCALE_OUTPUT prerequisite from these tests so they are
not skipped.
Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Emir Sarı [Mon, 17 May 2021 17:32:32 +0000 (20:32 +0300)]
l10n: tr: v2.32.0-r1
Signed-off-by: Emir Sarı <bitigchi@me.com>
rlespinasse [Tue, 30 Mar 2021 19:14:05 +0000 (21:14 +0200)]
l10n: fr: fixed inconsistencies
Signed-off-by: rlespinasse <romain.lespinasse@gmail.com>
Vincent Tam [Fri, 26 Mar 2021 15:50:30 +0000 (16:50 +0100)]
l10n: fr.po fixed inconsistencies
Signed-off-by: Vincent Tam <sere@live.hk>
Wolfgang Müller [Mon, 17 May 2021 08:02:42 +0000 (10:02 +0200)]
rev-parse: fix segfault with missing --path-format argument
Calling "git rev-parse --path-format" without an argument segfaults
instead of giving an error message. Commit
fac60b8925 (rev-parse: add
option for absolute or relative path formatting, 2020-12-13) added the
argument parsing code but forgot to handle NULL.
Returning an error makes sense here because there is no default value we
could use. Add a test case to verify.
Signed-off-by: Wolfgang Müller <wolf@oriole.systems>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Daniel Santos [Mon, 15 Mar 2021 20:33:33 +0000 (20:33 +0000)]
l10n: pt_PT: add Portuguese translations part 2
* Eliminated 'Negation of emptiness' of 'nenhum' (not one/none)
* Eliminated 'Negation of emptiness' of 'nada' (nothing)
* Transformed 'Não' (No) into affirmative
* Some other translations
* Transforming 'não' (no) into affirmative
* From junção-de-3 to tri-junção
Signed-off-by: Daniel Santos <hello@brighterdan.com>
Jiang Xin [Mon, 17 May 2021 08:06:49 +0000 (16:06 +0800)]
l10n: git.pot: v2.32.0 round 1 (126 new, 26 removed)
Generate po/git.pot from v2.32.0-rc0 for git v2.32.0 l10n round 1.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Sun, 16 May 2021 12:04:46 +0000 (21:04 +0900)]
Git 2.32-rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 16 May 2021 12:05:24 +0000 (21:05 +0900)]
Merge branch 'ls/typofix'
* ls/typofix:
pretty: fix a typo in the documentation for %(trailers)
Junio C Hamano [Sun, 16 May 2021 12:05:24 +0000 (21:05 +0900)]
Merge branch 'dl/stash-show-untracked-fixup'
The code to handle options recently added to "git stash show"
around untracked part of the stash segfaulted when these options
were used on a stash entry that does not record untracked part.
* dl/stash-show-untracked-fixup:
stash show: fix segfault with --{include,only}-untracked
t3905: correct test title
Junio C Hamano [Sun, 16 May 2021 12:05:24 +0000 (21:05 +0900)]
Merge branch 'wc/packed-ref-removal-cleanup'
When "git update-ref -d" removes a ref that is packed, it left
empty directories under $GIT_DIR/refs/ for
* wc/packed-ref-removal-cleanup:
refs: cleanup directories when deleting packed ref
Junio C Hamano [Sun, 16 May 2021 12:05:24 +0000 (21:05 +0900)]
Merge branch 'lh/maintenance-leakfix'
* lh/maintenance-leakfix:
maintenance: fix two memory leaks
Junio C Hamano [Sun, 16 May 2021 12:05:23 +0000 (21:05 +0900)]
Merge branch 'ma/typofixes'
A couple of trivial typofixes.
* ma/typofixes:
pretty-formats.txt: add missing space
git-repack.txt: remove spurious ")"
Junio C Hamano [Sun, 16 May 2021 12:05:23 +0000 (21:05 +0900)]
Merge branch 'ah/merge-ort-i18n'
An i18n fix.
* ah/merge-ort-i18n:
merge-ort: split "distinct types" message into two translatable messages
Junio C Hamano [Sun, 16 May 2021 12:05:23 +0000 (21:05 +0900)]
Merge branch 'dd/mailinfo-quoted-cr'
"git mailinfo" (hence "git am") learned the "--quoted-cr" option to
control how lines ending with CRLF wrapped in base64 or qp are
handled.
* dd/mailinfo-quoted-cr:
am: learn to process quoted lines that ends with CRLF
mailinfo: allow stripping quoted CR without warning
mailinfo: allow squelching quoted CRLF warning
mailinfo: warn if CRLF found in decoded base64/QP email
mailinfo: stop parsing options manually
mailinfo: load default metainfo_charset lazily
Junio C Hamano [Sun, 16 May 2021 12:05:23 +0000 (21:05 +0900)]
Merge branch 'ab/sparse-index-cleanup'
Code clean-up.
* ab/sparse-index-cleanup:
sparse-index.c: remove set_index_sparse_config()
Junio C Hamano [Sun, 16 May 2021 12:05:23 +0000 (21:05 +0900)]
Merge branch 'ab/streaming-simplify'
Code clean-up.
* ab/streaming-simplify:
streaming.c: move {open,close,read} from vtable to "struct git_istream"
streaming.c: stop passing around "object_info *" to open()
streaming.c: remove {open,close,read}_method_decl() macros
streaming.c: remove enum/function/vtbl indirection
streaming.c: avoid forward declarations
Junio C Hamano [Sun, 16 May 2021 12:05:23 +0000 (21:05 +0900)]
Merge branch 'mt/parallel-checkout-part-3'
The final part of "parallel checkout".
* mt/parallel-checkout-part-3:
ci: run test round with parallel-checkout enabled
parallel-checkout: add tests related to .gitattributes
t0028: extract encoding helpers to lib-encoding.sh
parallel-checkout: add tests related to path collisions
parallel-checkout: add tests for basic operations
checkout-index: add parallel checkout support
builtin/checkout.c: complete parallel checkout support
make_transient_cache_entry(): optionally alloc from mem_pool
Junio C Hamano [Sun, 16 May 2021 12:05:22 +0000 (21:05 +0900)]
Merge branch 'jt/push-negotiation'
"git push" learns to discover common ancestor with the receiving
end over protocol v2.
* jt/push-negotiation:
send-pack: support push negotiation
fetch: teach independent negotiation (no packfile)
fetch-pack: refactor command and capability write
fetch-pack: refactor add_haves()
fetch-pack: refactor process_acks()
Alex Henrie [Fri, 14 May 2021 19:14:52 +0000 (13:14 -0600)]
l10n: Update Catalan translation
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Junio C Hamano [Thu, 13 May 2021 23:25:42 +0000 (08:25 +0900)]
The seventeenth batch
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 13 May 2021 23:26:10 +0000 (08:26 +0900)]
Merge branch 'mt/clean-clean'
Code clean-up.
* mt/clean-clean:
clean: remove unnecessary variable
Junio C Hamano [Thu, 13 May 2021 23:26:09 +0000 (08:26 +0900)]
Merge branch 'ow/no-dryrun-in-add-i'
"git add -i --dry-run" does not dry-run, which was surprising. The
combination of options has taught to error out.
* ow/no-dryrun-in-add-i:
add: die if both --dry-run and --interactive are given
Junio C Hamano [Thu, 13 May 2021 23:26:08 +0000 (08:26 +0900)]
Merge branch 'jk/p4-locate-branch-point-optim'
"git p4" learned to find branch points more efficiently.
* jk/p4-locate-branch-point-optim:
git-p4: speed up search for branch parent
git-p4: ensure complex branches are cloned correctly
Junio C Hamano [Thu, 13 May 2021 23:26:08 +0000 (08:26 +0900)]
Merge branch 'ba/object-info'
Over-the-wire protocol learns a new request type to ask for object
sizes given a list of object names.
* ba/object-info:
object-info: support for retrieving object info
Junio C Hamano [Thu, 13 May 2021 23:26:07 +0000 (08:26 +0900)]
Merge branch 'pw/patience-diff-clean-up'
Code clean-up.
* pw/patience-diff-clean-up:
patience diff: remove unused variable
patience diff: remove unnecessary string comparisons