]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
18 months agobuiltin/clone: create the refdb with the correct object format
Patrick Steinhardt [Tue, 12 Dec 2023 07:01:07 +0000 (08:01 +0100)] 
builtin/clone: create the refdb with the correct object format

We're currently creating the reference database with a potentially
incorrect object format when the remote repository's object format is
different from the local default object format. This works just fine for
now because the files backend never records the object format anywhere.
But this logic will fail with any new reference backend that encodes
this information in some form either on-disk or in-memory.

The preceding commits have reshuffled code in git-clone(1) so that there
is no code path that will access the reference database before we have
detected the remote's object format. With these refactorings we can now
defer initialization of the reference database until after we have
learned the remote's object format and thus initialize it with the
correct format from the get-go.

These refactorings are required to make git-clone(1) work with the
upcoming reftable backend when cloning repositories with the SHA256
object format.

This change breaks a test in "t5550-http-fetch-dumb.sh" when cloning an
empty repository with `GIT_TEST_DEFAULT_HASH=sha256`. The test expects
the resulting hash format of the empty cloned repository to match the
default hash, but now we always end up with a sha1 repository. The
problem is that for dumb HTTP fetches, we have no easy way to figure out
the remote's hash function except for deriving it based on the hash
length of refs in `info/refs`. But as the remote repository is empty we
cannot rely on this detection mechanism.

Before the change in this commit we already initialized the repository
with the default hash function and then left it as-is. With this patch
we always use the hash function detected via the remote, where we fall
back to "sha1" in case we cannot detect it.

Neither the old nor the new behaviour are correct as we second-guess the
remote hash function in both cases. But given that this is a rather
unlikely edge case (we use the dumb HTTP protocol, the remote repository
uses SHA256 and the remote repository is empty), let's simply adapt the
test to assert the new behaviour. If we want to properly address this
edge case in the future we will have to extend the dumb HTTP protocol so
that we can properly detect the hash function for empty repositories.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
18 months agobuiltin/clone: skip reading HEAD when retrieving remote
Patrick Steinhardt [Tue, 12 Dec 2023 07:01:03 +0000 (08:01 +0100)] 
builtin/clone: skip reading HEAD when retrieving remote

After we have set up the remote configuration in git-clone(1) we'll call
`remote_get()` to read the remote from the on-disk configuration. But
next to reading the on-disk configuration, `remote_get()` will also
cause us to try and read the repository's HEAD reference so that we can
figure out the current branch. Besides being pointless in git-clone(1)
because we're operating in an empty repository anyway, this will also
break once we move creation of the reference database to a later point
in time.

Refactor the code to introduce a new `remote_get_early()` function that
will skip reading the HEAD reference to address this issue.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
18 months agobuiltin/clone: set up sparse checkout later
Patrick Steinhardt [Tue, 12 Dec 2023 07:00:59 +0000 (08:00 +0100)] 
builtin/clone: set up sparse checkout later

When asked to do a sparse checkout, then git-clone(1) will spawn
`git sparse-checkout set` to set up the configuration accordingly. This
requires a proper Git repository or otherwise the command will fail. But
as we are about to move creation of the reference database to a later
point, this prerequisite will not hold anymore.

Move the logic to a later point in time where we know to have created
the reference database already.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
18 months agobuiltin/clone: fix bundle URIs with mismatching object formats
Patrick Steinhardt [Tue, 12 Dec 2023 07:00:54 +0000 (08:00 +0100)] 
builtin/clone: fix bundle URIs with mismatching object formats

We create the reference database in git-clone(1) quite early before
connecting to the remote repository. Given that we do not yet know about
the object format that the remote repository uses at that point in time
the consequence is that the refdb may be initialized with the wrong
object format.

This is not a problem in the context of the files backend as we do not
encode the object format anywhere, and furthermore the only reference
that we write between initializing the refdb and learning about the
object format is the "HEAD" symref. It will become a problem though once
we land the reftable backend, which indeed does require to know about
the proper object format at the time of creation. We thus need to
rearrange the logic in git-clone(1) so that we only initialize the refdb
once we have learned about the actual object format.

As a first step, move listing of remote references to happen earlier,
which also allow us to set up the hash algorithm of the repository
earlier now. While we aim to execute this logic as late as possible
until after most of the setup has happened already, detection of the
object format and thus later the setup of the reference database must
happen before any other logic that may spawn Git commands or otherwise
these Git commands may not recognize the repository as such.

The first Git step where we expect the repository to be fully initalized
is when we fetch bundles via bundle URIs. Funny enough, the comments
there also state that "the_repository must match the cloned repo", which
is indeed not necessarily the case for the hash algorithm right now. So
in practice it is the right thing to detect the remote's object format
before downloading bundle URIs anyway, and not doing so causes clones
with bundle URIs to fail when the local default object format does not
match the remote repository's format.

Unfortunately though, this creates a new issue: downloading bundles may
take a long time, so if we list refs beforehand they might've grown
stale meanwhile. It is not clear how to solve this issue except for a
second reference listing though after we have downloaded the bundles,
which may be an expensive thing to do.

Arguably though, it's preferable to have a staleness issue compared to
being unable to clone a repository altogether.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
18 months agoremote-curl: rediscover repository when fetching refs
Patrick Steinhardt [Tue, 12 Dec 2023 07:00:50 +0000 (08:00 +0100)] 
remote-curl: rediscover repository when fetching refs

The reftable format encodes the hash function used by the repository
inside of its tables. The reftable backend thus needs to be initialized
with the correct hash function right from the start, or otherwise we may
end up writing tables with the wrong hash function. But git-clone(1)
initializes the reference database before learning about the hash
function used by the remote repository, which has never been a problem
with the reffiles backend.

