]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
2 months agot: refactor tests depending on Perl substitution operator
Patrick Steinhardt [Thu, 3 Apr 2025 05:06:02 +0000 (07:06 +0200)] 
t: refactor tests depending on Perl substitution operator

We have a bunch of tests that use Perl to perform substitution via the
"s/" operator. These usecases can be trivially replaced with sed(1) and
tr(1).

Refactor the tests accordingly so that we can drop a couple of
PERL_TEST_HELPERS prerequisites.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agot: refactor tests depending on Perl transliteration operator
Patrick Steinhardt [Thu, 3 Apr 2025 05:06:01 +0000 (07:06 +0200)] 
t: refactor tests depending on Perl transliteration operator

We have a bunch of tests that use Perl to perform character
transliteration via the "y/" or "tr/" operator. These usecases can be
trivially replaced with tr(1).

Refactor the tests accordingly so that we can drop a couple of
PERL_TEST_HELPERS prerequisites.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agoMakefile: stop requiring Perl when running tests
Patrick Steinhardt [Thu, 3 Apr 2025 05:06:00 +0000 (07:06 +0200)] 
Makefile: stop requiring Perl when running tests

The Makefile for our tests has a couple of targets that depend on Perl.
Adapt those targets to only run conditionally in case Perl is available
on the system so that it becomes possible to run the test suite without
Perl.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agomeson: stop requiring Perl when tests are enabled
Patrick Steinhardt [Thu, 3 Apr 2025 05:05:59 +0000 (07:05 +0200)] 
meson: stop requiring Perl when tests are enabled

The Perl interpreter used to be a strict dependency for running our test
suite. This requirement is explicit in the Meson build system, where we
require Perl to be present unless tests have been disabled.

With the preceding commits we have loosened this restriction so that it
is now possible to run tests when Perl is unavailable. Loosen the above
requirement accordingly.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agot: adapt existing PERL prerequisites
Patrick Steinhardt [Thu, 3 Apr 2025 05:05:58 +0000 (07:05 +0200)] 
t: adapt existing PERL prerequisites

A couple of our tests depend on the PERL prerequisite even though it
isn't needed. These tests fall into one of the following classes:

  - The underlying logic used to be implemented in Perl but isn't
    anymore. Here we can simply drop the dependency altogether.

  - The test logic used to depend on Perl but doesn't anymore. Again, we
    can simply drop the dependency.

  - The test logic still relies on a Perl interpreter. These tests
    should use the newly introduced PERL_TEST_HELPERS prerequisite.

Adapt test cases accordingly.

Note that in t1006 we have to introduce another new prerequisite
depending on whether or not the IPC::Open2 module is available. Funny
enough, when starting to use `test_lazy_prereq` to do so we also get a
conflict of variables with the "script" variable that contains the Perl
logic because `test_run_lazy_prereq_` also sets that variable. We thus
rename the variable in t1006 to "perl_script".

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agot: introduce PERL_TEST_HELPERS prerequisite
Patrick Steinhardt [Thu, 3 Apr 2025 05:05:57 +0000 (07:05 +0200)] 
t: introduce PERL_TEST_HELPERS prerequisite

In the early days of Git, Perl was used quite prominently throughout the
project. This has changed significantly as almost all of the executables
we ship nowadays have eventually been rewritten in C. Only a handful of
subsystems remain that require Perl:

  - gitweb, a read-only web interface.

  - A couple of scripts that allow importing repositories from GNU Arch,
    CVS and Subversion.

  - git-send-email(1), which can be used to send mails.

  - git-request-pull(1), which is used to request somebody to pull from
    a URL by sending an email.

  - git-filter-branch(1), which uses Perl with the `--state-branch`
    option. This command is typically recommended against nowadays in
    favor of git-filter-repo(1).

  - Our Perl bindings for Git.

  - The netrc Git credential helper.

None of these subsystems can really be considered to be part of the
"core" of Git, and an installation without them is fully functional.
It is more likely than not that an end user wouldn't even notice that
any features are missing if those tools weren't installed. But while
Perl nowadays very much is an optional dependency of Git, there is a
significant limitation when Perl isn't available: developers cannot run
our test suite.

Preceding commits have started to lift this restriction by removing the
strict dependency on Perl in many central parts of the test library. But
there are still many tests that rely on small Perl helpers to do various
different things.

Introduce a new PERL_TEST_HELPERS prerequisite that guards all tests
that require Perl. This prerequisite is explicitly different than the
preexisting PERL prerequisite:

  - PERL records whether or not features depending on the Perl
    interpreter are built.

  - PERL_TEST_HELPERS records whether or not a Perl interpreter is
    available for our tests.

By having these two separate prerequisites we can thus distinguish
between tests that inherently depend on Perl because the underlying
feature does, and those tests that depend on Perl because the test
itself is using Perl.

Adapt all tests to set the PERL_TEST_HELPERS prerequisite as needed.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agot: adapt `test_readlink()` to not use Perl
Patrick Steinhardt [Thu, 3 Apr 2025 05:05:56 +0000 (07:05 +0200)] 
t: adapt `test_readlink()` to not use Perl

