]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
4 years agoMerge branch 'rs/xopen-reports-open-failures' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:28 +0000 (13:51 -0700)] 
Merge branch 'rs/xopen-reports-open-failures' into maint

Error diagnostics improvement.

* rs/xopen-reports-open-failures:
  use xopen() to handle fatal open(2) failures
  xopen: explicitly report creation failures

4 years agoMerge branch 'dd/t6300-wo-gpg-fix' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:28 +0000 (13:51 -0700)] 
Merge branch 'dd/t6300-wo-gpg-fix' into maint

Test fix.

* dd/t6300-wo-gpg-fix:
  t6300: check for cat-file exit status code
  t6300: don't run cat-file on non-existent object

4 years agoMerge branch 'mh/credential-leakfix' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:28 +0000 (13:51 -0700)] 
Merge branch 'mh/credential-leakfix' into maint

Leak fix.

* mh/credential-leakfix:
  credential: fix leak in credential_apply_config()

4 years agoMerge branch 'jk/t5323-no-pack-test-fix' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:27 +0000 (13:51 -0700)] 
Merge branch 'jk/t5323-no-pack-test-fix' into maint

Test fix.

* jk/t5323-no-pack-test-fix:
  t5323: drop mentions of "master"

4 years agoMerge branch 'js/maintenance-launchctl-fix' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:27 +0000 (13:51 -0700)] 
Merge branch 'js/maintenance-launchctl-fix' into maint

"git maintenance" scheduler fix for macOS.

* js/maintenance-launchctl-fix:
  maintenance: skip bootout/bootstrap when plist is registered
  maintenance: create `launchctl` configuration using a lock file

4 years agoMerge branch 'ab/rebase-fatal-fatal-fix' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:27 +0000 (13:51 -0700)] 
Merge branch 'ab/rebase-fatal-fatal-fix' into maint

Error message fix.

* ab/rebase-fatal-fatal-fix:
  rebase: emit one "fatal" in "fatal: fatal: <error>"

4 years agoMerge branch 'ab/ls-remote-packet-trace' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:26 +0000 (13:51 -0700)] 
Merge branch 'ab/ls-remote-packet-trace' into maint

Debugging aid fix.

* ab/ls-remote-packet-trace:
  ls-remote: set packet_trace_identity(<name>)

4 years agoMerge branch 'ga/send-email-sendmail-cmd' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:26 +0000 (13:51 -0700)] 
Merge branch 'ga/send-email-sendmail-cmd' into maint

Test fix.

* ga/send-email-sendmail-cmd:
  t9001: PATH must not use Windows-style paths

4 years agoMerge branch 'me/t5582-cleanup' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:25 +0000 (13:51 -0700)] 
Merge branch 'me/t5582-cleanup' into maint

Test fix.

* me/t5582-cleanup:
  t5582: remove spurious 'cd "$D"' line

4 years agoMerge branch 'sg/make-fix-ar-invocation' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:25 +0000 (13:51 -0700)] 
Merge branch 'sg/make-fix-ar-invocation' into maint

Build fix.

* sg/make-fix-ar-invocation:
  Makefile: remove archives before manipulating them with 'ar'

4 years agoMerge branch 'ti/tcsh-completion-regression-fix' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:24 +0000 (13:51 -0700)] 
Merge branch 'ti/tcsh-completion-regression-fix' into maint

Update to the command line completion (in contrib/) for tcsh.

* ti/tcsh-completion-regression-fix:
  completion: tcsh: Fix regression by drop of wrapper functions

4 years agoMerge branch 'fc/completion-updates' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:24 +0000 (13:51 -0700)] 
Merge branch 'fc/completion-updates' into maint

Command line completion updates.

* fc/completion-updates:
  completion: bash: add correct suffix in variables
  completion: bash: fix for multiple dash commands
  completion: bash: fix for suboptions with value
  completion: bash: fix prefix detection in branch.*

4 years agoMerge branch 'cb/ci-freebsd-update' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:24 +0000 (13:51 -0700)] 
Merge branch 'cb/ci-freebsd-update' into maint

Update FreeBSD CI job

* cb/ci-freebsd-update:
  ci: update freebsd 12 cirrus job

4 years agoMerge branch 'cb/builtin-merge-format-string-fix' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:23 +0000 (13:51 -0700)] 
Merge branch 'cb/builtin-merge-format-string-fix' into maint

Code clean-up.

* cb/builtin-merge-format-string-fix:
  builtin/merge: avoid -Wformat-extra-args from ancient Xcode

4 years agoMerge branch 'js/log-protocol-version' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:22 +0000 (13:51 -0700)] 
Merge branch 'js/log-protocol-version' into maint

Debugging aid.

* js/log-protocol-version:
  connect, protocol: log negotiated protocol version

4 years agoMerge branch 'en/merge-strategy-docs' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:22 +0000 (13:51 -0700)] 
Merge branch 'en/merge-strategy-docs' into maint

Documentation updates.

* en/merge-strategy-docs:
  Update error message and code comment
  merge-strategies.txt: add coverage of the `ort` merge strategy
  git-rebase.txt: correct out-of-date and misleading text about renames
  merge-strategies.txt: fix simple capitalization error
  merge-strategies.txt: avoid giving special preference to patience algorithm
  merge-strategies.txt: do not imply using copy detection is desired
  merge-strategies.txt: update wording for the resolve strategy
  Documentation: edit awkward references to `git merge-recursive`
  directory-rename-detection.txt: small updates due to merge-ort optimizations
  git-rebase.txt: correct antiquated claims about --rebase-merges

4 years agoMerge branch 'ab/bundle-doc' into maint
Junio C Hamano [Tue, 12 Oct 2021 20:51:22 +0000 (13:51 -0700)] 
Merge branch 'ab/bundle-doc' into maint

Doc update.