To fix this, we'll have to change git-clone(1) to be more careful and
only create the reference backend once it learned about the remote hash
function. This creates a problem for git-remote-curl(1), which will then
be spawned at a time where the repository is not yet fully-initialized.
Consequentially, git-remote-curl(1) will fail to detect the repository,
which eventually causes it to error out once it is asked to fetch remote
objects.

We can address this issue by trying to re-discover the Git repository in
case none was detected at startup time. With this change, the clone will
look as following:

  1. git-clone(1) sets up the initial repository, excluding the
     reference database.

  2. git-clone(1) spawns git-remote-curl(1), which will be unable to
     detect the repository due to a missing "HEAD".

  3. git-clone(1) asks git-remote-curl(1) to list remote references.
     This works just fine as this step does not require a local
     repository

  4. git-clone(1) creates the reference database as it has now learned
     about the hash function.

  5. git-clone(1) asks git-remote-curl(1) to fetch the remote packfile.
     The latter notices that it doesn't have a repository available, but
     it now knows to try and re-discover it.

If the re-discovery succeeds in the last step we can continue with the
clone.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
18 months agosetup: allow skipping creation of the refdb
Patrick Steinhardt [Tue, 12 Dec 2023 07:00:46 +0000 (08:00 +0100)] 
setup: allow skipping creation of the refdb

Allow callers to skip creation of the reference database via a new flag
`INIT_DB_SKIP_REFDB`, which is required for git-clone(1) so that we can
create it at a later point once the object format has been discovered
from the remote repository.

Note that we also uplift the call to `create_reference_database()` into
`init_db()`, which makes it easier to handle the new flag for us. This
changes the order in which we do initialization so that we now set up
the Git configuration before we create the reference database. In
practice this move should not result in any change in behaviour.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
18 months agosetup: extract function to create the refdb
Patrick Steinhardt [Tue, 12 Dec 2023 07:00:41 +0000 (08:00 +0100)] 
setup: extract function to create the refdb

We're about to let callers skip creation of the reference database when
calling `init_db()`. Extract the logic into a standalone function so
that it becomes easier to do this refactoring.

While at it, expand the comment that explains why we always create the
"refs/" directory.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoGit 2.43 v2.43.0
Junio C Hamano [Sun, 19 Nov 2023 23:47:38 +0000 (08:47 +0900)] 
Git 2.43

Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoMerge tag 'l10n-2.43.0-rnd2' of https://github.com/git-l10n/git-po
Junio C Hamano [Mon, 20 Nov 2023 01:27:33 +0000 (10:27 +0900)] 
Merge tag 'l10n-2.43.0-rnd2' of https://github.com/git-l10n/git-po

l10n-2.43.0-rnd2

* tag 'l10n-2.43.0-rnd2' of https://github.com/git-l10n/git-po:
  l10n: zh-TW: Git 2.43.0-rc1
  l10n: Update German translation
  l10n: bg.po: Updated Bulgarian translation (5579t)
  l10n: zh_CN: for git 2.43.0-rc1
  l10n: Update Catalan translation
  l10n: po-id for 2.43 (round 1)
  l10n: fr: v2.43.0 rnd 2
  l10n: update uk localization for v2.43
  l10n: sv.po: Update Swedish translation (5579t)
  l10n: tr: v2.43.0

19 months agoMerge branch 'vd/glossary-dereference-peel'
Junio C Hamano [Mon, 20 Nov 2023 00:57:23 +0000 (09:57 +0900)] 
Merge branch 'vd/glossary-dereference-peel'

"To dereference" and "to peel" were sometimes used in in-code
comments and documentation but without description in the glossary.

* vd/glossary-dereference-peel:
  glossary: add definitions for dereference & peel

19 months agoMerge branch 'tz/send-email-helpfix'
Junio C Hamano [Mon, 20 Nov 2023 00:57:22 +0000 (09:57 +0900)] 
Merge branch 'tz/send-email-helpfix'

Typoes in "git send-email -h" have been corrected.

* tz/send-email-helpfix:
  send-email: remove stray characters from usage

19 months agoMerge branch 'l10n/zh-TW/2023-11-19' of github.com:l10n-tw/git-po
Jiang Xin [Sun, 19 Nov 2023 23:57:09 +0000 (07:57 +0800)] 
Merge branch 'l10n/zh-TW/2023-11-19' of github.com:l10n-tw/git-po

* 'l10n/zh-TW/2023-11-19' of github.com:l10n-tw/git-po:
  l10n: zh-TW: Git 2.43.0-rc1

19 months agol10n: zh-TW: Git 2.43.0-rc1
Yi-Jyun Pan [Sun, 19 Nov 2023 15:35:21 +0000 (23:35 +0800)] 
l10n: zh-TW: Git 2.43.0-rc1

Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
19 months agoMerge branch 'master' of github.com:alshopov/git-po
Jiang Xin [Sun, 19 Nov 2023 12:56:21 +0000 (20:56 +0800)] 
Merge branch 'master' of github.com:alshopov/git-po

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