The `test_readlink()` helper function reads a symbolic link and returns
the path it is pointing to. It is thus equivalent to the readlink(1)
utility, which isn't available on all supported platforms. As such, it
is implemented using Perl so that we can use it even on platforms where
the shell utility isn't available.

While using readlink(1) is not an option, what we can do is to implement
the logic ourselves in our test-tool. Do so, which allows a bunch of
tests to pass when Perl is not available.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agot: adapt `test_copy_bytes()` to not use Perl
Patrick Steinhardt [Thu, 3 Apr 2025 05:05:55 +0000 (07:05 +0200)] 
t: adapt `test_copy_bytes()` to not use Perl

The `test_copy_bytes()` helper function copies up to N bytes from stdin
to stdout. This is implemented using Perl, but it can be trivially
adapted to instead use dd(1).

Refactor the helper accordingly, which allows a bunch of tests to pass
when Perl is not available.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agot: adapt character translation helpers to not use Perl
Patrick Steinhardt [Thu, 3 Apr 2025 05:05:54 +0000 (07:05 +0200)] 
t: adapt character translation helpers to not use Perl

We have a couple of helper functions that translate characters, e.g.
from LF to NUL or NUL to 'Q' and vice versa. These helpers use Perl
scripts, but they can be trivially adapted to instead use tr(1).

Note that one specialty here is the handling of NUL characters in tr(1),
which historically wasn't implemented correctly on all platforms. But
quoting tr(1p):

    It was considered that automatically stripping NUL characters from
    the input was not correct functionality.  However, the removal of -n
    in a later proposal does not remove the requirement that tr
    correctly process NUL characters in its input stream.

So when tr(1) is implemented following the POSIX standard then it is
expected to handle the transliteration of NUL just fine.

Refactor the helpers accordingly, which allows a bunch of tests to pass
when Perl is not available.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agot: refactor environment sanitization to not use Perl
Patrick Steinhardt [Thu, 3 Apr 2025 05:05:53 +0000 (07:05 +0200)] 
t: refactor environment sanitization to not use Perl

Before executing tests we first sanitize the environment. Part of the
sanitization is to unset a couple of environment variables that we know
will change the behaviour of Git. This is done with a small Perl script,
which has the consequence that having a Perl interpreter available is a
strict requirement for running our unit tests.

The logic itself isn't particularly involved: we simply unset every
environment variable whose key starts with 'GIT_', but then explicitly
allow a subset of these.

Refactor the logic to instead use sed(1) so that it becomes possible to
execute our tests without Perl.

Based-on-patch-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 months agot: skip chain lint when PERL_PATH is unset
Patrick Steinhardt [Thu, 3 Apr 2025 05:05:52 +0000 (07:05 +0200)] 
t: skip chain lint when PERL_PATH is unset

Our chainlint script verifies that test files have proper '&&' chains.
This script is written in Perl and executed for every test file before
executing the test logic itself.

In subsequent commits we're about to refactor our test suite so that
Perl becomes an optional dependency, only. And while it is already
possible to disable this linter, developers that don't have Perl
available at all would always have to disable the linter manually, which
is rather cumbersome.

Disable the chain linter automatically in case PERL_PATH isn't set to
make this a bit less annoying. Bail out with an error in case the
developer has asked explicitly for the chain linter.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoGit 2.49 v2.49.0
Junio C Hamano [Fri, 14 Mar 2025 16:19:41 +0000 (09:19 -0700)] 
Git 2.49

Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoMerge tag 'l10n-2.49.0-rnd1' of https://github.com/git-l10n/git-po
Junio C Hamano [Thu, 13 Mar 2025 17:20:33 +0000 (10:20 -0700)] 
Merge tag 'l10n-2.49.0-rnd1' of https://github.com/git-l10n/git-po

l10n-2.49.0-rnd1

* tag 'l10n-2.49.0-rnd1' of https://github.com/git-l10n/git-po:
  l10n: zh_TW: Git 2.49.0 round 1
  l10n: update German translation
  l10n: po-id for 2.49
  l10n: zh_CN: updated translation for 2.49
  l10n: uk: add 2.49 translation
  l10n: tr: Update Turkish translations for 2.49.0
  l10n: ko: fix minor typo in Korean translation
  l10n: it: fix spelling of "sorgente" (Italian for "source")
  l10n: sv.po: Fix Swedish typos
  l10n: sv.po: Update Swedish translation
  l10n: fr: 2.49 round 2
  l10n: bg.po: Updated Bulgarian translation (5836t)
  l10n: Updated translation for vi-2.49

3 months agoMerge branch 'l10n/zh-TW/2025-03-09' of github.com:l10n-tw/git-po
Jiang Xin [Thu, 13 Mar 2025 13:57:56 +0000 (21:57 +0800)] 
Merge branch 'l10n/zh-TW/2025-03-09' of github.com:l10n-tw/git-po

* 'l10n/zh-TW/2025-03-09' of github.com:l10n-tw/git-po:
  l10n: zh_TW: Git 2.49.0 round 1

3 months agol10n: zh_TW: Git 2.49.0 round 1
Yi-Jyun Pan [Sun, 9 Mar 2025 02:54:02 +0000 (10:54 +0800)] 
l10n: zh_TW: Git 2.49.0 round 1

