Commit Graph

63790 Commits

Author SHA1 Message Date
6b58df54cf clone: handle unborn branch in bare repos
When cloning a repository with an unborn HEAD, we'll set the local HEAD
to match it only if the local repository is non-bare. This is
inconsistent with all other combinations:

  remote HEAD       | local repo | local HEAD
  -----------------------------------------------
  points to commit  | non-bare   | same as remote
  points to commit  | bare       | same as remote
  unborn            | non-bare   | same as remote
  unborn            | bare       | local default

So I don't think this is some clever or subtle behavior, but just a bug
in 4f37d45706 (clone: respect remote unborn HEAD, 2021-02-05). And it's
easy to see how we ended up there. Before that commit, the code to set
up the HEAD for an empty repo was guarded by "if (!option_bare)". That's
because the only thing it did was call install_branch_config(), and we
don't want to do so for a bare repository (unborn HEAD or not).

That commit put the handling of unborn HEADs into the same block, since
those also need to call install_branch_config(). But the unborn case has
an additional side effect of calling create_symref(), and we want that
to happen whether we are bare or not.

This patch just pulls all of the "figure out the default branch" code
out of the "!option_bare" block. Only the actual config installation is
kept there.

Note that this does mean we might allocate "ref" and not use it (if the
remote is empty but did not advertise an unborn HEAD). But that's not
really a big deal since this isn't a hot code path, and it keeps the
code simple. The alternative would be handling unborn_head_target
separately, but that gets confusing since its memory ownership is
tangled up with the "ref" variable.

There's just one new test, for the case we're fixing. The other ones in
the table are handled elsewhere (the unborn non-bare case just above,
and the actually-born cases in t5601, t5606, and t5609, as they do not
require v2's "unborn" protocol extension).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-09-20 14:05:36 -07:00
225bc32a98 Git 2.33
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.33.0
2021-08-16 12:15:44 -07:00
b06a5047ee 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
2021-08-16 12:14:35 -07:00
f7cd3c0832 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
  ...
2021-08-16 09:38:57 -07:00
efedbb11de 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>
2021-08-16 06:54:20 +08:00
cfeae5a31e l10n: TEAMS: change Simplified Chinese team leader
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2021-08-16 06:39:30 +08:00
8bcda98da5 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>
2021-08-15 13:13:50 -07:00
289946016e Merge branch 'next' of github.com:ChrisADR/git-po
* 'next' of github.com:ChrisADR/git-po:
  l10n: es: 2.33.0 round 2
2021-08-15 18:32:20 +08:00
8f333b5f66 l10n: tr: v2.33 (round 2)
Signed-off-by: Emir Sarı <bitigchi@me.com>
2021-08-15 10:17:15 +03:00
92c199fa6d 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>
2021-08-14 23:28:05 -05:00
ec3d4607ae 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>
2021-08-15 11:16:07 +08:00
523ccf5dba l10n: zh_CN: Revision for git v2.32.0 l10n round 1
Signed-off-by: Fangyi Zhou <me@fangyi.io>
2021-08-15 10:56:49 +08:00
cb92e28384 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>
2021-08-15 10:55:16 +08:00
fb2aacea67 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)
2021-08-15 10:26:18 +08:00
813147b681 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
2021-08-15 10:24:24 +08:00
4e7e75353a l10n: update German translation for Git v2.33.0 (rnd2)
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2021-08-14 16:35:44 +02:00
fd3e513e88 l10n: pt_PT: v2.33.0 round 2
* translation of new entries

Signed-off-by: Daniel Santos <hello@brighterdan.com>
2021-08-14 15:13:11 +01:00
7d3bc0806b l10n: pt_PT: git-po-helper update
* run git-po-helper update pt_PT.po

Signed-off-by: Daniel Santos <hello@brighterdan.com>
2021-08-14 15:13:11 +01:00
88e7a93391 l10n: pt_PT: update translation table
* updated translation table

Signed-off-by: Daniel Santos <hello@brighterdan.com>
2021-08-14 15:13:04 +01:00
309f8cf9f9 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
2021-08-14 19:30:54 +08:00
508b35770d l10n: zh_TW.po: remove the obsolete glossary
Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
2021-08-14 19:07:58 +08:00
37eabbe498 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
2021-08-14 17:02:54 +08:00
9b272daa50 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
2021-08-14 17:01:27 +08:00
86e24f5b12 l10n: vi.po(5230t): Updated translation for v2.32.0 round 2
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2021-08-14 14:54:44 +07:00
0934645bf8 l10n: fr.po v2.33 rnd 2
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
2021-08-14 08:28:48 +02:00
2640b6a3a6 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>
2021-08-14 13:17:13 +07:00
81e30fc0c7 l10n: zh_TW.po: update for v2.33.0 rnd 2
Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
2021-08-14 14:01:59 +08:00
55095d03a9 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
2021-08-14 11:52:34 +08:00
bbc7dccd9d 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>
2021-08-14 07:57:34 +08:00
117e2caa42 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
  ...
2021-08-14 07:56:22 +08:00
18c9fced7b 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)
2021-08-14 07:55:01 +08:00
738cdce5b2 Merge branch 'master' of github.com:alshopov/git-po
* 'master' of github.com:alshopov/git-po:
  l10n: bg.po: Updated Bulgarian translation (5227t)
2021-08-14 07:54:38 +08:00
37a65ae0c9 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
2021-08-14 07:50:33 +08:00
1dcaad9726 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
2021-08-14 07:45:37 +08:00
14eb1841a6 Merge branch 'master' of github.com:Softcatala/git-po
* 'master' of github.com:Softcatala/git-po:
  l10n: Update Catalan translation
2021-08-14 07:44:41 +08:00
a90b519187 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>
2021-08-13 20:22:48 +02:00
d4c5a0c81b l10n: update German translation for Git v2.33.0
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2021-08-13 20:22:43 +02:00
95862fa2fa l10n: fr.po fix typos in commands and variables
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
2021-08-12 21:14:15 +02:00
ea75369306 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>
2021-08-12 17:18:29 +07:00
2be328e4df l10n: vi.po(5227t): Fixed typo after run git-po-helper
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2021-08-12 14:05:39 +07:00
b50be84244 l10n: Update Catalan translation
Signed-off-by: Jordi Mas <jmas@softcatala.org>
2021-08-12 08:07:32 +02:00
41a03e285f 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
2021-08-12 08:23:55 +08:00
5d213e46bb Git 2.33-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v2.33.0-rc2
2021-08-11 12:36:18 -07:00
4c90d8908a 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"'
2021-08-11 12:36:18 -07:00
7cfaa86fe6 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
2021-08-11 12:36:17 -07:00
581a3bb155 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>
2021-08-11 10:19:56 -07:00
e83b1243bd l10n: pt_PT: cleaning flags mismatch
* corrected git flags mismatch

Signed-off-by: Daniel Santos <hello@brighterdan.com>
2021-08-11 05:07:01 +01:00
db0aa64208 l10n: pt_PT: cleaning duplicate translations
* cleaning duplicate incorrect translations part 1

Signed-off-by: Daniel Santos <hello@brighterdan.com>
2021-08-10 19:32:01 +01:00
ffbb3ee955 l10n: pt_PT: update translation tables
* update translation tables

Signed-off-by: Daniel Santos <hello@brighterdan.com>
2021-08-10 19:32:01 +01:00
d0c637e6b9 l10n: pt_PT: translated git v2.33.0
* translated new entries of git v2.33.0

Signed-off-by: Daniel Santos <hello@brighterdan.com>
2021-08-10 19:31:49 +01:00