19 months agol10n: Update German translation
Ralf Thielow [Thu, 9 Nov 2023 10:31:01 +0000 (11:31 +0100)] 
l10n: Update German translation

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
19 months agol10n: bg.po: Updated Bulgarian translation (5579t)
Alexander Shopov [Sat, 5 Aug 2023 16:10:45 +0000 (19:10 +0300)] 
l10n: bg.po: Updated Bulgarian translation (5579t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
19 months agol10n: zh_CN: for git 2.43.0-rc1
Teng Long [Fri, 10 Nov 2023 09:17:29 +0000 (17:17 +0800)] 
l10n: zh_CN: for git 2.43.0-rc1

Signed-off-by: Teng Long <dyroneteng@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
19 months agoMerge branch '2.43-uk-update' of github.com:arkid15r
Jiang Xin [Sat, 18 Nov 2023 02:51:56 +0000 (10:51 +0800)] 
Merge branch '2.43-uk-update' of github.com:arkid15r

* '2.43-uk-update' of github.com:arkid15r/git-ukrainian-l10n:
  l10n: update uk localization for v2.43

19 months agoMerge branch 'catalan' of github.com:Softcatala/git-po
Jiang Xin [Sat, 18 Nov 2023 02:48:39 +0000 (10:48 +0800)] 
Merge branch 'catalan' of github.com:Softcatala/git-po

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

19 months agoMerge branch 'tr-l10n' of github.com:bitigchi/git-po
Jiang Xin [Sat, 18 Nov 2023 02:45:56 +0000 (10:45 +0800)] 
Merge branch 'tr-l10n' of github.com:bitigchi/git-po

* 'tr-l10n' of github.com:bitigchi/git-po:
  l10n: tr: v2.43.0

19 months agoMerge branch 'fr_v2.43.0' of github.com:jnavila/git
Jiang Xin [Sat, 18 Nov 2023 02:43:22 +0000 (10:43 +0800)] 
Merge branch 'fr_v2.43.0' of github.com:jnavila/git

* 'fr_v2.43.0' of github.com:jnavila/git:
  l10n: fr: v2.43.0 rnd 2

19 months agoMerge branch 'po-id' of github.com:bagasme/git-po
Jiang Xin [Sat, 18 Nov 2023 02:42:48 +0000 (10:42 +0800)] 
Merge branch 'po-id' of github.com:bagasme/git-po

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

19 months agoMerge branch 'master' of github.com:nafmo/git-l10n-sv
Jiang Xin [Sat, 18 Nov 2023 02:42:04 +0000 (10:42 +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 (5579t)

19 months agosend-email: remove stray characters from usage
Todd Zullinger [Wed, 15 Nov 2023 17:39:44 +0000 (12:39 -0500)] 
send-email: remove stray characters from usage

A few stray single quotes crept into the usage string in a2ce608244
(send-email docs: add format-patch options, 2021-10-25).  Remove them.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoGit 2.43-rc2 v2.43.0-rc2
Junio C Hamano [Tue, 14 Nov 2023 06:14:45 +0000 (15:14 +0900)] 
Git 2.43-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoglossary: add definitions for dereference & peel
Victoria Dye [Mon, 13 Nov 2023 23:17:51 +0000 (23:17 +0000)] 
glossary: add definitions for dereference & peel

Add 'gitglossary' definitions for "dereference" (as it used for both symrefs
and objects) and "peel". These terms are used in options and documentation
throughout Git, but they are not clearly defined anywhere and the behavior
they refer to depends heavily on context. Provide explicit definitions to
clarify existing documentation to users and help contributors to use the
most appropriate terminology possible in their additions to Git.

Update other definitions in the glossary that use the term "dereference" to
link to 'def_dereference'.

Signed-off-by: Victoria Dye <vdye@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agol10n: Update Catalan translation
Jordi Mas [Mon, 13 Nov 2023 18:55:50 +0000 (19:55 +0100)] 
l10n: Update Catalan translation

Signed-off-by: Jordi Mas <jmas@softcatala.org>
19 months agol10n: po-id for 2.43 (round 1)
Bagas Sanjaya [Sat, 4 Nov 2023 10:54:49 +0000 (17:54 +0700)] 
l10n: po-id for 2.43 (round 1)

Update following components:

  * builtin/gc.c
  * builtin/interpret-trailers.c
  * builtin/merge-file.c
  * builtin/show-ref.c
  * builtin/update-index.c
  * chunk-format.c
  * parse-options.c
  * scalar.c

While at it, drop unused strings.

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
19 months agoRelNotes: minor wording fixes in 2.43.0 release notes
Elijah Newren [Sat, 11 Nov 2023 04:02:20 +0000 (04:02 +0000)] 
RelNotes: minor wording fixes in 2.43.0 release notes

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agol10n: fr: v2.43.0 rnd 2
Jean-Noël Avila [Sun, 5 Nov 2023 09:40:48 +0000 (10:40 +0100)] 
l10n: fr: v2.43.0 rnd 2

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
19 months agol10n: update uk localization for v2.43
Arkadii Yakovets [Fri, 10 Nov 2023 18:18:19 +0000 (10:18 -0800)] 
l10n: update uk localization for v2.43

Co-authored-by: Kate Golovanova <kate@kgthreads.com>
Signed-off-by: Arkadii Yakovets <ark@cho.red>
Signed-off-by: Kate Golovanova <kate@kgthreads.com>
19 months agol10n: sv.po: Update Swedish translation (5579t)
Peter Krefting [Thu, 9 Nov 2023 13:29:25 +0000 (14:29 +0100)] 
l10n: sv.po: Update Swedish translation (5579t)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
19 months agol10n: tr: v2.43.0
Emir SARI [Sun, 5 Nov 2023 10:51:56 +0000 (13:51 +0300)] 
l10n: tr: v2.43.0

Signed-off-by: Emir SARI <emir_sari@icloud.com>
19 months agoGit 2.43-rc1 v2.43.0-rc1
Junio C Hamano [Wed, 8 Nov 2023 06:04:27 +0000 (15:04 +0900)] 
Git 2.43-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoMerge branch 'tb/rev-list-unpacked-fix'
Junio C Hamano [Wed, 8 Nov 2023 06:04:42 +0000 (15:04 +0900)] 
Merge branch 'tb/rev-list-unpacked-fix'

"git rev-list --unpacked --objects" failed to exclude packed
non-commit objects, which has been corrected.

* tb/rev-list-unpacked-fix:
  pack-bitmap: drop --unpacked non-commit objects from results
  list-objects: drop --unpacked non-commit objects from results

19 months agoMerge branch 'ps/leakfixes'
Junio C Hamano [Wed, 8 Nov 2023 06:04:41 +0000 (15:04 +0900)] 
Merge branch 'ps/leakfixes'

Leakfix.

* ps/leakfixes:
  setup: fix leaking repository format
  setup: refactor `upgrade_repository_format()` to have common exit
  shallow: fix memory leak when registering shallow roots
  test-bloom: stop setting up Git directory twice

19 months agoPrepare for -rc1
Junio C Hamano [Wed, 8 Nov 2023 02:03:26 +0000 (11:03 +0900)] 
Prepare for -rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoMerge branch 'jc/test-i18ngrep'
Junio C Hamano [Wed, 8 Nov 2023 02:04:02 +0000 (11:04 +0900)] 
Merge branch 'jc/test-i18ngrep'

Another step to deprecate test_i18ngrep.

* jc/test-i18ngrep:
  tests: teach callers of test_i18ngrep to use test_grep
  test framework: further deprecate test_i18ngrep

19 months agoMerge branch 'la/strvec-header-fix'
Junio C Hamano [Wed, 8 Nov 2023 02:04:01 +0000 (11:04 +0900)] 
Merge branch 'la/strvec-header-fix'

Code clean-up.

* la/strvec-header-fix:
  strvec: drop unnecessary include of hex.h

19 months agoMerge branch 'bc/merge-file-object-input'
Junio C Hamano [Wed, 8 Nov 2023 02:04:01 +0000 (11:04 +0900)] 
Merge branch 'bc/merge-file-object-input'

"git merge-file" learns a mode to read three contents to be merged
from blob objects.

* bc/merge-file-object-input:
  merge-file: add an option to process object IDs
  git-merge-file doc: drop "-file" from argument placeholders

19 months agoMerge branch 'kn/rev-list-missing-fix'
Junio C Hamano [Wed, 8 Nov 2023 02:04:01 +0000 (11:04 +0900)] 
Merge branch 'kn/rev-list-missing-fix'

"git rev-list --missing" did not work for missing commit objects,
which has been corrected.

* kn/rev-list-missing-fix:
  rev-list: add commit object support in `--missing` option
  rev-list: move `show_commit()` to the bottom
  revision: rename bit to `do_not_die_on_missing_objects`

19 months agoMerge branch 'an/clang-format-typofix'
Junio C Hamano [Wed, 8 Nov 2023 02:04:00 +0000 (11:04 +0900)] 
Merge branch 'an/clang-format-typofix'

Typofix.

* an/clang-format-typofix:
  clang-format: fix typo in comment

19 months agoMerge branch 'tb/format-pack-doc-update'
Junio C Hamano [Wed, 8 Nov 2023 02:04:00 +0000 (11:04 +0900)] 
Merge branch 'tb/format-pack-doc-update'

Doc update.

* tb/format-pack-doc-update:
  Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
  Documentation/gitformat-pack.txt: fix typo

19 months agoMerge branch 'ps/show-ref'
Junio C Hamano [Wed, 8 Nov 2023 02:03:59 +0000 (11:03 +0900)] 
Merge branch 'ps/show-ref'

Teach "git show-ref" a mode to check the existence of a ref.

* ps/show-ref:
  t: use git-show-ref(1) to check for ref existence
  builtin/show-ref: add new mode to check for reference existence
  builtin/show-ref: explicitly spell out different modes in synopsis
  builtin/show-ref: ensure mutual exclusiveness of subcommands
  builtin/show-ref: refactor options for patterns subcommand
  builtin/show-ref: stop using global vars for `show_one()`
  builtin/show-ref: stop using global variable to count matches
  builtin/show-ref: refactor `--exclude-existing` options
  builtin/show-ref: fix dead code when passing patterns
  builtin/show-ref: fix leaking string buffer
  builtin/show-ref: split up different subcommands
  builtin/show-ref: convert pattern to a local variable

19 months agoMerge branch 'ps/do-not-trust-commit-graph-blindly-for-existence'
Junio C Hamano [Wed, 8 Nov 2023 02:03:59 +0000 (11:03 +0900)] 
Merge branch 'ps/do-not-trust-commit-graph-blindly-for-existence'

The codepath to traverse the commit-graph learned to notice that a
commit is missing (e.g., corrupt repository lost an object), even
though it knows something about the commit (like its parents) from
what is in commit-graph.

* ps/do-not-trust-commit-graph-blindly-for-existence:
  commit: detect commits that exist in commit-graph but not in the ODB
  commit-graph: introduce envvar to disable commit existence checks

19 months agoMerge branch 'js/ci-use-macos-13'
Junio C Hamano [Wed, 8 Nov 2023 02:03:59 +0000 (11:03 +0900)] 
Merge branch 'js/ci-use-macos-13'

Replace macos-12 used at GitHub CI with macos-13.

* js/ci-use-macos-13:
  ci: upgrade to using macos-13

19 months agoMerge branch 'jk/chunk-bounds'
Junio C Hamano [Wed, 8 Nov 2023 02:03:58 +0000 (11:03 +0900)] 
Merge branch 'jk/chunk-bounds'

Test portability fix.

* jk/chunk-bounds:
  t: avoid perl's pack/unpack "Q" specifier

19 months agoMerge branch 'jk/tree-name-and-depth-limit'
Junio C Hamano [Wed, 8 Nov 2023 02:03:58 +0000 (11:03 +0900)] 
Merge branch 'jk/tree-name-and-depth-limit'

Further limit tree depth max to avoid Windows build running out of
the stack space.

* jk/tree-name-and-depth-limit:
  max_tree_depth: lower it for MSVC to avoid stack overflows

19 months agopack-bitmap: drop --unpacked non-commit objects from results
Taylor Blau [Mon, 6 Nov 2023 22:56:33 +0000 (17:56 -0500)] 
pack-bitmap: drop --unpacked non-commit objects from results

When performing revision queries with `--objects` and
`--use-bitmap-index`, the output may incorrectly contain objects which
are packed, even when the `--unpacked` option is given. This affects
traversals, but also other querying operations, like `--count`,
`--disk-usage`, etc.

Like in the previous commit, the fix is to exclude those objects from
the result set before they are shown to the user (or, in this case,
before the bitmap containing the result of the traversal is enumerated
and its objects listed).

This is performed by a new function in pack-bitmap.c, called
`filter_packed_objects_from_bitmap()`. Note that we do not have to
inspect individual bits in the result bitmap, since we know that the
first N (where N is the number of objects in the bitmap's pack/MIDX)
bits correspond to objects which packed by definition.

In other words, for an object to have a bitmap position (not in the
extended index), it must appear in either the bitmap's pack or one of
the packs in its MIDX.

This presents an appealing optimization to us, which is that we can
simply memset() the corresponding number of `eword_t`'s to zero,
provided that we handle any objects which spill into the next word (but
don't occupy all 64 bits of the word itself).

We only have to handle objects in the bitmap's extended index. These
objects may (or may not) appear in one or more pack(s). Since these
objects are known to not appear in either the bitmap's MIDX or pack,
they may be stored as loose, appear in other pack(s), or both.

Before returning a bitmap containing the result of the traversal back to
the caller, drop any bits from the extended index which appear in one or
more packs. This implements the correct behavior for rev-list operations
which use the bitmap index to compute their result.

Co-authored-by: Jeff King <peff@peff.net>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agolist-objects: drop --unpacked non-commit objects from results
Taylor Blau [Mon, 6 Nov 2023 22:56:30 +0000 (17:56 -0500)] 
list-objects: drop --unpacked non-commit objects from results

In git-rev-list(1), we describe the `--unpacked` option as:

    Only useful with `--objects`; print the object IDs that are not in
    packs.

This is true of commits, which we discard via get_commit_action(), but
not of the objects they reach. So if we ask for an --objects traversal
with --unpacked, we may get arbitrarily many objects which are indeed
packed.

I am nearly certain this behavior dates back to the introduction of
`--unpacked` via 12d2a18780 ("git rev-list --unpacked" shows only
unpacked commits, 2005-07-03), but I couldn't get that revision of Git
to compile for me. At least as early as v2.0.0 this has been subtly
broken:

    $ git.compile --version
    git version 2.0.0

    $ git.compile rev-list --objects --all --unpacked
    72791fe96c93f9ec5c311b8bc966ab349b3b5bbe
    05713d991c18bbeef7e154f99660005311b5004d v1.0
    153ed8b7719c6f5a68ce7ffc43133e95a6ac0fdb
    8e4020bb5a8d8c873b25de15933e75cc0fc275df one
    9200b628cf9dc883a85a7abc8d6e6730baee589c two
    3e6b46e1b7e3b91acce99f6a823104c28aae0b58 unpacked.t

There, only the first, third, and sixth entries are loose, with the
remaining set of objects belonging to at least one pack.

The implications for this are relatively benign: bare 'git repack'
invocations which invoke pack-objects with --unpacked are impacted, and
at worst we'll store a few extra objects that should have been excluded.

Arguably changing this behavior is a backwards-incompatible change,
since it alters the set of objects emitted from rev-list queries with
`--objects` and `--unpacked`. But I argue that this change is still
sensible, since the existing implementation deviates from
clearly-written documentation.

The fix here is straightforward: avoid showing any non-commit objects
which are contained in packs by discarding them within list-objects.c,
before they are shown to the user. Note that similar treatment for
`list-objects.c::show_commit()` is not needed, since that case is
already handled by `revision.c::get_commit_action()`.

Co-authored-by: Jeff King <peff@peff.net>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoRelNotes: improve wording of credential helper notes
Todd Zullinger [Fri, 3 Nov 2023 14:17:51 +0000 (10:17 -0400)] 
RelNotes: improve wording of credential helper notes

Offer a slightly more verbose description of the issue fixed by
7144dee3ec (credential/libsecret: erase matching creds only, 2023-07-26)
and cb626f8e5c (credential/wincred: erase matching creds only,
2023-07-26).

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoRelNotes: minor typo fixes in 2.43.0 draft
Todd Zullinger [Fri, 3 Nov 2023 14:17:50 +0000 (10:17 -0400)] 
RelNotes: minor typo fixes in 2.43.0 draft

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoA bit more before -rc1
Junio C Hamano [Tue, 7 Nov 2023 00:38:26 +0000 (09:38 +0900)] 
A bit more before -rc1

19 months agoMerge branch 'rc/trace-upload-pack'
Junio C Hamano [Tue, 7 Nov 2023 01:26:45 +0000 (10:26 +0900)] 
Merge branch 'rc/trace-upload-pack'

Trace2 update.

* rc/trace-upload-pack:
  upload-pack: add tracing for fetches

19 months agoMerge branch 'es/bugreport-no-extra-arg'
Junio C Hamano [Tue, 7 Nov 2023 01:26:44 +0000 (10:26 +0900)] 
Merge branch 'es/bugreport-no-extra-arg'

"git bugreport" learned to complain when it received a command line
argument that it will not use.

* es/bugreport-no-extra-arg:
  bugreport: reject positional arguments
  t0091-bugreport: stop using i18ngrep

19 months agoMerge branch 'js/my-first-contribution-update'
Junio C Hamano [Tue, 7 Nov 2023 01:26:44 +0000 (10:26 +0900)] 
Merge branch 'js/my-first-contribution-update'

Documentation update.

* js/my-first-contribution-update:
  Include gettext.h in MyFirstContribution tutorial

19 months agoMerge branch 'ms/send-email-validate-fix'
Junio C Hamano [Tue, 7 Nov 2023 01:26:44 +0000 (10:26 +0900)] 
Merge branch 'ms/send-email-validate-fix'

"git send-email" did not have certain pieces of data computed yet
when it tried to validate the outging messages and its recipient
addresses, which has been sorted out.

* ms/send-email-validate-fix:
  send-email: move validation code below process_address_list

19 months agoMerge branch 'rs/reflog-expire-single-worktree-fix'
Junio C Hamano [Tue, 7 Nov 2023 01:26:43 +0000 (10:26 +0900)] 
Merge branch 'rs/reflog-expire-single-worktree-fix'

"git reflog expire --single-worktree" has been broken for the past
20 months or so, which has been corrected.

* rs/reflog-expire-single-worktree-fix:
  reflog: fix expire --single-worktree

19 months agoMerge branch 'rs/fix-arghelp'
Junio C Hamano [Tue, 7 Nov 2023 01:26:43 +0000 (10:26 +0900)] 
Merge branch 'rs/fix-arghelp'

Doc and help update.

* rs/fix-arghelp:
  am, rebase: fix arghelp syntax of --empty

19 months agoMerge branch 'rs/parse-options-cmdmode'
Junio C Hamano [Tue, 7 Nov 2023 01:26:43 +0000 (10:26 +0900)] 
Merge branch 'rs/parse-options-cmdmode'

parse-options improvements for OPT_CMDMODE options.

* rs/parse-options-cmdmode:
  am: simplify --show-current-patch handling
  parse-options: make CMDMODE errors more precise

19 months agoMerge branch 'jc/grep-f-relative-to-cwd'
Junio C Hamano [Tue, 7 Nov 2023 01:26:43 +0000 (10:26 +0900)] 
Merge branch 'jc/grep-f-relative-to-cwd'

"cd sub && git grep -f patterns" tried to read "patterns" file at
the top level of the working tree; it has been corrected to read
"sub/patterns" instead.

* jc/grep-f-relative-to-cwd:
  grep: -f <path> is relative to $cwd

19 months agoMerge branch 'ar/submitting-patches-doc-update'
Junio C Hamano [Tue, 7 Nov 2023 01:26:42 +0000 (10:26 +0900)] 
Merge branch 'ar/submitting-patches-doc-update'

Doc update.

* ar/submitting-patches-doc-update:
  SubmittingPatches: call gitk's command "Copy commit reference"

19 months agosetup: fix leaking repository format
Patrick Steinhardt [Mon, 6 Nov 2023 10:46:05 +0000 (11:46 +0100)] 
setup: fix leaking repository format

While populating the `repository_format` structure may cause us to
allocate memory, we do not call `clear_repository_format()` in some
places and thus potentially leak memory. Fix this.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agosetup: refactor `upgrade_repository_format()` to have common exit
Patrick Steinhardt [Mon, 6 Nov 2023 10:46:01 +0000 (11:46 +0100)] 
setup: refactor `upgrade_repository_format()` to have common exit

The `upgrade_repository_format()` function has multiple exit paths,
which means that there is no common cleanup of acquired resources.
While this isn't much of a problem right now, we're about to fix a
memory leak that would require us to free the resource in every one of
those exit paths.

Refactor the code to have a common exit path so that the subsequent
memory leak fix becomes easier to implement.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoshallow: fix memory leak when registering shallow roots
Patrick Steinhardt [Mon, 6 Nov 2023 10:45:57 +0000 (11:45 +0100)] 
shallow: fix memory leak when registering shallow roots

When registering shallow roots, we unset the list of parents of the
to-be-registered commit if it's already been parsed. This causes us to
leak memory though because we never free this list. Fix this.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agotest-bloom: stop setting up Git directory twice
Patrick Steinhardt [Mon, 6 Nov 2023 10:45:53 +0000 (11:45 +0100)] 
test-bloom: stop setting up Git directory twice

We're setting up the Git directory twice in the `test-tool bloom`
helper, once at the beginning of `cmd_bloom()` and once in the local
subcommand implementation `get_bloom_filter_for_commit()`. This can lead
to memory leaks as we'll overwrite variables of `the_repository` with
newly allocated data structures. On top of that it's simply unnecessary.

Fix this by only setting up the Git directory once.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agot: avoid perl's pack/unpack "Q" specifier
Jeff King [Fri, 3 Nov 2023 16:20:19 +0000 (12:20 -0400)] 
t: avoid perl's pack/unpack "Q" specifier

The perl script introduced by 86b008ee61 (t: add library for munging
chunk-format files, 2023-10-09) uses pack("Q") and unpack("Q") to read
and write 64-bit values ("quadwords" in perl parlance) from the on-disk
chunk files. However, some builds of perl may not support 64-bit
integers at all, and throw an exception here. While some 32-bit
platforms may still support 64-bit integers in perl (such as our linux32
CI environment), others reportedly don't (the NonStop 32-bit builds).

We can work around this by treating the 64-bit values as two 32-bit
values. We can't ever combine them into a single 64-bit value, but in
practice this is OK. These are representing file offsets, and our files
are much smaller than 4GB. So the upper half of the 64-bit value will
always be 0.

We can just introduce a few helper functions which perform the
translation and double-check our assumptions.

Reported-by: Randall S. Becker <randall.becker@nexbridge.ca>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoci: upgrade to using macos-13
Johannes Schindelin [Fri, 3 Nov 2023 07:27:35 +0000 (07:27 +0000)] 
ci: upgrade to using macos-13

In April, GitHub announced that the `macos-13` pool is available:
https://github.blog/changelog/2023-04-24-github-actions-macos-13-is-now-available/.
It is only a matter of time until the `macos-12` pool is going away,
therefore we should switch now, without pressure of a looming deadline.

Since the `macos-13` runners no longer include Python2, we also drop
specifically testing with Python2 and switch uniformly to Python3, see
https://github.com/actions/runner-images/blob/HEAD/images/macos/macos-13-Readme.md
for details about the software available on the `macos-13` pool's
runners.

Also, on macOS 13, Homebrew seems to install a `gcc@9` package that no
longer comes with a regular `unistd.h` (there seems only to be a
`ssp/unistd.h`), and hence builds would fail with:

    In file included from base85.c:1:
    git-compat-util.h:223:10: fatal error: unistd.h: No such file or directory
      223 | #include <unistd.h>
          |          ^~~~~~~~~~
    compilation terminated.

The reason why we install GCC v9.x explicitly is historical, and back in
the days it was because it was the _newest_ version available via
Homebrew: 176441bfb58 (ci: build Git with GCC 9 in the 'osx-gcc' build
job, 2019-11-27).

To reinstate the spirit of that commit _and_ to fix that build failure,
let's switch to the now-newest GCC version: v13.x.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agostrvec: drop unnecessary include of hex.h
Linus Arver [Thu, 2 Nov 2023 20:51:17 +0000 (20:51 +0000)] 
strvec: drop unnecessary include of hex.h

In 41771fa435 (cache.h: remove dependence on hex.h; make other files
include it explicitly, 2023-02-24) we added this as part of a larger
mechanical refactor. But strvec doesn't actually depend on hex.h, so
remove it.

Signed-off-by: Linus Arver <linusa@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agotests: teach callers of test_i18ngrep to use test_grep
Junio C Hamano [Tue, 31 Oct 2023 05:23:30 +0000 (14:23 +0900)] 
tests: teach callers of test_i18ngrep to use test_grep

They are equivalents and the former still exists, so as long as the
only change this commit makes are to rewrite test_i18ngrep to
test_grep, there won't be any new bug, even if there still are
callers of test_i18ngrep remaining in the tree, or when merged to
other topics that add new uses of test_i18ngrep.

This patch was produced more or less with

    git grep -l -e 'test_i18ngrep ' 't/t[0-9][0-9][0-9][0-9]-*.sh' |
    xargs perl -p -i -e 's/test_i18ngrep /test_grep /'

and a good way to sanity check the result yourself is to run the
above in a checkout of c4603c1c (test framework: further deprecate
test_i18ngrep, 2023-10-31) and compare the resulting working tree
contents with the result of applying this patch to the same commit.
You'll see that test_i18ngrep in a few t/lib-*.sh files corrected,
in addition to the manual reproduction.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoGit 2.43-rc0 v2.43.0-rc0
Junio C Hamano [Thu, 2 Nov 2023 08:09:48 +0000 (17:09 +0900)] 
Git 2.43-rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoGit 2.42.1 v2.42.1
Junio C Hamano [Thu, 2 Nov 2023 07:38:18 +0000 (16:38 +0900)] 
Git 2.42.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
19 months agoMerge branch 'ms/doc-push-fix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:28 +0000 (16:53 +0900)] 
Merge branch 'ms/doc-push-fix' into maint-2.42

Docfix.

* ms/doc-push-fix:
  git-push doc: more visibility for -q option

19 months agoMerge branch 'jc/commit-new-underscore-index-fix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:28 +0000 (16:53 +0900)] 
Merge branch 'jc/commit-new-underscore-index-fix' into maint-2.42

Message fix.

* jc/commit-new-underscore-index-fix:
  commit: do not use cryptic "new_index" in end-user facing messages

19 months agoMerge branch 'wx/merge-ort-comment-typofix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:27 +0000 (16:53 +0900)] 
Merge branch 'wx/merge-ort-comment-typofix' into maint-2.42

Typofix.

* wx/merge-ort-comment-typofix:
  merge-ort.c: fix typo 'neeed' to 'needed'

19 months agoMerge branch 'ps/git-repack-doc-fixes' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:27 +0000 (16:53 +0900)] 
Merge branch 'ps/git-repack-doc-fixes' into maint-2.42

Doc updates.

* ps/git-repack-doc-fixes:
  doc/git-repack: don't mention nonexistent "--unpacked" option
  doc/git-repack: fix syntax for `-g` shorthand option

19 months agoMerge branch 'ni/die-message-fix-for-git-add' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:27 +0000 (16:53 +0900)] 
Merge branch 'ni/die-message-fix-for-git-add' into maint-2.42

Message updates.

* ni/die-message-fix-for-git-add:
  builtin/add.c: clean up die() messages

19 months agoMerge branch 'jc/am-doc-whitespace-action-fix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:27 +0000 (16:53 +0900)] 
Merge branch 'jc/am-doc-whitespace-action-fix' into maint-2.42

Docfix.

* jc/am-doc-whitespace-action-fix:
  am: align placeholder for --whitespace option with apply

19 months agoMerge branch 'jc/update-list-references-to-lore' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:26 +0000 (16:53 +0900)] 
Merge branch 'jc/update-list-references-to-lore' into maint-2.42

Doc update.

* jc/update-list-references-to-lore:
  doc: update list archive reference to use lore.kernel.org

19 months agoMerge branch 'ps/rewritten-is-per-worktree-doc' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:26 +0000 (16:53 +0900)] 
Merge branch 'ps/rewritten-is-per-worktree-doc' into maint-2.42

Doc update.

* ps/rewritten-is-per-worktree-doc:
  doc/git-worktree: mention "refs/rewritten" as per-worktree refs

19 months agoMerge branch 'sn/cat-file-doc-update' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:26 +0000 (16:53 +0900)] 
Merge branch 'sn/cat-file-doc-update' into maint-2.42