Co-authored-by: Lumynous <lumynou5.tw@gmail.com>
Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
3 months agoMerge branch 'l10n-de-2.49' of github.com:ralfth/git
Jiang Xin [Thu, 13 Mar 2025 06:15:38 +0000 (14:15 +0800)] 
Merge branch 'l10n-de-2.49' of github.com:ralfth/git

* 'l10n-de-2.49' of github.com:ralfth/git:
  l10n: update German translation

3 months agol10n: update German translation
Ralf Thielow [Thu, 13 Mar 2025 06:03:42 +0000 (07:03 +0100)] 
l10n: update German translation

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
3 months agol10n: po-id for 2.49
Bagas Sanjaya [Tue, 4 Mar 2025 08:26:27 +0000 (15:26 +0700)] 
l10n: po-id for 2.49

Update following components:

  * builtin/clone.c
  * builtin/commit.c
  * builtin/fetch.c
  * builtin/index-pack.c
  * builtin/pack-objects.c
  * builtin/refs.c
  * builtin/repack.c
  * builtin/unpack-objects.c
  * command-list.h
  * diff.c
  * object-file.c
  * parse-options.c
  * promisor-remote.c
  * refspec.c
  * remote.c

Translate following new components:

  * path-walk.c
  * builtin/backfill.c
  * t/helper/test-path-walk.c

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
3 months agoA bit more updates after -rc2
Junio C Hamano [Wed, 12 Mar 2025 19:06:30 +0000 (12:06 -0700)] 
A bit more updates after -rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoMerge branch 'pb/doc-follow-remote-head'
Junio C Hamano [Wed, 12 Mar 2025 19:06:58 +0000 (12:06 -0700)] 
Merge branch 'pb/doc-follow-remote-head'

Doc updates.

* pb/doc-follow-remote-head:
  config/remote.txt: improve wording for 'remote.<name>.followRemoteHEAD'
  config/remote.txt: reunite 'severOption' description paragraphs

3 months agoMerge branch 'tc/zlib-ng-fix'
Junio C Hamano [Wed, 12 Mar 2025 19:06:58 +0000 (12:06 -0700)] 
Merge branch 'tc/zlib-ng-fix'

"git version --build-options" stopped showing zlib version by
mistake due to recent refactoring, which has been corrected.

* tc/zlib-ng-fix:
  help: print zlib-ng version number
  help: include git-zlib.h to print zlib version

3 months agoMerge branch 'ma/clone-doc-markup-fix'
Junio C Hamano [Wed, 12 Mar 2025 19:06:57 +0000 (12:06 -0700)] 
Merge branch 'ma/clone-doc-markup-fix'

Doc markup fix.

* ma/clone-doc-markup-fix:
  git-clone doc: fix indentation

3 months agoMerge branch 'tl/zh_CN_2.49.0_rnd' of github.com:dyrone/git
Jiang Xin [Wed, 12 Mar 2025 11:36:40 +0000 (19:36 +0800)] 
Merge branch 'tl/zh_CN_2.49.0_rnd' of github.com:dyrone/git

* 'tl/zh_CN_2.49.0_rnd' of github.com:dyrone/git:
  l10n: zh_CN: updated translation for 2.49

3 months agol10n: zh_CN: updated translation for 2.49
Teng Long [Sun, 9 Mar 2025 12:32:13 +0000 (20:32 +0800)] 
l10n: zh_CN: updated translation for 2.49

Helped-by: 依云 <lilydjwg@gmail.com>
Helped-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Teng Long <dyroneteng@gmail.com>
3 months agoMerge branch '2.49-uk-update' of github.com:arkid15r
Jiang Xin [Wed, 12 Mar 2025 03:10:40 +0000 (11:10 +0800)] 
Merge branch '2.49-uk-update' of github.com:arkid15r

* '2.49-uk-update' of github.com:arkid15r/git-ukrainian-l10n:
  l10n: uk: add 2.49 translation

3 months agol10n: uk: add 2.49 translation
Arkadii Yakovets [Wed, 12 Mar 2025 02:39:45 +0000 (19:39 -0700)] 
l10n: uk: add 2.49 translation

Co-authored-by: Kate Golovanova <kate@kgthreads.com>
Co-authored-by: Mikhail T. <Mikhail.Teterin@BNY.com>
Co-authored-by: Tamara Lazerka <lazerkatamara@gmail.com>
Signed-off-by: Arkadii Yakovets <ark@cho.red>
Signed-off-by: Kate Golovanova <kate@kgthreads.com>
Signed-off-by: Mikhail T. <Mikhail.Teterin@BNY.com>
Signed-off-by: Tamara Lazerka <lazerkatamara@gmail.com>
3 months agol10n: tr: Update Turkish translations for 2.49.0
Emir SARI [Thu, 27 Feb 2025 10:22:50 +0000 (13:22 +0300)] 
l10n: tr: Update Turkish translations for 2.49.0

Signed-off-by: Emir SARI <emir_sari@icloud.com>
3 months agoMerge branch 'vi-2.49' of github.com:Nekosha/git-po
Jiang Xin [Mon, 10 Mar 2025 23:35:07 +0000 (07:35 +0800)] 
Merge branch 'vi-2.49' of github.com:Nekosha/git-po

* 'vi-2.49' of github.com:Nekosha/git-po:
  l10n: Updated translation for vi-2.49