* ab/bundle-doc:
  bundle doc: replace "basis" with "prerequsite(s)"
  bundle doc: elaborate on rev<->ref restriction
  bundle doc: elaborate on object prerequisites
  bundle doc: rewrite the "DESCRIPTION" section

4 years agouse xopen() to handle fatal open(2) failures
René Scharfe [Wed, 25 Aug 2021 20:16:46 +0000 (22:16 +0200)] 
use xopen() to handle fatal open(2) failures

Add and apply a semantic patch for using xopen() instead of calling
open(2) and die() or die_errno() explicitly.  This makes the error
messages more consistent and shortens the code.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoxopen: explicitly report creation failures
René Scharfe [Wed, 25 Aug 2021 20:14:09 +0000 (22:14 +0200)] 
xopen: explicitly report creation failures

If the flags O_CREAT and O_EXCL are both given then open(2) is supposed
to create the file and error out if it already exists.  The error
message in that case looks like this:

fatal: could not open 'foo' for writing: File exists

Without further context this is confusing: Why should the existence of
the file pose a problem?  Isn't that a requirement for writing to it?

Add a more specific error message for that case to tell the user that we
actually don't expect the file to preexist, so the example becomes:

fatal: unable to create 'foo': File exists

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agot6300: check for cat-file exit status code
Đoàn Trần Công Danh [Sat, 21 Aug 2021 01:36:34 +0000 (08:36 +0700)] 
t6300: check for cat-file exit status code

In test_atom(), we're piping the output of cat-file to tail(1),
thus, losing its exit status.

Let's use a temporary file to preserve git exit status code.

Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agot6300: don't run cat-file on non-existent object
Đoàn Trần Công Danh [Sat, 21 Aug 2021 01:36:33 +0000 (08:36 +0700)] 
t6300: don't run cat-file on non-existent object

In t6300, some tests are guarded behind some prerequisites.
Thus, objects created by those tests ain't available if those
prerequisites are unsatistified.  Attempting to run "cat-file"
on those objects will run into failure.

In fact, running t6300 in an environment without gpg(1),
we'll see those warnings:

fatal: Not a valid object name refs/tags/signed-empty
fatal: Not a valid object name refs/tags/signed-short
fatal: Not a valid object name refs/tags/signed-long

Let's put those commands into the real tests, in order to:

* skip their execution if prerequisites aren't satistified.
* check their exit status code

The expected value for objects with type: commit needs to be
computed outside the test because we can't rely on "$3" there.
Furthermore, to prevent the accidental usage of that computed
expected value, BUG out on unknown object's type.

Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agocredential: fix leak in credential_apply_config()
Mike Hommey [Fri, 20 Aug 2021 08:44:13 +0000 (17:44 +0900)] 
credential: fix leak in credential_apply_config()

Signed-off-by: Mike Hommey <mh@glandium.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agot5323: drop mentions of "master"
Jeff King [Wed, 25 Aug 2021 01:35:52 +0000 (21:35 -0400)] 
t5323: drop mentions of "master"

Commit 0696232390 (pack-redundant: fix crash when one packfile in repo,
2020-12-16) added one some new tests to t5323. At the time, the sub-repo
we used was called "master". But in a parallel branch, this was switched
to "main".

When the latter branch was merged in 27d7c8599b (Merge branch
'js/default-branch-name-tests-final-stretch', 2021-01-25), some of those
spots caused textual conflicts, but some (for tests that were far enough
away from other changed code) were just semantic. The merge resolution
fixed up most spots, but missed this one.

Even though this did impact actual code, it turned out not to fail the
tests. Running 'cd "$master_repo"' ended up staying in the same
directory, running the test in the main trash repo instead of the
sub-repo. But because the point of the test is checking behavior when
there are no packfiles, it worked in either repo (since both are empty
at this point in the script).

Reported-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agorebase: emit one "fatal" in "fatal: fatal: <error>"
Ævar Arnfjörð Bjarmason [Mon, 23 Aug 2021 13:07:41 +0000 (15:07 +0200)] 
rebase: emit one "fatal" in "fatal: fatal: <error>"

The die() routine adds a "fatal: " prefix, there is no reason to add
another one. Fixes code added in e65123a71d0 (builtin rebase: support
`git rebase <upstream> <switch-to>`, 2018-09-04).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agols-remote: set packet_trace_identity(<name>)
Ævar Arnfjörð Bjarmason [Mon, 23 Aug 2021 13:17:49 +0000 (15:17 +0200)] 
ls-remote: set packet_trace_identity(<name>)

Set packet_trace_identity() for ls-remote. This replaces the generic
"git" identity in GIT_TRACE_PACKET=<file> traces to "ls-remote", e.g.:

    [...] packet:  upload-pack> version 2
    [...] packet:  upload-pack> agent=git/2.32.0-dev
    [...] packet:    ls-remote< version 2
    [...] packet:    ls-remote< agent=git/2.32.0-dev