"git cat-file" documentation updates.

* sn/cat-file-doc-update:
  doc/cat-file: make synopsis and description less confusing

19 months agoMerge branch 'jk/decoration-and-other-leak-fixes' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:26 +0000 (16:53 +0900)] 
Merge branch 'jk/decoration-and-other-leak-fixes' into maint-2.42

Leakfix.

* jk/decoration-and-other-leak-fixes:
  daemon: free listen_addr before returning
  revision: clear decoration structs during release_revisions()
  decorate: add clear_decoration() function

19 months agoMerge branch 'rs/parse-opt-ctx-cleanup' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:26 +0000 (16:53 +0900)] 
Merge branch 'rs/parse-opt-ctx-cleanup' into maint-2.42

Code clean-up.

* rs/parse-opt-ctx-cleanup:
  parse-options: drop unused parse_opt_ctx_t member

19 months agoMerge branch 'ob/am-msgfix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:25 +0000 (16:53 +0900)] 
Merge branch 'ob/am-msgfix' into maint-2.42

The parameters to generate an error message have been corrected.

* ob/am-msgfix:
  am: fix error message in parse_opt_show_current_patch()

19 months agoMerge branch 'hy/doc-show-is-like-log-not-diff-tree' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:25 +0000 (16:53 +0900)] 
Merge branch 'hy/doc-show-is-like-log-not-diff-tree' into maint-2.42