3 months agoMerge branch 'master' of github.com:alshopov/git-po
Jiang Xin [Mon, 10 Mar 2025 23:33:18 +0000 (07:33 +0800)] 
Merge branch 'master' of github.com:alshopov/git-po

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

3 months agoMerge branch 'fr_v2.49' of github.com:jnavila/git
Jiang Xin [Mon, 10 Mar 2025 23:23:32 +0000 (07:23 +0800)] 
Merge branch 'fr_v2.49' of github.com:jnavila/git

* 'fr_v2.49' of github.com:jnavila/git:
  l10n: fr: 2.49 round 2

3 months agoMerge branch 'master' of github.com:nafmo/git-l10n-sv
Jiang Xin [Mon, 10 Mar 2025 23:22:07 +0000 (07:22 +0800)] 
Merge branch 'master' of github.com:nafmo/git-l10n-sv

* 'master' of github.com:nafmo/git-l10n-sv:
  l10n: sv.po: Fix Swedish typos
  l10n: sv.po: Update Swedish translation

3 months agol10n: ko: fix minor typo in Korean translation
seoyeon-kwon [Thu, 23 Jan 2025 06:06:37 +0000 (15:06 +0900)] 
l10n: ko: fix minor typo in Korean translation

Signed-off-by: seoyeon-kwon <seoyeon.kwon@navercorp.com>
3 months agol10n: it: fix spelling of "sorgente" (Italian for "source")
Ruggero Turra [Sat, 22 Feb 2025 22:18:23 +0000 (23:18 +0100)] 
l10n: it: fix spelling of "sorgente" (Italian for "source")

Signed-off-by: Ruggero Turra <ruggero.turra@cern.ch>
3 months agogit-clone doc: fix indentation
Martin Ågren [Mon, 10 Mar 2025 11:07:56 +0000 (12:07 +0100)] 
git-clone doc: fix indentation

Commit bc26f7690a (clone: make it possible to specify --tags,
2025-02-06) added a new paragraph in the middle of this list item. By
adding an empty line rather than using a list continuation, we broke the
list continuation, with the new paragraph ending up funnily indented.

Restore the chain of list continuations.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agol10n: sv.po: Fix Swedish typos
Tuomas Ahola [Sat, 8 Mar 2025 20:45:10 +0000 (22:45 +0200)] 
l10n: sv.po: Fix Swedish typos

Signed-off-by: Tuomas Ahola <taahol@utu.fi>
3 months agol10n: sv.po: Update Swedish translation
Peter Krefting [Mon, 10 Mar 2025 16:48:34 +0000 (17:48 +0100)] 
l10n: sv.po: Update Swedish translation

- Update for 2.49.0.
- Fix numerous typos found by spelling checker.
- Fix more straight quotes.
- Harmonize translation of "blob" (to "blob", not "blobb").
- Harmonize translation of "reflog" (to "referenslogg").

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
3 months agoGit 2.49-rc2 v2.49.0-rc2
Junio C Hamano [Mon, 10 Mar 2025 15:47:08 +0000 (08:47 -0700)] 
Git 2.49-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoMerge branch 'tb/fetch-follow-tags-fix'
Junio C Hamano [Mon, 10 Mar 2025 15:45:58 +0000 (08:45 -0700)] 
Merge branch 'tb/fetch-follow-tags-fix'

* tb/fetch-follow-tags-fix:
  fetch: fix following tags when fetching specific OID

3 months agofetch: fix following tags when fetching specific OID
Taylor Blau [Fri, 7 Mar 2025 23:27:03 +0000 (18:27 -0500)] 
fetch: fix following tags when fetching specific OID

In 3f763ddf28 (fetch: set remote/HEAD if it does not exist, 2024-11-22),
unconditionally adds "HEAD" to the list of ref prefixes we send to the
server.

This breaks a core assumption that the list of prefixes we send to the
server is complete. We must either send all prefixes we care about, or
none at all (in the latter case the server then advertises everything).

The tag following code is careful to only add "refs/tags/" to the list
of prefixes if there are already entries in the prefix list. But because
the new code from 3f763ddf28 runs after the tag code, and because it
unconditionally adds to the prefix list, we may end up with a prefix
list that _should_ have "refs/tags/" in it, but doesn't.

When that is the case, the server does not advertise any tags, and our
auto-following breaks because we never learned about any tags in the
first place.

Fix this by only adding "HEAD" to the ref prefixes when we know that we
are already limiting the advertisement. In either case we'll learn about
HEAD (either through the limited advertisement, or implicitly through a
full advertisement).

Reported-by: Igor Todorovski <itodorov@ca.ibm.com>
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>
3 months agohelp: print zlib-ng version number
Toon Claes [Fri, 7 Mar 2025 14:18:08 +0000 (15:18 +0100)] 
help: print zlib-ng version number

When building against zlib-ng, the header file `zlib.h` is not included,
but `zlib-ng.h` is included instead. It's `zlib.h` that defines
`ZLIB_VERSION` and that macro is used to print out zlib version in
`git-version(1)` with `--build-options`. But when it's not defined, no
version is printed.

`zlib-ng.h` defines another macro: `ZLIBNG_VERSION`. Use that macro to
print the zlib-ng version in `git version --build-options` when it's
set. Otherwise fallback to `ZLIB_VERSION`.