Where in an "git ls-remote file://<path>" dialog ">" is the sender (or
"to the server") and "<" is the recipient (or "received by the
client").

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agomaintenance: skip bootout/bootstrap when plist is registered
Derrick Stolee [Tue, 24 Aug 2021 15:44:00 +0000 (15:44 +0000)] 
maintenance: skip bootout/bootstrap when plist is registered

On macOS, we use launchctl to manage the background maintenance
schedule. This uses a set of .plist files to describe the schedule, but
these files are also registered with 'launchctl bootstrap'. If multiple
'git maintenance start' commands run concurrently, then they can collide
replacing these schedule files and registering them with launchctl.

To avoid extra launchctl commands, do a check for the .plist files on
disk and check if they are registered using 'launchctl list <name>'.
This command will return with exit code 0 if it exists, or exit code 113
if it does not.

We can test this behavior using the GIT_TEST_MAINT_SCHEDULER environment
variable.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agomaintenance: create `launchctl` configuration using a lock file
Johannes Schindelin [Tue, 24 Aug 2021 15:43:59 +0000 (15:43 +0000)] 
maintenance: create `launchctl` configuration using a lock file

When two `git maintenance` processes try to write the `.plist` file, we
need to help them with serializing their efforts.

The 150ms time-out value was determined from thin air.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agot9001: PATH must not use Windows-style paths
Johannes Sixt [Tue, 24 Aug 2021 18:01:29 +0000 (20:01 +0200)] 
t9001: PATH must not use Windows-style paths

On Windows, $(pwd) returns a drive-letter style path C:/foo, while $PWD
contains a POSIX style /c/foo path. When we want to interpolate the
current directory in the PATH variable, we must not use the C:/foo style,
because the meaning of the colon is ambiguous. Use the POSIX style.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agot5582: remove spurious 'cd "$D"' line
Mickey Endito [Mon, 23 Aug 2021 20:12:40 +0000 (20:12 +0000)] 
t5582: remove spurious 'cd "$D"' line

The variable D is never defined in test t5582, more severely the test
fails if D is defined by something outside the test suite, so remove
this spurious line.

Signed-off-by: Mickey Endito <mickey.endito.2323@protonmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoMakefile: remove archives before manipulating them with 'ar'
SZEDER Gábor [Wed, 18 Aug 2021 21:36:11 +0000 (23:36 +0200)] 
Makefile: remove archives before manipulating them with 'ar'

The rules creating the $(LIB_FILE) and $(XDIFF_LIB) archives used to
be:

  $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^

until commit 7b76d6bf22 (Makefile: add and use the ".DELETE_ON_ERROR"
flag, 2021-06-29) removed the '$(RM) $@' part, claiming that "we can
rely on the "c" (create) being present in ARFLAGS", and (I presume)
assuming that it means that the named archive is created from scratch.

Unfortunately, that's not what the 'c' flag does, it merely "Suppress
the diagnostic message that is written to standard error by default
when the archive is created" [1].  Consequently, all object files that
are already present in an existing archive and are not replaced will
remain there.  This leads to linker errors in back-to-back builds of
different revisions without a 'make clean' between them if source
files going into these archives are renamed in between:

  # The last commit renaming files that go into 'libgit.a':
  # bc62692757 (hash-lookup: rename from sha1-lookup, 2020-12-31)
  #  sha1-lookup.c => hash-lookup.c | 14 +++++++-------
  #  sha1-lookup.h => hash-lookup.h | 12 ++++++------
  $ git checkout bc62692757^
  HEAD is now at 7a7d992d0d sha1-lookup: rename `sha1_pos()` as `hash_pos()`
  $ make
  [...]
  $ git checkout 7b76d6bf22
  HEAD is now at 7b76d6bf22 Makefile: add and use the ".DELETE_ON_ERROR" flag
  $ make
  [...]
      AR libgit.a
      LINK git
  /usr/bin/ld: libgit.a(hash-lookup.o): in function `bsearch_hash':
  /home/szeder/src/git/hash-lookup.c:105: multiple definition of `bsearch_hash'; libgit.a(sha1-lookup.o):/home/szeder/src/git/sha1-lookup.c:105: first defined here
  collect2: error: ld returned 1 exit status
  make: *** [Makefile:2213: git] Error 1

Restore the original make rules to first remove $(LIB_FILE) and
$(XDIFF_LIB) and then create them from scratch to avoid these build
errors.

[1] Quoting POSIX at:
    https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ar.html

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agocompletion: tcsh: Fix regression by drop of wrapper functions
Takashi Iwai [Wed, 18 Aug 2021 13:27:29 +0000 (15:27 +0200)] 
completion: tcsh: Fix regression by drop of wrapper functions

The cleanup of old compat wrappers in bash completion caused a
regression on tcsh completion that still uses them.
Let's update the tcsh call site as well for addressing it.

Fixes: 441ecdab37fe ("completion: bash: remove old compat wrappers")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agocompletion: bash: add correct suffix in variables
Felipe Contreras [Mon, 16 Aug 2021 09:10:25 +0000 (04:10 -0500)] 
completion: bash: add correct suffix in variables

__gitcomp automatically adds a suffix, but __gitcomp_nl and others
don't, we need to specify a space by default.

Can be tested with:

  git config branch.autoSetupMe<tab>

This fix only works for versions of bash greater than 4.0, before that
"local sfx" creates an empty string, therefore the unset expansion
doesn't work. The same happens in zsh.

Therefore we don't add the test for that for now.

The correct fix for all shells requires semantic changes in __gitcomp,
but that can be done later.

Cc: SZEDER Gábor <szeder.dev@gmail.com>
Tested-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agocompletion: bash: fix for multiple dash commands
Felipe Contreras [Mon, 16 Aug 2021 09:10:24 +0000 (04:10 -0500)] 
completion: bash: fix for multiple dash commands

Otherwise options of commands like 'for-each-ref' are not completed.

Tested-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agocompletion: bash: fix for suboptions with value
Felipe Contreras [Mon, 16 Aug 2021 09:10:23 +0000 (04:10 -0500)] 
completion: bash: fix for suboptions with value

We need to ignore options that don't start with -- as well.

Depending on the value of COMP_WORDBREAKS the last word could be
duplicated otherwise.

Can be tested with:

  git merge -X diff-algorithm=<tab>

Tested-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agocompletion: bash: fix prefix detection in branch.*
Felipe Contreras [Mon, 16 Aug 2021 09:10:22 +0000 (04:10 -0500)] 
completion: bash: fix prefix detection in branch.*

Otherwise we are completely ignoring the --cur argument.

The issue can be tested with:

  git clone --config=branch.<tab>

Reviewed-by: SZEDER Gábor <szeder.dev@gmail.com>
Tested-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoGit 2.33 v2.33.0
Junio C Hamano [Mon, 16 Aug 2021 19:15:44 +0000 (12:15 -0700)] 
Git 2.33

Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoMerge branch 'rs/oidtree-alignment-fix'
Junio C Hamano [Mon, 16 Aug 2021 19:14:35 +0000 (12:14 -0700)] 
Merge branch 'rs/oidtree-alignment-fix'

Codepath to access recently added oidtree data structure had
to make unaligned accesses to oids, which has been corrected.

* rs/oidtree-alignment-fix:
  oidtree: avoid unaligned access to crit-bit tree

4 years agoMerge tag 'l10n-2.33.0-rnd2' of git://github.com/git-l10n/git-po
Junio C Hamano [Mon, 16 Aug 2021 16:38:57 +0000 (09:38 -0700)] 
Merge tag 'l10n-2.33.0-rnd2' of git://github.com/git-l10n/git-po

l10n-2.33.0-rnd2

* tag 'l10n-2.33.0-rnd2' of git://github.com/git-l10n/git-po: (46 commits)
  l10n: sv.po: Update Swedish translation (5230t0f0u)
  l10n: TEAMS: change Simplified Chinese team leader
  l10n: tr: v2.33 (round 2)
  l10n: es: 2.33.0 round 2
  l10n: zh_CN: for git v2.33.0 l10n round 2
  l10n: zh_CN: Revision for git v2.32.0 l10n round 1
  l10n: README: refactor to use GFM syntax
  l10n: update German translation for Git v2.33.0 (rnd2)
  l10n: pt_PT: v2.33.0 round 2
  l10n: pt_PT: git-po-helper update
  l10n: pt_PT: update translation table
  l10n: zh_TW.po: remove the obsolete glossary
  l10n: vi.po(5230t): Updated translation for v2.32.0 round 2
  l10n: fr.po v2.33 rnd 2
  l10n: id: po-id for 2.33.0 round 2
  l10n: zh_TW.po: update for v2.33.0 rnd 2
  l10n: git.pot: v2.33.0 round 2 (11 new, 8 removed)
  l10n: de.po: fix typos
  l10n: update German translation for Git v2.33.0
  l10n: fr.po fix typos in commands and variables
  ...

4 years agol10n: sv.po: Update Swedish translation (5230t0f0u)
Peter Krefting [Sat, 14 Aug 2021 20:15:58 +0000 (21:15 +0100)] 
l10n: sv.po: Update Swedish translation (5230t0f0u)

Also fixed some typos reported by "git-po-helper".

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
4 years agol10n: TEAMS: change Simplified Chinese team leader
Jiang Xin [Sun, 15 Aug 2021 22:39:30 +0000 (06:39 +0800)] 
l10n: TEAMS: change Simplified Chinese team leader

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
4 years agooidtree: avoid unaligned access to crit-bit tree
René Scharfe [Sat, 14 Aug 2021 20:00:38 +0000 (22:00 +0200)] 
oidtree: avoid unaligned access to crit-bit tree

The flexible array member "k" of struct cb_node is used to store the key
of the crit-bit tree node.  It offers no alignment guarantees -- in fact
the current struct layout puts it one byte after a 4-byte aligned
address, i.e. guaranteed to be misaligned.

oidtree uses a struct object_id as cb_node key.  Since cf0983213c (hash:
add an algo member to struct object_id, 2021-04-26) it requires 4-byte
alignment.  The mismatch is reported by UndefinedBehaviorSanitizer at
runtime like this:

hash.h:277:2: runtime error: member access within misaligned address 0x00015000802d for type 'struct object_id', which requires 4 byte alignment
0x00015000802d: note: pointer points here
 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00
             ^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior hash.h:277:2 in

We can fix that by:

1. eliminating the alignment requirement of struct object_id,
2. providing the alignment in struct cb_node, or
3. avoiding the issue by only using memcpy to access "k".

Currently we only store one of two values in "algo" in struct object_id.
We could use a uint8_t for that instead and widen it only once we add
support for our twohundredth algorithm or so.  That would not only avoid
alignment issues, but also reduce the memory requirements for each
instance of struct object_id by ca. 9%.

Supporting keys with alignment requirements might be useful to spread
the use of crit-bit trees.  It can be achieved by using a wider type for
"k" (e.g. uintmax_t), using different types for the members "byte" and
"otherbits" (e.g. uint16_t or uint32_t for each), or by avoiding the use
of flexible arrays like khash.h does.

This patch implements the third option, though, because it has the least
potential for causing side-effects and we're close to the next release.
If one of the other options is implemented later as well to get their
additional benefits we can get rid of the extra copies introduced here.

Reported-by: Andrzej Hunt <andrzej@ahunt.org>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoMerge branch 'next' of github.com:ChrisADR/git-po
Jiang Xin [Sun, 15 Aug 2021 10:32:20 +0000 (18:32 +0800)] 
Merge branch 'next' of github.com:ChrisADR/git-po

* 'next' of github.com:ChrisADR/git-po:
  l10n: es: 2.33.0 round 2

4 years agol10n: tr: v2.33 (round 2)
Emir Sarı [Sun, 15 Aug 2021 07:17:15 +0000 (10:17 +0300)] 
l10n: tr: v2.33 (round 2)

Signed-off-by: Emir Sarı <bitigchi@me.com>
4 years agol10n: es: 2.33.0 round 2
Christopher Diaz Riveros [Sat, 14 Aug 2021 16:13:11 +0000 (11:13 -0500)] 
l10n: es: 2.33.0 round 2

Signed-off-by: Christopher Diaz Riveros <christopher.diaz.riv@gmail.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Javier Spagnoletti phansys@gmail.com
Signed-off-by: Cleydyr Albuquerque <cleydyr@gmail.com>
Signed-off-by: Andrei Rybak <rybak.a.v@gmail.com>
Signed-off-by: Guillermo Ramos <gramosg>
4 years agol10n: zh_CN: for git v2.33.0 l10n round 2
Jiang Xin [Mon, 2 Aug 2021 00:25:39 +0000 (08:25 +0800)] 
l10n: zh_CN: for git v2.33.0 l10n round 2

Translate 48 new messages (5230t0f0u) for git 2.33.0, and also fixed
typos found by "git-po-helper".

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Fangyi Zhou <me@fangyi.io>
4 years agol10n: zh_CN: Revision for git v2.32.0 l10n round 1
Fangyi Zhou [Mon, 7 Jun 2021 04:59:56 +0000 (12:59 +0800)] 
l10n: zh_CN: Revision for git v2.32.0 l10n round 1

Signed-off-by: Fangyi Zhou <me@fangyi.io>
4 years agol10n: README: refactor to use GFM syntax
Jiang Xin [Fri, 6 Aug 2021 03:07:48 +0000 (11:07 +0800)] 
l10n: README: refactor to use GFM syntax

Format README.md using GFM (GitHub Flavored Markdown) syntax.

- In order to use more than 3 level headings, use ATX style headings
  instead of setext style headings.

- In order to add highlights for code blocks, use fenced code blocks
  instead of indented code blocks.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
4 years agoMerge branch 'l10n-2.33-rnd2' of github.com:ralfth/git
Jiang Xin [Sun, 15 Aug 2021 02:26:18 +0000 (10:26 +0800)] 
Merge branch 'l10n-2.33-rnd2' of github.com:ralfth/git

* 'l10n-2.33-rnd2' of github.com:ralfth/git:
  l10n: update German translation for Git v2.33.0 (rnd2)

4 years agoMerge branch 'pt-PT' of github.com:git-l10n-pt-PT/git-po
Jiang Xin [Sun, 15 Aug 2021 02:24:24 +0000 (10:24 +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: v2.33.0 round 2
  l10n: pt_PT: git-po-helper update
  l10n: pt_PT: update translation table

4 years agol10n: update German translation for Git v2.33.0 (rnd2)
Ralf Thielow [Sat, 14 Aug 2021 14:35:44 +0000 (16:35 +0200)] 
l10n: update German translation for Git v2.33.0 (rnd2)

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
4 years agol10n: pt_PT: v2.33.0 round 2
Daniel Santos [Sat, 14 Aug 2021 12:02:31 +0000 (13:02 +0100)] 
l10n: pt_PT: v2.33.0 round 2

 * translation of new entries

Signed-off-by: Daniel Santos <hello@brighterdan.com>
4 years agol10n: pt_PT: git-po-helper update
Daniel Santos [Sat, 14 Aug 2021 11:08:39 +0000 (12:08 +0100)] 
l10n: pt_PT: git-po-helper update

 * run git-po-helper update pt_PT.po

Signed-off-by: Daniel Santos <hello@brighterdan.com>
4 years agol10n: pt_PT: update translation table
Daniel Santos [Thu, 12 Aug 2021 21:13:03 +0000 (22:13 +0100)] 
l10n: pt_PT: update translation table

 * updated translation table

Signed-off-by: Daniel Santos <hello@brighterdan.com>
4 years agoMerge branch 'loc/zh_TW/210814' of github.com:l10n-tw/git-po
Jiang Xin [Sat, 14 Aug 2021 11:30:54 +0000 (19:30 +0800)] 
Merge branch 'loc/zh_TW/210814' of github.com:l10n-tw/git-po

* 'loc/zh_TW/210814' of github.com:l10n-tw/git-po:
  l10n: zh_TW.po: remove the obsolete glossary
  l10n: zh_TW.po: update for v2.33.0 rnd 2

4 years agol10n: zh_TW.po: remove the obsolete glossary
Yi-Jyun Pan [Sat, 14 Aug 2021 06:11:42 +0000 (14:11 +0800)] 
l10n: zh_TW.po: remove the obsolete glossary

Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
4 years agoMerge branch 'master' of github.com:vnwildman/git
Jiang Xin [Sat, 14 Aug 2021 09:02:54 +0000 (17:02 +0800)] 
Merge branch 'master' of github.com:vnwildman/git

* 'master' of github.com:vnwildman/git:
  l10n: vi.po(5230t): Updated translation for v2.32.0 round 2

4 years agoMerge branch 'po-id' of github.com:bagasme/git-po
Jiang Xin [Sat, 14 Aug 2021 09:01:27 +0000 (17:01 +0800)] 
Merge branch 'po-id' of github.com:bagasme/git-po

* 'po-id' of github.com:bagasme/git-po:
  l10n: id: po-id for 2.33.0 round 2

4 years agol10n: vi.po(5230t): Updated translation for v2.32.0 round 2
Tran Ngoc Quan [Sat, 14 Aug 2021 07:54:44 +0000 (14:54 +0700)] 
l10n: vi.po(5230t): Updated translation for v2.32.0 round 2

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
4 years agol10n: fr.po v2.33 rnd 2
Jean-Noël Avila [Sat, 14 Aug 2021 06:28:48 +0000 (08:28 +0200)] 
l10n: fr.po v2.33 rnd 2

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
4 years agol10n: id: po-id for 2.33.0 round 2
Bagas Sanjaya [Sat, 14 Aug 2021 02:35:18 +0000 (09:35 +0700)] 
l10n: id: po-id for 2.33.0 round 2

Update translation for following component:
  * builtin/submodule--helper.c

Translate following new component:
  * builtin/revert.c

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
4 years agol10n: zh_TW.po: update for v2.33.0 rnd 2
Yi-Jyun Pan [Sat, 14 Aug 2021 05:48:09 +0000 (13:48 +0800)] 
l10n: zh_TW.po: update for v2.33.0 rnd 2

Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
4 years agoMerge branch 'master' of github.com:vnwildman/git
Jiang Xin [Sat, 14 Aug 2021 03:52:34 +0000 (11:52 +0800)] 
Merge branch 'master' of github.com:vnwildman/git

* 'master' of github.com:vnwildman/git:
  l10n: vi.po(5227t): Fixed typo after run git-po-helper

4 years agol10n: git.pot: v2.33.0 round 2 (11 new, 8 removed)
Jiang Xin [Fri, 13 Aug 2021 23:57:34 +0000 (07:57 +0800)] 
l10n: git.pot: v2.33.0 round 2 (11 new, 8 removed)

Generate po/git.pot from v2.33.0-rc2 for git v2.33.0 l10n round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
4 years agoMerge branch 'master' of github.com:git/git
Jiang Xin [Fri, 13 Aug 2021 23:56:22 +0000 (07:56 +0800)] 
Merge branch 'master' of github.com:git/git

* 'master' of github.com:git/git: (51 commits)
  Git 2.33-rc2
  object-file: use unsigned arithmetic with bit mask
  Revert 'diff-merges: let "-m" imply "-p"'
  object-store: avoid extra ';' from KHASH_INIT
  oidtree: avoid nested struct oidtree_node
  Git 2.33-rc1
  test: fix for COLUMNS and bash 5
  The eighth batch
  diff: --pickaxe-all typofix
  mingw: align symlinks-related rmdir() behavior with Linux
  t7508: avoid non POSIX BRE
  use fspathhash() everywhere
  t0001: fix broken not-quite getcwd(3) test in bed67874e2
  Documentation: render special characters correctly
  reset: clear_unpack_trees_porcelain to plug leak
  builtin/rebase: fix options.strategy memory lifecycle
  builtin/merge: free found_ref when done
  builtin/mv: free or UNLEAK multiple pointers at end of cmd_mv
  convert: release strbuf to avoid leak
  read-cache: call diff_setup_done to avoid leak
  ...

4 years agoMerge branch 'master' of github.com:nafmo/git-l10n-sv
Jiang Xin [Fri, 13 Aug 2021 23:55:01 +0000 (07:55 +0800)] 
Merge branch 'master' of github.com:nafmo/git-l10n-sv

* 'master' of github.com:nafmo/git-l10n-sv:
  l10n: sv.po: Update Swedish translation (5227t0f0u)

4 years agoMerge branch 'master' of github.com:alshopov/git-po
Jiang Xin [Fri, 13 Aug 2021 23:54:38 +0000 (07:54 +0800)] 
Merge branch 'master' of github.com:alshopov/git-po

* 'master' of github.com:alshopov/git-po:
  l10n: bg.po: Updated Bulgarian translation (5227t)

4 years agoMerge branch 'l10n-2.33' of github.com:ralfth/git
Jiang Xin [Fri, 13 Aug 2021 23:50:33 +0000 (07:50 +0800)] 
Merge branch 'l10n-2.33' of github.com:ralfth/git

* 'l10n-2.33' of github.com:ralfth/git:
  l10n: de.po: fix typos
  l10n: update German translation for Git v2.33.0

4 years agoMerge branch 'fr_fix_typos' of github.com:jnavila/git
Jiang Xin [Fri, 13 Aug 2021 23:45:37 +0000 (07:45 +0800)] 
Merge branch 'fr_fix_typos' of github.com:jnavila/git

* 'fr_fix_typos' of github.com:jnavila/git:
  l10n: fr.po fix typos in commands and variables

4 years agoMerge branch 'master' of github.com:Softcatala/git-po
Jiang Xin [Fri, 13 Aug 2021 23:44:41 +0000 (07:44 +0800)] 
Merge branch 'master' of github.com:Softcatala/git-po

* 'master' of github.com:Softcatala/git-po:
  l10n: Update Catalan translation

4 years agol10n: de.po: fix typos
Ralf Thielow [Fri, 13 Aug 2021 15:07:04 +0000 (17:07 +0200)] 
l10n: de.po: fix typos

Fix some typos found by `./git-po-helper check-po po/de.po`.

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
4 years agol10n: update German translation for Git v2.33.0
Ralf Thielow [Mon, 9 Aug 2021 14:50:31 +0000 (16:50 +0200)] 
l10n: update German translation for Git v2.33.0

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
4 years agoci: update freebsd 12 cirrus job
Carlo Marcelo Arenas Belón [Thu, 12 Aug 2021 20:22:00 +0000 (13:22 -0700)] 
ci: update freebsd 12 cirrus job

make sure it uses a supported OS branch and uses all the resources
that can be allocated efficiently.

while only 1GB of memory is needed, 2GB is the minimum for a 2 CPU
machine (the default), but by increasing parallelism wall time has
been reduced by 35%.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: fr.po fix typos in commands and variables
Jean-Noël Avila [Thu, 12 Aug 2021 19:09:51 +0000 (21:09 +0200)] 
l10n: fr.po fix typos in commands and variables

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
4 years agol10n: id: mismatch variable name fixes
Bagas Sanjaya [Thu, 12 Aug 2021 10:18:29 +0000 (17:18 +0700)] 
l10n: id: mismatch variable name fixes

Jiang Xin reported possible typos in po/id.po, all of them are mismatch
variable names. Fix them.

Reported-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
4 years agol10n: vi.po(5227t): Fixed typo after run git-po-helper
Tran Ngoc Quan [Thu, 12 Aug 2021 07:05:39 +0000 (14:05 +0700)] 
l10n: vi.po(5227t): Fixed typo after run git-po-helper

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
4 years agol10n: Update Catalan translation
Jordi Mas [Thu, 12 Aug 2021 06:07:32 +0000 (08:07 +0200)] 
l10n: Update Catalan translation

Signed-off-by: Jordi Mas <jmas@softcatala.org>
4 years agoMerge branch 'daniel' of github.com:git-l10n-pt-PT/git-po
Jiang Xin [Thu, 12 Aug 2021 00:23:55 +0000 (08:23 +0800)] 
Merge branch 'daniel' of github.com:git-l10n-pt-PT/git-po

* 'daniel' of github.com:git-l10n-pt-PT/git-po:
  l10n: pt_PT: cleaning flags mismatch
  l10n: pt_PT: cleaning duplicate translations
  l10n: pt_PT: update translation tables
  l10n: pt_PT: translated git v2.33.0
  l10n: pt_PT: update git-po-helper
  l10n: pt_PT: remove trailing comments
  l10n: pt_PT: translation tables
  l10n: pt_PT: add Portuguese translations part 5
  l10n: pt_PT: add Portuguese translations part 4

4 years agoGit 2.33-rc2 v2.33.0-rc2
Junio C Hamano [Wed, 11 Aug 2021 18:54:03 +0000 (11:54 -0700)] 
Git 2.33-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoMerge branch 'jn/log-m-does-not-imply-p'
Junio C Hamano [Wed, 11 Aug 2021 19:36:18 +0000 (12:36 -0700)] 
Merge branch 'jn/log-m-does-not-imply-p'

Earlier "git log -m" was changed to always produce patch output,
which would break existing scripts, which has been reverted.

* jn/log-m-does-not-imply-p:
  Revert 'diff-merges: let "-m" imply "-p"'

4 years agoMerge branch 'cb/many-alternate-optim-fixup'
Junio C Hamano [Wed, 11 Aug 2021 19:36:17 +0000 (12:36 -0700)] 
Merge branch 'cb/many-alternate-optim-fixup'

Build fix.

* cb/many-alternate-optim-fixup:
  object-file: use unsigned arithmetic with bit mask
  object-store: avoid extra ';' from KHASH_INIT
  oidtree: avoid nested struct oidtree_node

4 years agoobject-file: use unsigned arithmetic with bit mask
René Scharfe [Fri, 6 Aug 2021 17:53:47 +0000 (19:53 +0200)] 
object-file: use unsigned arithmetic with bit mask

33f379eee6 (make object_directory.loose_objects_subdir_seen a bitmap,
2021-07-07) replaced a wasteful 256-byte array with a 32-byte array
and bit operations.  The mask calculation shifts a literal 1 of type
int left by anything between 0 and 31.  UndefinedBehaviorSanitizer
doesn't like that and reports:

object-file.c:2477:18: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

Make sure to use an unsigned 1 instead to avoid the issue.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: pt_PT: cleaning flags mismatch
Daniel Santos [Wed, 11 Aug 2021 04:07:01 +0000 (05:07 +0100)] 
l10n: pt_PT: cleaning flags mismatch

 * corrected git flags mismatch

Signed-off-by: Daniel Santos <hello@brighterdan.com>
4 years agoconnect, protocol: log negotiated protocol version
Josh Steadmon [Tue, 10 Aug 2021 17:20:39 +0000 (10:20 -0700)] 
connect, protocol: log negotiated protocol version

It is useful for performance monitoring and debugging purposes to know
the wire protocol used for remote operations. This may differ from the
version set in local configuration due to differences in version and/or
configuration between the server and the client. Therefore, log the
negotiated wire protocol version via trace2, for both clients and
servers.

Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: pt_PT: cleaning duplicate translations
Daniel Santos [Mon, 9 Aug 2021 07:33:41 +0000 (08:33 +0100)] 
l10n: pt_PT: cleaning duplicate translations

 * cleaning duplicate incorrect translations part 1

Signed-off-by: Daniel Santos <hello@brighterdan.com>
4 years agol10n: pt_PT: update translation tables
Daniel Santos [Fri, 6 Aug 2021 14:20:28 +0000 (15:20 +0100)] 
l10n: pt_PT: update translation tables

 * update translation tables

Signed-off-by: Daniel Santos <hello@brighterdan.com>
4 years agol10n: pt_PT: translated git v2.33.0
Daniel Santos [Tue, 3 Aug 2021 13:50:58 +0000 (14:50 +0100)] 
l10n: pt_PT: translated git v2.33.0

 * translated new entries of git v2.33.0

Signed-off-by: Daniel Santos <hello@brighterdan.com>
4 years agoRevert 'diff-merges: let "-m" imply "-p"'
Jonathan Nieder [Fri, 6 Aug 2021 01:45:23 +0000 (18:45 -0700)] 
Revert 'diff-merges: let "-m" imply "-p"'

This reverts commit f5bfcc823ba242a46e20fb6f71c9fbf7ebb222fe, which
made "git log -m" imply "--patch" by default.  The logic was that
"-m", which makes diff generation for merges perform a diff against
each parent, has no use unless I am viewing the diff, so we could save
the user some typing by turning on display of the resulting diff
automatically.  That wasn't expected to adversely affect scripts
because scripts would either be using a command like "git diff-tree"
that already emits diffs by default or would be combining -m with a
diff generation option such as --name-status.  By saving typing for
interactive use without adversely affecting scripts in the wild, it
would be a pure improvement.

The problem is that although diff generation options are only relevant
for the displayed diff, a script author can imagine them affecting
path limiting.  For example, I might run

git log -w --format=%H -- README

hoping to list commits that edited README, excluding whitespace-only
changes.  In fact, a whitespace-only change is not TREESAME so the use
of -w here has no effect (since we don't apply these diff generation
flags to the diff_options struct rev_info::pruning used for this
purpose), but the documentation suggests that it should work

Suppose you specified foo as the <paths>. We shall call
commits that modify foo !TREESAME, and the rest TREESAME. (In
a diff filtered for foo, they look different and equal,
respectively.)

and a script author who has not tested whitespace-only changes
wouldn't notice.

Similarly, a script author could include

git log -m --first-parent --format=%H -- README

to filter the first-parent history for commits that modified README.
The -m is a no-op but it reflects the script author's intent.  For
example, until 1e20a407fe2 (stash list: stop passing "-m" to "git
log", 2021-05-21), "git stash list" did this.

As a result, we can't safely change "-m" to imply "-p" without fear of
breaking such scripts.  Restore the previous behavior.

Noticed because Rust's src/bootstrap/bootstrap.py made use of this
same construct: https://github.com/rust-lang/rust/pull/87513.  That
script has been updated to omit the unnecessary "-m" option, but we
can expect other scripts in the wild to have similar expectations.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: sv.po: Update Swedish translation (5227t0f0u)
Peter Krefting [Mon, 9 Aug 2021 19:38:56 +0000 (20:38 +0100)] 
l10n: sv.po: Update Swedish translation (5227t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
4 years agobuiltin/merge: avoid -Wformat-extra-args from ancient Xcode
Carlo Marcelo Arenas Belón [Sun, 8 Aug 2021 03:38:34 +0000 (20:38 -0700)] 
builtin/merge: avoid -Wformat-extra-args from ancient Xcode

d540b70c85 (merge: cleanup messages like commit, 2019-04-17) adds
a way to change part of the helper text using a single call to
strbuf_add_commented_addf but with two formats with varying number
of parameters.

this trigger a warning in old versions of Xcode (ex 8.0), so use
instead two independent calls with a matching number of parameters

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoobject-store: avoid extra ';' from KHASH_INIT
Carlo Marcelo Arenas Belón [Mon, 9 Aug 2021 01:38:32 +0000 (18:38 -0700)] 
object-store: avoid extra ';' from KHASH_INIT

cf2dc1c238 (speed up alt_odb_usable() with many alternates, 2021-07-07)
introduces a KHASH_INIT invocation with a trailing ';', which while
commonly expected will trigger warnings with pedantic on both
clang[-Wextra-semi] and gcc[-Wpedantic], because that macro has already
a semicolon and is meant to be invoked without one.

while fixing the macro would be a worthy solution (specially considering
this is a common recurring problem), remove the extra ';' for now to
minimize churn.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agooidtree: avoid nested struct oidtree_node
Carlo Marcelo Arenas Belón [Mon, 9 Aug 2021 01:38:31 +0000 (18:38 -0700)] 
oidtree: avoid nested struct oidtree_node

92d8ed8ac1 (oidtree: a crit-bit tree for odb_loose_cache, 2021-07-07)
adds a struct oidtree_node that contains only an n field with a
struct cb_node.

unfortunately, while building in pedantic mode witch clang 12 (as well
as a similar error from gcc 11) it will show:

  oidtree.c:11:17: error: 'n' may not be nested in a struct due to flexible array member [-Werror,-Wflexible-array-extensions]
          struct cb_node n;
                         ^

because of a constrain coded in ISO C 11 6.7.2.1¶3 that forbids using
structs that contain a flexible array as part of another struct.

use a strict cb_node directly instead.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: vi.po(5227t): Updated Vietnamese translation for v2.32.0
Tran Ngoc Quan [Mon, 9 Aug 2021 00:58:57 +0000 (07:58 +0700)] 
l10n: vi.po(5227t): Updated Vietnamese translation for v2.32.0

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
4 years agoGit 2.33-rc1 v2.33.0-rc1
Junio C Hamano [Fri, 6 Aug 2021 19:53:06 +0000 (12:53 -0700)] 
Git 2.33-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agoMerge branch 'cb/t7508-regexp-fix'
Junio C Hamano [Fri, 6 Aug 2021 19:52:22 +0000 (12:52 -0700)] 
Merge branch 'cb/t7508-regexp-fix'

* cb/t7508-regexp-fix:
  t7508: avoid non POSIX BRE

4 years agoMerge branch 'ab/pickaxe-pcre2'
Junio C Hamano [Fri, 6 Aug 2021 19:52:15 +0000 (12:52 -0700)] 
Merge branch 'ab/pickaxe-pcre2'

* ab/pickaxe-pcre2:
  diff: --pickaxe-all typofix

4 years agoMerge branch 'fc/disable-checkwinsize'
Junio C Hamano [Fri, 6 Aug 2021 19:50:26 +0000 (12:50 -0700)] 
Merge branch 'fc/disable-checkwinsize'

* fc/disable-checkwinsize:
  test: fix for COLUMNS and bash 5

4 years agotest: fix for COLUMNS and bash 5
Felipe Contreras [Thu, 5 Aug 2021 19:48:25 +0000 (14:48 -0500)] 
test: fix for COLUMNS and bash 5

Since c49a177bec (test-lib.sh: set COLUMNS=80 for --verbose
repeatability, 2021-06-29) multiple tests have been failing when using
bash 5 because checkwinsize is enabled by default, therefore COLUMNS is
reset using TIOCGWINSZ even for non-interactive shells.

It's debatable whether or not bash should even be doing that, but for
now we can avoid this undesirable behavior by disabling this option.

Reported-by: Fabian Stelzer <fabian.stelzer@campoint.net>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
[jc: with SZEDER Gábor's suggestion to do this before setting COLUMNS]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
4 years agol10n: bg.po: Updated Bulgarian translation (5227t)
Alexander Shopov [Fri, 6 Aug 2021 09:57:40 +0000 (12:57 +0300)] 
l10n: bg.po: Updated Bulgarian translation (5227t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
4 years agoMerge branch 'po-id' of github.com:bagasme/git-po
Jiang Xin [Fri, 6 Aug 2021 00:00:45 +0000 (08:00 +0800)] 
Merge branch 'po-id' of github.com:bagasme/git-po

* 'po-id' of github.com:bagasme/git-po:
  l10n: id: po-id for 2.33.0 (round 1)

4 years agoUpdate error message and code comment
Elijah Newren [Wed, 4 Aug 2021 23:50:54 +0000 (23:50 +0000)] 
Update error message and code comment

There were two locations in the code that referred to 'merge-recursive'
but which were also applicable to 'merge-ort'.  Update them to more
general wording.

Acked-by: Derrick Stolee <dstolee@microsoft.com>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>