Doc update.

* hy/doc-show-is-like-log-not-diff-tree:
  show doc: redirect user to git log manual instead of git diff-tree

19 months agoMerge branch 'ch/clean-docfix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:25 +0000 (16:53 +0900)] 
Merge branch 'ch/clean-docfix' into maint-2.42

Typofix.

* ch/clean-docfix:
  git-clean doc: fix "without do cleaning" typo

19 months agoMerge branch 'eg/config-type-path-docfix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:24 +0000 (16:53 +0900)] 
Merge branch 'eg/config-type-path-docfix' into maint-2.42

Typofix.

* eg/config-type-path-docfix:
  git-config: fix misworded --type=path explanation

19 months agoMerge branch 'ob/t3404-typofix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:24 +0000 (16:53 +0900)] 
Merge branch 'ob/t3404-typofix' into maint-2.42

Code clean-up.

* ob/t3404-typofix:
  t3404-rebase-interactive.sh: fix typos in title of a rewording test

19 months agoMerge branch 'ob/sequencer-remove-dead-code' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:24 +0000 (16:53 +0900)] 
Merge branch 'ob/sequencer-remove-dead-code' into maint-2.42

Code clean-up.

* ob/sequencer-remove-dead-code:
  sequencer: remove unreachable exit condition in pick_commits()