Signed-off-by: Toon Claes <toon@iotcl.com>
Helped-by: Patrick Steinhardt <ps@pks.im>
Reviewed-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agohelp: include git-zlib.h to print zlib version
Toon Claes [Fri, 7 Mar 2025 14:18:07 +0000 (15:18 +0100)] 
help: include git-zlib.h to print zlib version

In 41f1a8435a (git-compat-util: move include of "compat/zlib.h" into
"git-zlib.h", 2025-01-28) some code was refactored to enable easier
linking against zlib-ng.

This removed `zlib.h` being indirectly included in `help.c`. As this
file uses `ZLIB_VERSION` to print the version number of zlib when
running git-version(1) with `--build-options`, this resulted in a
regression.

Include `git-zlib.h` directly into `help.c` to print zlib version
information. This brings back the zlib version in the output of
`git version --build-options`.

Signed-off-by: Toon Claes <toon@iotcl.com>
Reviewed-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoMerge branch 'js/win-2.49-build-fixes'
Junio C Hamano [Thu, 6 Mar 2025 22:06:31 +0000 (14:06 -0800)] 
Merge branch 'js/win-2.49-build-fixes'

Hotfix to help building Git-for-Windows.

* js/win-2.49-build-fixes:
  cmake: generalize the handling of the `CLAR_TEST_OBJS` list
  meson: fix sorting
  ident: stop assuming that `gw_gecos` is writable

3 months agoMerge branch 'pw/repo-layout-doc-update'
Junio C Hamano [Thu, 6 Mar 2025 22:06:31 +0000 (14:06 -0800)] 
Merge branch 'pw/repo-layout-doc-update'

Some future breaking changes would remove certain parts of the
default repository, which were still described even when the
documents were built for the future with WITH_BREAKING_CHANGES.

* pw/repo-layout-doc-update:
  docs: fix repository-layout when building with breaking changes

3 months agoMerge branch 'tz/doc-txt-to-adoc-fixes'
Junio C Hamano [Thu, 6 Mar 2025 22:06:31 +0000 (14:06 -0800)] 
Merge branch 'tz/doc-txt-to-adoc-fixes'

Fallouts from recent renaming of documentation files from .txt
suffix to the new .adoc suffix have been corrected.

* tz/doc-txt-to-adoc-fixes: (38 commits)
  xdiff: *.txt -> *.adoc fixes
  unpack-trees.c: *.txt -> *.adoc fixes
  transport.h: *.txt -> *.adoc fixes
  trace2/tr2_sysenv.c: *.txt -> *.adoc fixes
  trace2.h: *.txt -> *.adoc fixes
  t6434: *.txt -> *.adoc fixes
  t6012: *.txt -> *.adoc fixes
  t/helper/test-rot13-filter.c: *.txt -> *.adoc fixes
  simple-ipc.h: *.txt -> *.adoc fixes
  setup.c: *.txt -> *.adoc fixes
  refs.h: *.txt -> *.adoc fixes
  pseudo-merge.h: *.txt -> *.adoc fixes
  parse-options.h: *.txt -> *.adoc fixes
  object-name.c: *.txt -> *.adoc fixes
  list-objects-filter-options.h: *.txt -> *.adoc fixes
  fsck.h: *.txt -> *.adoc fixes
  diffcore.h: *.txt -> *.adoc fixes
  diff.h: *.txt -> *.adoc fixes
  contrib/long-running-filter: *.txt -> *.adoc fixes
  config.c: *.txt -> *.adoc fixes
  ...

3 months agocmake: generalize the handling of the `CLAR_TEST_OBJS` list
Johannes Schindelin [Thu, 6 Mar 2025 10:26:20 +0000 (10:26 +0000)] 
cmake: generalize the handling of the `CLAR_TEST_OBJS` list

A late-comer to the v2.49.0 party, `sk/unit-test-oid`, added yet another
array item to `CLAR_TEST_OBJS`, causing the `win+VS build` job to fail
with symptoms like this one:

  unit-tests-lib.lib(u-oid-array.obj) : error LNK2019: unresolved
  external symbol cl_parse_any_oid referenced in function fill_array

This is a similar scenario to the one that forced me to write
8afda42fce60 (cmake: generalize the handling of the `UNIT_TEST_OBJS`
list, 2024-09-18): The hard-coded echo of `CLAR_TEST_OBJS` in
`CMakeLists.txt` that recapitulates faithfully what was already
hard-coded in `Makefile` would either have to be updated whack-a-mole
style, or generalized.

Just like I chose the latter option for `UNIT_TEST_OBJS`, I now do the
same for `CLAR_TEST_OBJS`.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agomeson: fix sorting
Johannes Schindelin [Thu, 6 Mar 2025 10:26:19 +0000 (10:26 +0000)] 
meson: fix sorting

In 904339edbd80 (Introduce support for the Meson build system,
2024-12-06) the `meson.build` file was introduced, adding also a
Windows-specific list of source files. This list was obviously meant to
be sorted alphabetically, but there is one mistake. Let's fix that.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoident: stop assuming that `gw_gecos` is writable
Johannes Schindelin [Thu, 6 Mar 2025 10:26:18 +0000 (10:26 +0000)] 
ident: stop assuming that `gw_gecos` is writable

