[<prev] [next>] [day] [month] [year] [list]
Message-ID: <xmqqms8f5889.fsf@gitster.g>
Date: Mon, 04 Aug 2025 10:04:22 -0700
From: Junio C Hamano <gitster@...ox.com>
To: git@...r.kernel.org
Cc: Linux Kernel <linux-kernel@...r.kernel.org>,
git-packagers@...glegroups.com
Subject: [ANNOUNCE] Git v2.51.0-rc0
An early preview release Git v2.51.0-rc0 is now available for
testing at the usual places. It is comprised of 479 non-merge
commits since v2.50.0, contributed by 75 people, 21 of which are
new faces [*].
The tarballs are found at:
https://www.kernel.org/pub/software/scm/git/testing/
The following public repositories all have a copy of the
'v2.51.0-rc0' tag and the 'master' branch that the tag points at:
url = https://git.kernel.org/pub/scm/git/git
url = https://kernel.googlesource.com/pub/scm/git/git
url = git://repo.or.cz/alt-git.git
url = https://github.com/gitster/git
New contributors whose contributions weren't in v2.50.0 are as follows.
Welcome to the Git development community!
Brett A C Sheffield, chenjianhu, David Leadbeater, Gareth Fenn,
Hoyoung Lee, irecca.kun@...il.com, Isabella Caselli, Jakub
Ječmínek, Jan Mazur, Jinyao Guo, Jonas Brandstötter, Jörg
Thalheim, Leon Michalak, Patrick Steinhardt' via Git Security,
Patrik Weiskircher, redoste, Rodrigo Michelassi, Russell
Hanneken, Ryan Hodges, Timur Sultanaev, and Vasilii Iakliushin.
Returning contributors who helped this release are as follows.
Thanks for your continued support.
Aditya Garg, Alexander Shopov, Avi Halachmi (:avih), Ayush
Chandekar, Brad Smith, brian m. carlson, Carlo Marcelo Arenas
Belón, Christian Couder, Collin Funk, Derrick Stolee, Elijah
Newren, Eric Sunshine, Ghanshyam Thakkar, Han Young, Jacob
Keller, Jean-Noël Avila, Jeff King, Johannes Schindelin,
Johannes Sixt, Jouke Witteveen, Junio C Hamano, Justin Tobler,
Karthik Nayak, K Jayatheerth, Kristoffer Haugsbakk, Kyle
Lippincott, Lidong Yan, Lucas Seiki Oshiro, Mark Levedahl, Martin
Ågren, Martin Storsjö, Matthias Aßhauer, Maxim Cournoyer,
Michael Rappazzo, Oswald Buddenhagen, Øystein Walle, Patrick
Steinhardt, Phil Hord, Phillip Wood, Ramsay Jones, Raymond
E. Pasco, Renato Botelho, René Scharfe, Rodrigo Carvalho,
Sebastian Andrzej Siewior, Seyi Kuforiji, shejialuo, Siddharth
Asthana, Stan Hu, SZEDER Gábor, Takashi Iwai, Taylor Blau,
Todd Zullinger, and Victoria Dye.
[*] We are counting not just the authorship contribution but issue
reporting, mentoring, helping and reviewing that are recorded in
the commit trailers.
----------------------------------------------------------------
Git v2.51 Release Notes (draft)
===============================
UI, Workflows & Features
------------------------
* Userdiff patterns for the R language have been added.
* Documentation for "git send-email" has been updated with a bit more
credential helper and OAuth information.
* "git cat-file --batch" learns to understand %(objectmode) atom to
allow the caller to tell missing objects (due to repository
corruption) and submodules (whose commit objects are OK to be
missing) apart.
* "git diff --no-index dirA dirB" can limit the comparison with
pathspec at the end of the command line, just like normal "git
diff".
* "git subtree" (in contrib/) learned to grok GPG signing its commits.
* "git whatchanged" that is longer to type than "git log --raw"
which is its modern rough equivalent has outlived its usefulness
more than 10 years ago. Plan to deprecate and remove it.
* An interchange format for stash entries is defined, and subcommand
of "git stash" to import/export has been added.
* "git merge/pull" has been taught the "--compact-summary" option to
use the compact-summary format, intead of diffstat, when showing
the summary of the incoming changes.
* "git imap-send" has been broken for a long time, which has been
resurrected and then taught to talk OAuth2.0 etc.
* Some error messages from "git imap-send" has been updated.
* When "git daemon" sees a signal while attempting to accept() a new
client, instead of retrying, it skipped it by mistake, which has
been corrected.
* The reftable ref backend has matured enough; Git 3.0 will make it
the default format in a newly created repositories by default.
* "netrc" credential helper has been improved to understand textual
service names (like smtp) in addition to the numeric port numbers
(like 25).
* Lift the limitation to use changed-path filter in "git log" so that
it can be used for a pathspec with multiple literal paths.
* Clean up the way how signature on commit objects are exported to
and imported from fast-import stream.
* Remove unsupported, unused, and unsupportable old option from "git
log".
* Document recently added "git imap-send --list" with an example.
* "git pull" learned to pay attention to pull.autostash configuration
variable, which overrides rebase/merge.autostash.
* "git for-each-ref" learns "--start-after" option to help
applications that want to page its output.
* "git switch" and "git restore" are declared to be no longer
experimental.
Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
* "git pack-objects" learned to find delta bases from blobs at the
same path, using the --path-walk API.
* CodingGuidelines update.
* Add settings for Solaris 10 & 11.
* Meson-based build/test framework now understands TAP output
generated by our tests.
* "Do not explicitly initialize to zero" rule has been clarified in
the CodingGuidelines document.
* A test helper "test_seq" function learned the "-f <fmt>" option,
which allowed us to simplify a lot of test scripts.
* A lot of stale stuff has been removed from the contrib/ hierarchy.
* "git push" and "git fetch" are taught to update refs in batches to
gain performance.
* Some code paths in the "git prune" used to ignore passed in
repository object and used the_repository singleton instance
instead, which has been corrected.
* Update ".clang-format" and ".editorconfig" to match our style guide
a bit better.
* "make coccicheck" succeeds even when spatch made suggestions, which
has been updated to fail in such a case.
* Code clean-up around object access API.
* Define .precision to more canned parse-options type to avoid bugs
coming from using a variable with a wrong type to capture the
parsed values.
* Flipping the default hash function to SHA-256 at Git 3.0 boundary
is planned.
* Declare weather-balloon we raised for "bool" type 18 months ago a
success and officially allow using the type in our codebase.
* GIT_TEST_INSTALLED was not honored in the recent topic related to
SHA256 hashes, which has been corrected.
* The pop_most_recent_commit() function can have quite expensive
worst case performance characteristics, which has been optimized by
using prio-queue data structure.
* Move structure definition from unrelated header file to where it
belongs.
* To help our developers, document what C99 language features are
being considered for adoption, in addition to what past experiments
have already decided.
* The reftable unit tests are now ported to the "clar" unit testing
framework.
* Redefine where the multi-pack-index sits in the object subsystem,
which recently was restructured to allow multiple backends that
support a single object source that belongs to one repository. A
midx does span mulitple "object sources".
Fixes since v2.50
-----------------
Unless otherwise noted, all the changes in 2.50.X maintenance track,
including security updates, are included in this release.
* A memory-leak in an error code path has been plugged.
(merge 7082da85cb ly/commit-graph-graph-write-leakfix later to maint).
* A memory-leak in an error code path has been plugged.
(merge aedebdb6b9 ly/fetch-pack-leakfix later to maint).
* Some leftover references to documentation source files that no
longer exist, due to recent ".txt" -> ".adoc" renaming, have been
corrected.
(merge 3717a5775a jw/doc-txt-to-adoc-refs later to maint).
* "git stash -p <pathspec>" improvements.
(merge 468817bab2 pw/stash-p-pathspec-fixes later to maint).
* "git send-email" incremented its internal message counter when a
message was edited, which made logic that treats the first message
specially misbehave, which has been corrected.
(merge 2cc27b3501 ag/send-email-edit-threading-fix later to maint).
* "git stash" recorded a wrong branch name when submodules are
present in the current checkout, which has been corrected.
(merge ffb36c64f2 kj/stash-onbranch-submodule-fix later to maint).
* When asking to apply mailmap to both author and committer field
while showing a commit object, the field that appears later was not
correctly parsed and replaced, which has been corrected.
(merge abf94a283f sa/multi-mailmap-fix later to maint).
* "git maintenance" lacked the care "git gc" had to avoid holding
onto the repository lock for too long during packing refs, which
has been remedied.
(merge 1b5074e614 ps/maintenance-ref-lock later to maint).
* Avoid regexp_constraint and instead use comparison_constraint when
listing functions to exclude from application of coccinelle rules,
as spatch can be built with different regexp engine X-<.
(merge f2ad545813 jc/cocci-avoid-regexp-constraint later to maint).
* Updating submodules from the upstream did not work well when
submodule's HEAD is detached, which has been improved.
(merge ca62f524c1 jk/submodule-remote-lookup-cleanup later to maint).
* Remove unnecessary check from "git daemon" code.
(merge 0c856224d2 cb/daemon-fd-check-fix later to maint).
* Use of sysctl() system call to learn the total RAM size used on
BSDs has been corrected.
(merge 781c1cf571 cb/total-ram-bsd-fix later to maint).
* Drop FreeBSD 4 support and declare that we support only FreeBSD 12
or later, which has memmem() supported.
(merge 0392f976a7 bs/config-mak-freebsd later to maint).
* A diff-filter with negative-only specification like "git log
--diff-filter=d" did not trigger correctly, which has been fixed.
(merge 375ac087c5 jk/all-negative-diff-filter-fix later to maint).
* A failure to open the index file for writing due to conflicting
access did not state what went wrong, which has been corrected.
(merge 9455397a5c hy/read-cache-lock-error-fix later to maint).
* Tempfile removal fix in the codepath to sign commits with SSH keys.
(merge 4498127b04 re/ssh-sign-buffer-fix later to maint).
* Code and test clean-up around string-list API.
(merge 6e5b26c3ff sj/string-list later to maint).
* "git apply -N" should start from the current index and register
only new files, but it instead started from an empty index, which
has been corrected.
(merge 2b49d97fcb rp/apply-intent-to-add-fix later to maint).
* Leakfix with a new and a bit invasive test on pack-bitmap files.
(merge bfd5522e98 ly/load-bitmap-leakfix later to maint).
* "git fetch --prune" used to be O(n^2) expensive when there are many
refs, which has been corrected.
(merge 87d8d8c5d0 ph/fetch-prune-optim later to maint).
* When a ref creation at refs/heads/foo/bar fails, the files backend
now removes refs/heads/foo/ if the directory is otherwise not used.
(merge a3a7f20516 ps/refs-files-remove-empty-parent later to maint).
* "pack-objects" has been taught to avoid pointing into objects in
cruft packs from midx.
* "git remote" now detects remote names that overlap with each other
(e.g., remote nickname "outer" and "outer/inner" are used at the
same time), as it will lead to overlapping remote-tracking
branches.
(merge a5a727c448 jk/remote-avoid-overlapping-names later to maint).
* The gpg.program configuration variable, which names a pathname to
the (custom) GPG compatible program, can now be spelled with ~tilde
expansion.
(merge 7d275cd5c0 jb/gpg-program-variable-is-a-pathname later to maint).
* Our <sane-ctype.h> header file relied on that the system-supplied
<ctype.h> header is not later included, which would override our
macro definitions, but "amazon linux" broke this assumption. Fix
this by preemptively including <ctype.h> near the beginning of
<sane-ctype.h> ourselves.
(merge 9d3b33125f ps/sane-ctype-workaround later to maint).
* Clean-up compat/bswap.h mess.
(merge f4ac32c03a ss/compat-bswap-revamp later to maint).
* Meson-based build did not handle libexecdir setting correctly,
which has been corrected.
(merge 056dbe8612 rj/meson-libexecdir-fix later to maint).
* Document that we do not require "real" name when signing your
patches off.
(merge 1f0fed312a bc/contribution-under-non-real-names later to maint).
* "git commit" that concludes a conflicted merge failed to notice and remove
existing comment added automatically (like "# Conflicts:") when the
core.commentstring is set to 'auto'.
(merge 92b7c7c9f5 ac/auto-comment-char-fix later to maint).
* "git rebase -i" with bogus rebase.instructionFormat configuration
failed to produce the todo file after recording the state files,
leading to confused "git status"; this has been corrected.
(merge ade14bffd7 ow/rebase-verify-insn-fmt-before-initializing-state later to maint).
* A few file descriptors left unclosed upon program completion in a
few test helper programs are now closed.
(merge 0f1b33815b hl/test-helper-fd-close later to maint).
* Interactive prompt code did not correctly strip CRLF from the end
of line on Windows.
(merge 711a20827b js/prompt-crlf-fix later to maint).
* The config API had a set of convenience wrapper functions that
implicitly use the_repository instance; they have been removed and
inlined at the calling sites.
* "git add/etc -p" now honor the diff.context configuration variable,
and also they learn to honor the -U<n> command-line option.
(merge 2b3ae04011 lm/add-p-context later to maint).
* Other code cleanup, docfix, build fix, etc.
(merge b257adb571 lo/my-first-ow-doc-update later to maint).
(merge 8b34b6a220 ly/sequencer-update-squash-is-fixup-only later to maint).
(merge 5dceb8bd05 ly/do-not-localize-bug-messages later to maint).
(merge 61372dd613 ly/commit-buffer-reencode-leakfix later to maint).
(merge 81cd1eef7d ly/pack-bitmap-root-leakfix later to maint).
(merge bfc9f9cc64 ly/submodule-update-failure-leakfix later to maint).
(merge 65dff89c6b ma/doc-diff-cc-headers later to maint).
(merge efb61591ee jm/bundle-uri-debug-output-to-fp later to maint).
(merge a3d278bb64 ly/prepare-show-merge-leakfix later to maint).
(merge 1fde1c5daf ac/preload-index-wo-the-repository later to maint).
(merge 855cfc65ae rm/t2400-modernize later to maint).
(merge 2939494284 ly/run-builtin-use-passed-in-repo later to maint).
(merge ff73f375bb jg/mailinfo-leakfix later to maint).
(merge 996f14c02b jj/doc-branch-markup-fix later to maint).
(merge 1e77de1864 cb/ci-freebsd-update-to-14.3 later to maint).
(merge b0e9d25865 jk/fix-leak-send-pack later to maint).
(merge f3a9558c8c bs/remote-helpers-doc-markup-fix later to maint).
(merge c4e9775c60 kh/doc-config-subcommands later to maint).
(merge de404249ab ps/perlless-test-fixes later to maint).
(merge 953049eed8 ts/merge-orig-head-doc-fix later to maint).
(merge 0c83bbc704 rj/freebsd-sysinfo-build-fix later to maint).
(merge ad7780b38f ps/doc-pack-refs-auto-with-files-backend-fix later to maint).
(merge f4fa8a3687 rh/doc-glob-pathspec-fix later to maint).
(merge b27be108c8 ja/doc-git-log-markup later to maint).
(merge 14d7583beb pw/config-kvi-remove-path later to maint).
(merge f31abb421d jc/do-not-scan-argv-without-parsing later to maint).
(merge 26552cb62a jk/unleak-reflog-expire-entry later to maint).
(merge 339d95fda9 jc/ci-print-test-failures-fix later to maint).
(merge 8c3add51a8 cb/meson-avoid-broken-macos-pcre2 later to maint).
(merge 5247da07b8 ps/meson-clar-decls-fix later to maint).
(merge f3ef347bb2 ch/t7450-recursive-clone-test-fix later to maint).
(merge 4ac3302a1a jc/doc-release-vs-clear later to maint).
(merge 3bdd897413 ms/meson-with-ancient-git-wo-ls-files-dedup later to maint).
(merge cca758d324 kh/doc-fast-import-historical later to maint).
(merge 9b0781196a jc/test-hashmap-is-still-here later to maint).
----------------------------------------------------------------
Changes since v2.50.0 are as follows:
Aditya Garg (22):
docs: add credential helper for yahoo and link Google's sendgmail tool
docs: improve formatting in git-send-email documentation
docs: remove credential helper links for emails from gitcredentials
docs: make the purpose of using app password for Gmail more clear in send-email
send-email: fix bug resulting in broken threads if a message is edited
send-email: show the new message id assigned by outlook in the logs
imap-send: fix bug causing cfg->folder being set to NULL
imap-send: fix memory leak in case auth_cram_md5 fails
imap-send: gracefully fail if CRAM-MD5 authentication is requested without OpenSSL
imap-send: add support for OAuth2.0 authentication
imap-send: add PLAIN authentication method to OpenSSL
imap-send: enable specifying the folder using the command line
imap-send: add ability to list the available folders
imap-send: display port alongwith host when git credential is invoked
imap-send: display the destination mailbox when sending a message
imap-send: fix minor mistakes in the logs
docs: link OpenSSL's verify(1) manual page to know about -CAfile and -CApath options
docs: add outlookidfix config option to sendemail documentation
docs: add an OAuth2.0 credential helper for AOL accounts
docs: add a paragraph explaining the `sendmailCmd` option of sendemail
docs: mention possible options for Proton Mail users
docs: explain how to use `git imap-send --list` command to get a list of available folders
Alexander Shopov (1):
git-gui i18n: Updated Bulgarian translation (578t)
Avi Halachmi (:avih) (1):
gitk: encode arguments correctly with "open"
Ayush Chandekar (6):
environment: remove the global variable 'core_preload_index'
preload-index: stop depending on 'the_repository'
repository: move 'repository_format_precious_objects' to repo scope
builtin/prune: stop depending on 'the_repository'
commit: avoid scanning trailing comments when 'core.commentChar' is "auto"
config: set comment_line_str to "#" when core.commentChar=auto
Brad Smith (1):
config.mak.uname: update settings for Solaris 10 and 11
Brett A C Sheffield (1):
gitremote-helpers.adoc: fix formatting
Carlo Marcelo Arenas Belón (9):
daemon: remove unnecesary restriction for listener fd
daemon: correctly handle soft accept() errors in service_loop
ci: update FreeBSD image to 14.3
config.mak.uname: set NO_MEMMEM only for functional version
build: retire NO_UINTMAX_T
builtin/gc: correct total_ram calculation with HAVE_BSD_SYSCTL
compat/mingw: allow sigaction(SIGCHLD)
daemon: use sigaction() to install child_handler()
meson: work around broken system PCRE2 dependency in macOS
Christian Couder (2):
fast-(import|export): improve on commit signature output format
t9350: redirect input to only fast-import
Collin Funk (1):
CodingGuidelines: document formatting of similar config variables.
Derrick Stolee (13):
pack-objects: extract should_attempt_deltas()
pack-objects: add --path-walk option
pack-objects: update usage to match docs
p5313: add performance tests for --path-walk
pack-objects: introduce GIT_TEST_PACK_PATH_WALK
t5538: add tests to confirm deltas in shallow pushes
repack: add --path-walk option
pack-objects: enable --path-walk via config
scalar: enable path-walk during push via config
pack-objects: refactor path-walk delta phase
pack-objects: thread the path-based compression
path-walk: add new 'edge_aggressive' option
pack-objects: allow --shallow and --path-walk
Han Young (2):
read-cache: report lock error when refreshing index
blame: remove parameter detailed in get_commit_info()
Hoyoung Lee (1):
t/helper/test-truncate: close file descriptor after truncation
Jacob Keller (12):
pathspec: add match_leading_pathspec variant
pathspec: add flag to indicate operation without repository
diff --no-index: support limiting by pathspec
remote: remove branch->merge_name and fix branch_release()
remote: fix tear down of struct remote
dir: move starts_with_dot(_dot)_slash to dir.h
remote: remove the_repository from some functions
submodule--helper: improve logic for fallback remote name
submodule: move get_default_remote_submodule()
submodule: look up remotes by URL first
send-pack: clean up extra_have oid array
reflog: close leak of reflog expire entry
Jakub Ječmínek (1):
doc: improve formatting in branch section
Jan Mazur (1):
bundle-uri: send debug output to given FILE * stream
Jean-Noël Avila (9):
doc: convert git-log to new documentation format
doc: git-log convert rev-list-description to new doc format
doc: git-log: convert line range options to new doc format
doc: git-log: convert line range format to new doc format
doc: git-log: convert rev list options to new doc format
doc: git-log: convert pretty options to new doc format
doc: git-log: convert pretty formats to new doc format
doc: git-log: convert diff options to new doc format
doc: git-log: convert log config to new doc format
Jeff King (9):
t7422: replace confusing printf with echo
test-lib: teach test_seq the -f option
setup_revisions(): turn on diffs for all-negative diff filter
remote: detect collisions in remote names
revision: drop early output option
test-delta: handle errors with die()
test-delta: use strbufs to hold input files
test-delta: close output descriptor after use
t7510: use $PWD instead of $(pwd) inside PATH
Jinyao Guo (1):
mailinfo.c: fix memory leak in function handle_content_type()
Johannes Schindelin (3):
mingw: drop Windows 7-specific work-around
mingw_rename: support ReFS on Windows 2022
mingw: support Windows Server 2016 again
Johannes Sixt (31):
git-gui: do not end the commit message with an empty line
gitk: treat file names beginning with "|" as relative paths
gitk: have callers of diffcmd supply pipe symbol when necessary
gitk: sanitize 'exec' arguments: simple cases
gitk: sanitize 'exec' arguments: 'eval exec'
gitk: sanitize 'exec' arguments: redirections
gitk: sanitize 'exec' arguments: redirections and background
gitk: sanitize 'exec' arguments: redirect to process
gitk: sanitize 'open' arguments: simple commands
gitk: sanitize 'open' arguments: simple commands with redirections
gitk: sanitize 'open' arguments: simple commands, readable and writable
gitk: collect construction of blameargs into a single conditional
gitk: sanitize 'open' arguments: command pipeline
git-gui: remove special treatment of Windows from open_cmd_pipe
git-gui: remove git config --list handling for git < 1.5.3
git-gui: treat file names beginning with "|" as relative paths
git-gui: sanitize 'exec' arguments: simple cases
git-gui: sanitize 'exec' arguments: background
git-gui: remove option --stderr from git_read
git-gui: break out a separate function git_read_nice
git-gui: use git_read in githook_read
gitk: sanitize 'open' arguments: revisit recently updated 'open' calls
git-gui: convert git_read*, git_write to be non-variadic
git-gui: pass redirections as separate argument to _open_stdout_stderr
git-gui: pass redirections as separate argument to git_read
git-gui: introduce function git_redir for git calls with redirections
git-gui: do not mistake command arguments as redirection operators
git-gui: sanitize 'exec' arguments: convert new 'cygpath' calls
gitk: choosefont - remove a stray debugging line
gitk: remove header of now empty section "General options"
interactive: do strip trailing CRLF from input
Jonas Brandstötter (2):
gpg-interface: expand gpg.program as a path
t7510: add test cases for non-absolute gpg program
Jouke Witteveen (1):
doc: update references to renamed AsciiDoc files
Junio C Hamano (39):
you-still-use-that??: help deprecating commands for removal
doc: prepare for a world without whatchanged
tests: prepare for a world without whatchanged
whatchanged: require --i-still-use-this
whatchanged: remove when built with WITH_BREAKING_CHANGES
whatschanged: list it in BreakingChanges document
CodingGuidelines: let BSS do its job
Git 2.49.1
merge/pull: add the "--compact-summary" option
merge/pull: extend merge.stat configuration variable to cover --compact-summary
Git 2.50.1
Start 2.51 cycle, the first batch
diff-no-index: do not reference .d_type member of struct dirent
The second batch
cocci: matching (multiple) identifiers
coccicheck: fail "make" when it fails
The third batch
The fourth batch
The fifth batch
send-pack: clean-up even when taking an early exit
The sixth batch
The seventh batch
The eighth batch
The ninth batch
The tenth batch
The eleventh batch
ci: allow github-actions print test failures again
The twelfth batch
rev-list: make "struct rev_list_info" static to the only user
rev-list: update a NEEDSWORK comment
The thirteenth batch
CodingGuidelines: document test balloons in flight
The fourteenth batch
The fifteenth batch
test-hashmap: document why it is no longer used but still there
CodingGuidelines: clarify that S_release() does not reinitialize
The sixteenth batch
The seventeenth batch, just before -rc0
Git 2.51-rc0
Justin Tobler (2):
config: quote values containing CR character
builtin: unmark git-switch and git-restore as experimental
Jörg Thalheim (2):
imap-send: fix confusing 'store' terminology in error message
imap-send: improve error messages with configuration hints
K Jayatheerth (1):
stash: fix incorrect branch name in stash message
Karthik Nayak (20):
refs: add function to translate errors to strings
fetch: use batched reference updates
send-pack: fix memory leak around duplicate refs
receive-pack: use batched reference updates
refs/files: skip updates with errors in batched updates
receive-pack: handle reference deletions separately
clang-format: set 'ColumnLimit' to 0
clang-format: add 'RemoveBracesLLVM' to the main config
meson: add rule to run 'git clang-format'
refs: expose `ref_iterator` via 'refs.h'
ref-cache: remove unused function 'find_ref_entry()'
refs: selectively set prefix in the seek functions
ref-filter: remove unnecessary else clause
for-each-ref: introduce a '--start-after' option
ref-cache: set prefix_state when seeking
ref-cache: use 'size_t' instead of int for length
for-each-ref: fix documentation argument ordering
for-each-ref: reword the documentation for '--start-after'
t6302: add test combining '--start-after' with '--exclude'
ref-filter: use REF_ITERATOR_SEEK_SET_PREFIX instead of '1'
Kristoffer Haugsbakk (6):
config: document --[no-]show-names
config: use --value=<pattern> consistently
config: document --[no-]value
config: use --value instead of value-pattern
config: mention --url in the synopsis
doc: fast-import: contextualize the hardware cost
Kyle Lippincott (1):
test-lib: respect GIT_TEST_INSTALLED when querying default hash
Leon Michalak (4):
t: use test_grep in t3701 and t4055
t: use test_config in t4055
add-patch: respect diff.context configuration
add-patch: add diff.context command line overrides
Lidong Yan (17):
sequencer: replace error() with BUG() in update_squash_messages ()
BUG(): remove leading underscore of the format string
builtin/fetch-pack: cleanup before return error
commit-graph: fix start_delayed_progress() leak
repo_logmsg_reencode: fix memory leak when use repo_logmsg_reencode ()
builtin/submodule--helper: fix leak when remote_submodule_branch() failed
pack-bitmap: remove checks before bitmap_free
revision: fix memory leak in prepare_show_merge()
git.c: remove the_repository dependence in run_builtin()
pack-bitmap: reword comments in test_bitmap_commits()
pack-bitmap: add load corrupt bitmap test
bloom: add test helper to return murmur3 hash
bloom: rename function operates on bloom_key
bloom: replace struct bloom_key * with struct bloom_keyvec
revision: make helper for pathspec to bloom keyvec
bloom: optimize multiple pathspec items in revision
pull: add pull.autoStash config option
Lucas Seiki Oshiro (2):
MyFirstContribution: use struct repository in examples
MyFirstContribution: add walken.c to meson.build
Mark Levedahl (50):
git-gui: _which, only add .exe suffix if not present
git-gui: use [is_Windows], not bad _shellpath
git-gui: make _shellpath usable on startup
git-gui: remove Tcl 8.4 workaround on 2>@1 redirection
git-gui: use only the configured shell
git-gui: remove HEAD detachment implementation for git < 1.5.3
git-gui: remove unused proc is_shellscript
git-gui: avoid auto_execok for git-bash menu item
git-gui: avoid auto_execok in do_windows_shortcut
git-gui: cleanup git-bash menu item
git-gui: assure PATH has only absolute elements.
git-gui: sanitize $PATH on all platforms
git-gui: override exec and open only on Windows
gitk: require git >= 2.20
gitk: remove code targeting git <= 1.7.2
gitk: Make TclTk 8.6 the minimum, allow 8.7
gitk: remove implementations for Tcl/Tk < 8.6
gitk: use $config_variables as list for save/restore
gitk: always use themed Tk (ttk)
gitk: replace ${NS} with ttk
gitk: remove non-ttk support code
gitk: separate x11 / win32 / aqua Mouse bindings
gitk: wheel scrolling multiplier preference
gitk: mousewheel scrolling functions for Tk 8.6
gitk: update win32 scrolling for Tk 8.6 / TIP 171
gitk: update x11 scrolling for TclTk 8.6 / TIP 171
gitk: update aqua scrolling for TclTk 8.6 / TIP171
gitk: allow horizontal commit-graph scrolling
git-gui: require git >= 2.36
git-gui: Make TclTk 8.6 the minimum, allow 8.7
git-gui: git ls-files knows --exclude-standard
git-gui: git-diff-index always knows submodules
git-gui: use git-branch --show-current
git-gui: git rev-parse knows show_toplevel
git-gui: git-blame understands -w and textconv
git-gui: git-diff knows submodules and textconv
git-gui: git merge understands --strategy=recursive
git-gui: git-remote is always available
git-gui: use git_init to create new repository dir
git-gui: remove unused git-version
git-gui: remove unreachable Tk 8.4 code
git-gui: remove redundant check for Tk >= 8.5
git-gui: always use themed widgets from ttk
git-gui: remove ${NS} indirection for ttk
git-gui: remove non-ttk code
git-gui: use git-clone
git-gui: default to full copy for linked worktrees
git-gui: use dashless 'git cmd' form for read/write
git-gui: remove procs gitexec and _git_cmd
git-gui: eliminate _search_exe
Martin Storsjö (1):
meson: tolerate errors from git ls-files --deduplicate
Martin Ågren (1):
diff-generate-patch.adoc: drop spurious backticks
Matthias Aßhauer (1):
mingw_open_existing: handle directories better
Maxim Cournoyer (3):
contrib: use a more portable shebang for git-credential-netrc
contrib: warn for invalid netrc file ports in git-credential-netrc
contrib: better support symbolic port names in git-credential-netrc
Michael Rappazzo (3):
gitk: sort by ref type on the 'tags and heads' view
gitk: make 'sort-refs-by-type' optional and persistent
gitk: separate upstream refs when using the sort-by-type option
Patrick Steinhardt (94):
contrib: remove "remotes2config.sh"
contrib: remove "examples" directory
contrib: remove remote-helper stubs
contrib: remove "thunderbird-patch-inline"
contrib: remove "hooks" directory
contrib: remove "mw-to-git"
contrib: remove "persistent-https" remote helper
contrib: remove "git-resurrect.sh"
contrib: remove "emacs" directory
contrib: remove "git-new-workdir"
contrib: remove some scripts in "stats" directory
t: stop announcing prereqs
t: silence output from `test_create_repo()`
t9822: use prereq to check for ISO-8859-1 support
t983*: use prereq to check for Python-specific git-p4(1) support
t/test-lib: don't print shell traces to stdout
t/test-lib: fix TAP format for BASH_XTRACEFD warning
t7815: fix unexpectedly passing test on macOS
test-lib: fail on unexpectedly passing tests
meson: introduce kwargs variable for tests
meson: parse TAP output generated by our tests
builtin/gc: use designated field initializers for maintenance tasks
builtin/gc: drop redundant local variable
builtin/maintenance: centralize configuration of explicit tasks
builtin/maintenance: mark "--task=" and "--schedule=" as incompatible
builtin/maintenance: stop modifying global array of tasks
builtin/maintenance: extract function to run tasks
builtin/maintenance: fix typedef for function pointers
builtin/maintenance: split into foreground and background tasks
builtin/maintenance: fix locking race with refs and reflogs tasks
usage: allow dying without writing an error message
builtin/gc: avoid global state in `gc_before_repack()`
builtin/maintenance: fix locking race when handling "gc" task
object-store: rename `raw_object_store` to `object_database`
object-store: rename `object_directory` to `odb_source`
object-store: rename files to "odb.{c,h}"
odb: introduce parent pointers
odb: get rid of `the_repository` in `find_odb()`
odb: get rid of `the_repository` in `assert_oid_type()`
odb: get rid of `the_repository` in `odb_mkstemp()`
odb: get rid of `the_repository` when handling alternates
odb: get rid of `the_repository` in `for_each()` functions
odb: get rid of `the_repository` when handling the primary source
odb: get rid of `the_repository` when handling submodule sources
odb: trivial refactorings to get rid of `the_repository`
odb: rename `oid_object_info()`
odb: rename `repo_read_object_file()`
odb: rename `has_object()`
odb: rename `pretend_object_file()`
odb: rename `read_object_with_reference()`
BreakingChanges: announce switch to "reftable" format
setup: use "reftable" format when experimental features are enabled
t4150: fix warning printed by awk due to escaped '\@'
t5333: fix missing terminator for sed(1) 's' command
docs/git-pack-refs: document heuristic used for packing loose refs
refs/files: remove empty parent dirs when ref creation fails
t1006: fix broken TAP format
meson: stop discovering native version of Python
meson: stop printing 'https' option twice in our summaries
meson: improve summary of auto-detected features
meson: clean up unnecessary variables
meson: fix lookup of shell on MINGW64
sane-ctype: fix compiler error on Amazon Linux 2
meson: update subproject wrappers
ci: use Meson's new `--slice` option
midx: start tracking per object database source
packfile: refactor `prepare_packed_git_one()` to work on sources
midx: stop using linked list when closing MIDX
packfile: refactor `get_multi_pack_index()` to work on sources
packfile: stop using linked MIDX list in `find_pack_entry()`
packfile: stop using linked MIDX list in `get_all_packs()`
midx: remove now-unused linked list of multi-pack indices
config: drop `git_config()` wrapper
config: drop `git_config_clear()` wrapper
config: drop `git_config_get()` wrapper
config: drop `git_config_get_value()` wrapper
config: drop `git_config_get_value()` wrapper
config: drop `git_config_get_string_multi()` wrapper
config: drop `git_config_get_string()` wrapper
config: drop `git_config_get_string()` wrapper
config: drop `git_config_get_int()` wrapper
config: drop `git_config_get_ulong()` wrapper
config: drop `git_config_get_bool()` wrapper
config: drop `git_config_set_in_file()` wrapper
config: drop `git_config_set_gently()` wrapper
config: drop `git_config_set()` wrapper
config: drop `git_config_set_in_file_gently()` wrapper
config: drop `git_config_set_multivar_in_file_gently()` wrapper
config: drop `git_config_get_multivar_gently()` wrapper
config: drop `git_config_set_multivar()` wrapper
config: remove unused `the_repository` wrappers
config: move Git config parsing into "environment.c"
config: fix sign comparison warnings
meson: ensure correct "clar-decls.h" header is used
Patrick Steinhardt' via Git Security (1):
bundle-uri: fix arbitrary file writes via parameter injection
Patrik Weiskircher (2):
contrib/subtree: parse using --stuck-long
contrib/subtree: add -S/--gpg-sign
Phil Hord (3):
fetch-prune: optimize dangling-ref reporting
refs: remove old refs_warn_dangling_symref
clean up interface for refs_warn_dangling_symrefs
Phillip Wood (6):
stash: allow "git stash -p <pathspec>" to assume push again
stash: allow "git stash [<options>] --patch <pathspec>" to assume push
config: remove unneeded struct field
CodingGuidelines: allow the use of bool
git-compat-util: convert string predicates to return bool
strbuf: convert predicates to return bool
Ramsay Jones (4):
test-lib: add missing prerequisites for Darwin
build: fix FreeBSD build when sysinfo compat library installed
meson: fix installation when -Dlibexexdir is set
po/meson.build: add missing 'ga' language code
Raymond E. Pasco (4):
apply: read in the index in --intent-to-add mode
apply: only write intents to add for new files
t4140: test apply --intent-to-add interactions
apply docs: clarify wording for --intent-to-add
René Scharfe (10):
parse-options: require PARSE_OPT_NOARG for OPTION_BITOP
parse-options: add precision handling for PARSE_OPT_CMDMODE
parse-options: add precision handling for OPTION_SET_INT
parse-options: add precision handling for OPTION_BIT
parse-options: add precision handling for OPTION_NEGBIT
parse-options: add precision handling for OPTION_BITOP
parse-options: add precision handling for OPTION_COUNTUP
commit: convert pop_most_recent_commit() to prio_queue
prio-queue: add prio_queue_replace()
commit: use prio_queue_replace() in pop_most_recent_commit()
Rodrigo Carvalho (1):
userdiff: add support for R programming language
Rodrigo Michelassi (1):
t2400: replace 'test -[efd]' with 'test_path_is_*'
Russell Hanneken (1):
doc: correct doc for glob pathspec
Sebastian Andrzej Siewior (5):
bswap.h: add support for __BYTE_ORDER__
bswap.h: define GIT_LITTLE_ENDIAN on msvc as little endian
bswap.h: always overwrite ntohl/ ntohll macros
bswap.h: remove optimized x86 version of bswap32/64
bswap.h: provide a built-in based version of bswap32/64 if possible
Seyi Kuforiji (10):
t/unit-tests: implement clar specific reftable test helper functions
t/unit-tests: convert reftable basics test to use clar test framework
t/unit-tests: convert reftable block test to use clar
t/unit-tests: convert reftable merged test to use clar
t/unit-tests: convert reftable pq test to use clar
t/unit-tests: convert reftable table test to use clar
t/unit-tests: convert reftable readwrite test to use clar
t/unit-tests: convert reftable record test to use clar
t/unit-tests: convert reftable stack test to use clar
t/unit-tests: finalize migration of reftable-related tests
Siddharth Asthana (1):
cat-file: fix mailmap application for different author and committer
Takashi Iwai (3):
gitk: Add support of SHA256 repositories
git-gui: Replace null_sha1 with nullid
git-gui: Add support of SHA256 repo
Taylor Blau (18):
wincred: avoid buffer overflow in wcsncat()
Git 2.43.7
Git 2.44.4
Git 2.45.4
Git 2.46.4
Git 2.47.3
Git 2.48.2
pack-objects: use standard option incompatibility functions
pack-objects: limit scope in 'add_object_entry_from_pack()'
pack-objects: factor out handling '--stdin-packs'
pack-objects: declare 'rev_info' for '--stdin-packs' earlier
pack-objects: perform name-hash traversal for unpacked objects
pack-objects: fix typo in 'show_object_pack_hint()'
pack-objects: swap 'show_{object,commit}_pack_hint'
pack-objects: introduce '--stdin-packs=follow'
repack: exclude cruft pack(s) from the MIDX where possible
pack-bitmap: fix memory leak if load_bitmap() failed
Documentation/RelNotes: use .adoc extension for new security releases
Timur Sultanaev (1):
docs: correct ORIG_HEAD example in "git merge" documentation
Todd Zullinger (1):
t: avoid git config syntax from newer releases
Victoria Dye (3):
t1006: update 'run_tests' to test generic object specifiers
cat-file: add %(objectmode) atom
cat-file.c: add batch handling for submodules
brian m. carlson (16):
object-name: make get_oid quietly return an error
builtin/stash: factor out revision parsing into a function
builtin/stash: provide a way to export stashes to a ref
builtin/stash: provide a way to import stashes from a ref
hash: add a constant for the default hash algorithm
hash: add a constant for the legacy hash algorithm
builtin: use default hash when outside a repository
Use legacy hash for legacy formats
setup: use the default algorithm to initialize repo format
t: default to compile-time default hash if not set
t1007: choose the built-in hash outside of a repo
t4042: choose the built-in hash outside of a repo
t5300: choose the built-in hash outside of a repo
help: add a build option for default hash
Enable SHA-256 by default in breaking changes mode
SubmittingPatches: allow non-real name contributions
chenjianhu (1):
t7450: inspect the correct path a broken code would write to
redoste (1):
ssh signing: don't detach the filename strbuf from key_file tempfile
shejialuo (8):
string-list: fix sign compare warnings for loop iterator
string-list: remove unused "insert_at" parameter from add_entry
string-list: return index directly when inserting an existing element
string-list: enable sign compare warnings check
u-string-list: move "test_split" into "u-string-list.c"
u-string-list: move "test_split_in_place" to "u-string-list.c"
u-string-list: move "filter string" test to "u-string-list.c"
u-string-list: move "remove duplicates" test to "u-string-list.c"
Øystein Walle (1):
rebase: write script before initializing state
Powered by blists - more mailing lists