19 months agoMerge branch 'rs/name-rev-use-opt-hidden-bool' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:24 +0000 (16:53 +0900)] 
Merge branch 'rs/name-rev-use-opt-hidden-bool' into maint-2.42

Simplify use of parse-options API a bit.

* rs/name-rev-use-opt-hidden-bool:
  name-rev: use OPT_HIDDEN_BOOL for --peel-tag

19 months agoMerge branch 'rs/grep-parseopt-simplify' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:23 +0000 (16:53 +0900)] 
Merge branch 'rs/grep-parseopt-simplify' into maint-2.42

Simplify use of parse-options API a bit.

* rs/grep-parseopt-simplify:
  grep: use OPT_INTEGER_F for --max-depth

19 months agoMerge branch 'ob/sequencer-reword-error-message' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:23 +0000 (16:53 +0900)] 
Merge branch 'ob/sequencer-reword-error-message' into maint-2.42

Update an error message (which would probably never been seen).

* ob/sequencer-reword-error-message:
  sequencer: fix error message on failure to copy SQUASH_MSG

19 months agoMerge branch 'bc/more-git-var' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:23 +0000 (16:53 +0900)] 
Merge branch 'bc/more-git-var' into maint-2.42

Fix-up for a topic that already has graduated.

* bc/more-git-var:
  var: avoid a segmentation fault when `HOME` is unset