In 590e081dea7c (ident: add NO_GECOS_IN_PWENT for systems without
pw_gecos in struct passwd, 2011-05-19), code was introduced to iterate
over the `gw_gecos` field; The loop variable is of type `char *`, which
assumes that `gw_gecos` is writable.

However, it is not necessarily writable (and it is a bad idea to have it
writable in the first place), so let's switch the loop variable type to
`const char *`.

This is not a new problem, but what is new is the Meson build. While it
does not trigger in CI builds, imitating the commands of
`ci/run-build-and-tests.sh` in a regular Git for Windows SDK (`meson
setup build . --fatal-meson-warnings --warnlevel 2 --werror --wrap-mode
nofallback -Dfuzzers=true` followed by `meson compile -C build --`
results in this beautiful error:

  "cc" [...] -o libgit.a.p/ident.c.obj "-c" ../ident.c
  ../ident.c: In function 'copy_gecos':
  ../ident.c:68:18: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
     68 |         for (src = get_gecos(w); *src && *src != ','; src++) {
        |                  ^
  cc1.exe: all warnings being treated as errors

Now, why does this not trigger in CI? The answer is as simple as it is
puzzling: The `win+Meson` job completely side-steps Git for Windows'
development environment, opting instead to use the GCC that is on the
`PATH` in GitHub-hosted `windows-latest` runners. That GCC is pinned to
v12.2.0 and targets the UCRT (unlikely to change any time soon, see
https://github.com/actions/runner-images/blob/win25/20250303.1/images/windows/toolsets/toolset-2022.json#L132-L141).
That is in stark contrast to Git for Windows, which uses GCC v14.2.0 and
targets MSVCRT. Git for Windows' `Makefile`-based build also obviously
uses different compiler flags, otherwise this compile error would have
had plenty of opportunity in almost 14 years to surface.

In other words, contrary to my expectations, the `win+Meson` job is
ill-equipped to replace the `win build` job because it exercises a
completely different tool version/compiler flags vector than what Git
for Windows needs.

Nevertheless, there is currently this huge push, including breaking
changes after -rc1 and all, for switching to Meson. Therefore, we need
to make it work, somehow, even in Git for Windows' SDK, hence this
patch, at this point in time.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agol10n: fr: 2.49 round 2
Jean-Noël Avila [Sat, 1 Mar 2025 14:02:22 +0000 (15:02 +0100)] 
l10n: fr: 2.49 round 2

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
3 months agol10n: bg.po: Updated Bulgarian translation (5836t)
Alexander Shopov [Sat, 1 Mar 2025 21:28:22 +0000 (22:28 +0100)] 
l10n: bg.po: Updated Bulgarian translation (5836t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
3 months agol10n: Updated translation for vi-2.49
Vũ Tiến Hưng [Thu, 6 Mar 2025 05:41:39 +0000 (12:41 +0700)] 
l10n: Updated translation for vi-2.49

Signed-off-by: Vũ Tiến Hưng <newcomerminecraft@gmail.com>
3 months agoA few more after -rc1
Junio C Hamano [Wed, 5 Mar 2025 18:37:53 +0000 (10:37 -0800)] 
A few more after -rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoMerge branch 'rs/reftable-reader-new-leakfix'
Junio C Hamano [Wed, 5 Mar 2025 18:37:45 +0000 (10:37 -0800)] 
Merge branch 'rs/reftable-reader-new-leakfix'

Leakfix.

* rs/reftable-reader-new-leakfix:
  reftable: release name on reftable_reader_new() error

3 months agoMerge branch 'pw/build-meson-technical-and-howto-docs'
Junio C Hamano [Wed, 5 Mar 2025 18:37:45 +0000 (10:37 -0800)] 
Merge branch 'pw/build-meson-technical-and-howto-docs'

Meson-based build procedure forgot to build some docs, which has
been corrected.

* pw/build-meson-technical-and-howto-docs:
  meson: fix building technical and howto docs

3 months agoMerge branch 'kn/ref-migrate-skip-reflog'
Junio C Hamano [Wed, 5 Mar 2025 18:37:45 +0000 (10:37 -0800)] 
Merge branch 'kn/ref-migrate-skip-reflog'

Usage string of "git refs" has been corrected.

* kn/ref-migrate-skip-reflog:
  refs: show --no-reflog in the help text

3 months agoMerge branch 'jc/breaking-changes-early-adopter-option'
Junio C Hamano [Wed, 5 Mar 2025 18:37:45 +0000 (10:37 -0800)] 
Merge branch 'jc/breaking-changes-early-adopter-option'

Doc update.

* jc/breaking-changes-early-adopter-option:
  BreakingChanges: clarify the procedure

3 months agoMerge branch 'dm/editorconfig-bash-is-like-sh'
Junio C Hamano [Wed, 5 Mar 2025 18:37:44 +0000 (10:37 -0800)] 
Merge branch 'dm/editorconfig-bash-is-like-sh'

The editorconfig file is updated to tell us that bash scripts are
similar to general Bourne shell scripts.

* dm/editorconfig-bash-is-like-sh:
  editorconfig: add .bash extension

3 months agoMerge branch 'cc/lop-remote'
Junio C Hamano [Wed, 5 Mar 2025 18:37:44 +0000 (10:37 -0800)] 
Merge branch 'cc/lop-remote'

Large-object promisor protocol extension.

* cc/lop-remote:
  doc: add technical design doc for large object promisors
  promisor-remote: check advertised name or URL
  Add 'promisor-remote' capability to protocol v2

3 months agoMerge branch 'sk/unit-test-oid'
Junio C Hamano [Wed, 5 Mar 2025 18:37:43 +0000 (10:37 -0800)] 
Merge branch 'sk/unit-test-oid'

Convert a few unit tests to the clar framework.

* sk/unit-test-oid:
  t/unit-tests: convert oidtree test to use clar test framework
  t/unit-tests: convert oidmap test to use clar test framework
  t/unit-tests: convert oid-array test to use clar test framework
  t/unit-tests: implement clar specific oid helper functions

3 months agoMerge branch 'ps/path-sans-the-repository'
Junio C Hamano [Wed, 5 Mar 2025 18:37:43 +0000 (10:37 -0800)] 
Merge branch 'ps/path-sans-the-repository'

The path.[ch] API takes an explicit repository parameter passed
throughout the callchain, instead of relying on the_repository
singleton instance.

* ps/path-sans-the-repository:
  path: adjust last remaining users of `the_repository`
  environment: move access to "core.sharedRepository" into repo settings
  environment: move access to "core.hooksPath" into repo settings
  repo-settings: introduce function to clear struct
  path: drop `git_path()` in favor of `repo_git_path()`
  rerere: let `rerere_path()` write paths into a caller-provided buffer
  path: drop `git_common_path()` in favor of `repo_common_path()`
  worktree: return allocated string from `get_worktree_git_dir()`
  path: drop `git_path_buf()` in favor of `repo_git_path_replace()`
  path: drop `git_pathdup()` in favor of `repo_git_path()`
  path: drop unused `strbuf_git_path()` function
  path: refactor `repo_submodule_path()` family of functions
  submodule: refactor `submodule_to_gitdir()` to accept a repo
  path: refactor `repo_worktree_path()` family of functions
  path: refactor `repo_git_path()` family of functions
  path: refactor `repo_common_path()` family of functions

3 months agodocs: fix repository-layout when building with breaking changes
Phillip Wood [Wed, 5 Mar 2025 10:42:37 +0000 (10:42 +0000)] 
docs: fix repository-layout when building with breaking changes

Since commit 8ccc75c2452 (remote: announce removal of "branches/" and
"remotes/", 2025-01-22) enabling WITH_BREAKING_CHANGES when building git
removes support for reading branches from ".git/branches" and remotes
from ".git/remotes". However those locations are still documented in
gitrepository-layout.adoc even though the build does not support them.

Rectify this by adding a new document attribute "with-breaking-changes"
and use it to make the inclusion of those sections of the documentation
conditional. Note that the name of the attribute does not match the test
prerequisite WITHOUT_BREAKING_CHANGES added in c5bc9a7f94a (Makefile:
wire up build option for deprecated features, 2025-01-22). This is to
avoid the awkward double negative ifndef::without_breaking_changes for
documentation that should be included when WITH_BREAKING_CHANGES is
enabled. The test prerequisite will be renamed to match the
documentation attribute in a future patch series.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoreftable: release name on reftable_reader_new() error
René Scharfe [Tue, 4 Mar 2025 16:11:54 +0000 (17:11 +0100)] 
reftable: release name on reftable_reader_new() error

If block_source_read_block() or parse_footer() fail, we leak the "name"
member of struct reftable_reader in reftable_reader_new().  Release it.

Reported by: H Z <shiyuyuranzh@gmail.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoGit 2.49-rc1 v2.49.0-rc1
Junio C Hamano [Tue, 4 Mar 2025 16:19:20 +0000 (08:19 -0800)] 
Git 2.49-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agorefs: show --no-reflog in the help text
Junio C Hamano [Mon, 3 Mar 2025 22:51:29 +0000 (14:51 -0800)] 
refs: show --no-reflog in the help text

We forgot that we must keep the documentation and help text in sync.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoxdiff: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:32 +0000 (15:44 -0500)] 
xdiff: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agounpack-trees.c: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:31 +0000 (15:44 -0500)] 
unpack-trees.c: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agotransport.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:30 +0000 (15:44 -0500)] 
transport.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agotrace2/tr2_sysenv.c: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:29 +0000 (15:44 -0500)] 
trace2/tr2_sysenv.c: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agotrace2.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:28 +0000 (15:44 -0500)] 
trace2.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agot6434: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:27 +0000 (15:44 -0500)] 
t6434: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agot6012: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:26 +0000 (15:44 -0500)] 
t6012: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agot/helper/test-rot13-filter.c: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:25 +0000 (15:44 -0500)] 
t/helper/test-rot13-filter.c: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agosimple-ipc.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:24 +0000 (15:44 -0500)] 
simple-ipc.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agosetup.c: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:23 +0000 (15:44 -0500)] 
setup.c: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agorefs.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:22 +0000 (15:44 -0500)] 
refs.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agopseudo-merge.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:21 +0000 (15:44 -0500)] 
pseudo-merge.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoparse-options.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:20 +0000 (15:44 -0500)] 
parse-options.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoobject-name.c: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:19 +0000 (15:44 -0500)] 
object-name.c: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agolist-objects-filter-options.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:18 +0000 (15:44 -0500)] 
list-objects-filter-options.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agofsck.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:17 +0000 (15:44 -0500)] 
fsck.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agodiffcore.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:16 +0000 (15:44 -0500)] 
diffcore.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agodiff.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:15 +0000 (15:44 -0500)] 
diff.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agocontrib/long-running-filter: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:14 +0000 (15:44 -0500)] 
contrib/long-running-filter: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoconfig.c: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:13 +0000 (15:44 -0500)] 
config.c: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agobuiltin.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:12 +0000 (15:44 -0500)] 
builtin.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoapply.c: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:11 +0000 (15:44 -0500)] 
apply.c: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoadvice.h: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:10 +0000 (15:44 -0500)] 
advice.h: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agodoc: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:09 +0000 (15:44 -0500)] 
doc: *.txt -> *.adoc fixes