19 months agoMerge branch 'jk/ci-retire-allow-ref' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:22 +0000 (16:53 +0900)] 
Merge branch 'jk/ci-retire-allow-ref' into maint-2.42

CI update.

* jk/ci-retire-allow-ref:
  ci: deprecate ci/config/allow-ref script
  ci: allow branch selection through "vars"

19 months agoMerge branch 'ws/git-svn-retire-faketerm' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:22 +0000 (16:53 +0900)] 
Merge branch 'ws/git-svn-retire-faketerm' into maint-2.42

Code clean-up.

* ws/git-svn-retire-faketerm:
  git-svn: drop FakeTerm hack

19 months agoMerge branch 'ch/t6300-verify-commit-test-cleanup' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:22 +0000 (16:53 +0900)] 
Merge branch 'ch/t6300-verify-commit-test-cleanup' into maint-2.42

Test clean-up.

* ch/t6300-verify-commit-test-cleanup:
  t/t6300: drop magic filtering
  t/lib-gpg: forcibly run a trustdb update

19 months agoMerge branch 'jc/mv-d-to-d-error-message-fix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:22 +0000 (16:53 +0900)] 
Merge branch 'jc/mv-d-to-d-error-message-fix' into maint-2.42

Typofix in an error message.

* jc/mv-d-to-d-error-message-fix:
  mv: fix error for moving directory to another

19 months agoMerge branch 'ja/worktree-orphan' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:21 +0000 (16:53 +0900)] 
Merge branch 'ja/worktree-orphan' into maint-2.42

Typofix in an error message.

* ja/worktree-orphan:
  builtin/worktree.c: fix typo in "forgot fetch" msg

19 months agoMerge branch 'ob/t9001-indent-fix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:21 +0000 (16:53 +0900)] 
Merge branch 'ob/t9001-indent-fix' into maint-2.42

Test style fix.

* ob/t9001-indent-fix:
  t9001: fix indentation in test_no_confirm()

19 months agoMerge branch 'jk/function-pointer-mismatches-fix' into maint-2.42
Junio C Hamano [Thu, 2 Nov 2023 07:53:20 +0000 (16:53 +0900)] 
Merge branch 'jk/function-pointer-mismatches-fix' into maint-2.42

Code clean-up to please clang-18.

* jk/function-pointer-mismatches-fix:
  hashmap: use expected signatures for comparison functions