Update a few more instances of Documentation/*.txt files which have been
renamed to *.adoc.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agotechnical/partial-clone: update reference to rev-list-options.adoc
Todd Zullinger [Mon, 3 Mar 2025 20:44:08 +0000 (15:44 -0500)] 
technical/partial-clone: update reference to rev-list-options.adoc

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agohowto/new-command: update reference to builtin docs
Todd Zullinger [Mon, 3 Mar 2025 20:44:07 +0000 (15:44 -0500)] 
howto/new-command: update reference to builtin docs

Commit ec14d4ecb5 (builtin.h: take over documentation from
api-builtin.txt, 2017-08-02) deleted api-builtin.txt and moved the
contents into builtin.h.  Most of the references were fixed in
d85e9448dd (new-command.txt: update reference to builtin docs,
2023-02-04), but one remained.  Fix it.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoMyFirstObjectWalk: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:06 +0000 (15:44 -0500)] 
MyFirstObjectWalk: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoMyFirstContribution: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:05 +0000 (15:44 -0500)] 
MyFirstContribution: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoCodingGuidelines: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:04 +0000 (15:44 -0500)] 
CodingGuidelines: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoREADME: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:44:03 +0000 (15:44 -0500)] 
README: *.txt -> *.adoc fixes

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoMakefile: update reference to technical/racy-git.adoc
Todd Zullinger [Mon, 3 Mar 2025 20:44:02 +0000 (15:44 -0500)] 
Makefile: update reference to technical/racy-git.adoc

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agodoc: remove unneeded .gitattributes
Todd Zullinger [Mon, 3 Mar 2025 20:44:01 +0000 (15:44 -0500)] 
doc: remove unneeded .gitattributes

The top-level .gitattributes file contains entries for the Documentation
tree.  Documentation/.gitattributes has not been touched since it was
added in 14f9e128d3 (Define the project whitespace policy, 2008-02-10).

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months ago.gitattributes: more *.txt -> *.adoc updates
Todd Zullinger [Mon, 3 Mar 2025 20:44:00 +0000 (15:44 -0500)] 
.gitattributes: more *.txt -> *.adoc updates

All Documentation files now end in .adoc.  Update the entries for
git-merge.adoc, gitk.adoc, and user-manual.adoc to properly set the
conflict-marker-size attribute.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agot0450: *.txt -> *.adoc fixes
Todd Zullinger [Mon, 3 Mar 2025 20:43:59 +0000 (15:43 -0500)] 
t0450: *.txt -> *.adoc fixes

After 1f010d6bdf (doc: use .adoc extension for AsciiDoc files,
2025-01-20), we no longer matched any files in this test.  The result is
that we did not test for mismatches in the documentation and --help
output.

Adjust the test to look at the renamed *.adoc files.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoBreakingChanges: clarify the procedure
Junio C Hamano [Fri, 28 Feb 2025 17:28:21 +0000 (09:28 -0800)] 
BreakingChanges: clarify the procedure

The point behind a compile-time switch is to ensure that we have a
mechanism to hide myriad of backward incompatible changes that may
be prepared and accumulated over time, yet make them available for
testing any time during the development toward the big version
boundary.  Add a few words to stress that point.

Since the document was first written, we have added the CI job that
the document anticipated us to have.  Rephrase to state the current
status.

The discussion in [*1*] made us abandon the "feature.git3" based
runtime switching of behaviour and instead adopt the compile-time
switching mechanism, but a stray sentence about runtime switching
still remained in the final text by mistake.  Remove it.

[Reference]

 *1* https://lore.kernel.org/git/xmqqldzel6ug.fsf@gitster.g/

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agodoc: add technical design doc for large object promisors
Christian Couder [Tue, 18 Feb 2025 11:32:04 +0000 (12:32 +0100)] 
doc: add technical design doc for large object promisors

Let's add a design doc about how we could improve handling liarge blobs
using "Large Object Promisors" (LOPs). It's a set of features with the
goal of using special dedicated promisor remotes to store large blobs,
and having them accessed directly by main remotes and clients.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
3 months agoA few more before -rc1
Junio C Hamano [Mon, 3 Mar 2025 16:52:50 +0000 (08:52 -0800)] 
A few more before -rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>