./www/gitweb, Web interface for GIT repositories

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.48.0, Package name: gitweb-2.48.0, Maintainer: pkgsrc-users

gitweb provides an easy to use and full-fledged web interface to
your Git repositories. It allows users to browse the contents of
all served projects, including the ability to inspect individual
files and their history for any of the available branches.


Required to run:
[www/p5-CGI] [lang/perl5] [devel/git-base]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 7542.32 KB

Version history: (Expand)


CVS history: (Expand)


   2025-01-13 15:24:44 by Adam Ciarcinski | Files touched by this commit (10) | Package updated
Log message:
git: updated to 2.48.0

Git v2.48 Release Notes
=======================

UI, Workflows & Features
------------------------

 * A new configuration variable remote.<name>.serverOption makes the
   transport layer act as if the --serverOption=<value> option is
   given from the command line.

 * "git rebase --rebase-merges" now uses branch names as labels when
   able.

 * Describe the policy to introduce breaking changes.

 * Teach 'git notes add' and 'git notes append' a new '-e' flag,
   instructing them to open the note in $GIT_EDITOR before saving.

 * Documentation for "git bundle" saw improvements to more prominently
   call out the use of '--all' when creating bundles.

 * Drop support for older libcURL and Perl.

 * End-user experience of "git mergetool" when the command errors out
   has been improved.

 * "git bundle --unbundle" and "git clone" running on a \ 
bundle file
   both learned to trigger fsck over the new objects with configurable
   fck check levels.

 * When "git fetch $remote" notices that refs/remotes/$remote/HEAD is
   missing and discovers what branch the other side points with its
   HEAD, refs/remotes/$remote/HEAD is updated to point to it.

 * "git fetch" honors \ 
"remote.<remote>.followRemoteHEAD" settings to
   tweak the remote-tracking HEAD in "refs/remotes/<remote>/HEAD".

 * "git range-diff" learned to optionally show and compare merge
   commits in the ranges being compared, with the --diff-merges
   option.

Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------

 * Document "amlog" notes.

 * The way AsciiDoc is used for SYNOPSIS part of the manual pages has
   been revamped.  The sources, at least for the simple cases, got
   vastly more pleasant to work with.

 * The reftable library is now prepared to expect that the memory
   allocation function given to it may fail to allocate and to deal
   with such an error.

 * An extra worktree attached to a repository points at each other to
   allow finding the repository from the worktree (and vice versa)
   possible.  Use relative paths for this linkage.

 * Enable Windows-based CI in GitLab.

 * Commands that can also work outside Git have learned to take the
   repository instance "repo" when we know we are in a repository, and
   NULL when we are not, in a parameter.  The uses of the_repository
   variable in a few of them have been removed using the new calling
   convention.

 * The reftable sub-system grew a new reftable-specific strbuf
   replacement to reduce its dependency on Git-specific data
   structures.

 * The ref-filter machinery learns to recognize and avoid cases where
   sorting would be redundant.

 * Various platform compatibility fixes split out of the larger effort
   to use Meson as the primary build tool.

 * Treat ECONNABORTED the same as ECONNRESET in 'git credential-cache'
   to work around a possible Cygwin regression. This resolves a race
   condition caused by changes in Cygwin's handling of socket
   closures, allowing the client to exit cleanly when encountering
   ECONNABORTED.

 * Demonstrate an assertion failure in 'git mv'.

 * Documentation update to clarify that 'uploadpack.allowAnySHA1InWant'
   implies both 'allowTipSHA1InWant' and 'allowReachableSHA1InWant'.

 * Replace various calls to atoi() with strtol_i() and strtoul_ui(),
   and add improved error handling.

 * Documentation updates to 'git-update-ref(1)'.

 * Update the project's CodingGuidelines to discourage naming functions
   with a "_1()" suffix.

 * Update '.clang-format' to match project conventions.

 * Centralize documentation for repository extensions into a single place.

 * Buildfix and upgrade of Clar to a newer version.

 * Documentation mark-up updates.

 * Renaming a handful of variables and structure fields.

 * Fix for clar unit tests to support CMake build.

 * C23 compatibility updates.

 * GCC 15 compatibility updates.

 * We now ensure "index-pack" is used with the "--promisor" \ 
option
   only during a "git fetch".

 * The migration procedure between two ref backends has been optimized.

 * "git fsck" learned to issue warnings on "curiously \ 
formatted" ref
   contents that have always been treated as valid but that Git
   wouldn't have written itself (e.g., missing terminating end-of-line
   after the full object name).

 * Work around Coverity warning that would not trigger in practice.

 * Built-in Git subcommands are supplied the repository object to work
   with; they learned to do the same when they invoke sub-subcommands.

 * Drop support for ancient environments in various CI jobs.

 * Isolate the reftable subsystem from the rest of Git's codebase by
   using fewer pieces of Git's infrastructure.

 * Optimize reading random references out of the reftable backend by
   allowing reuse of iterator objects.

 * Backport oss-fuzz tests to our codebase.

 * Introduce a new repository extension to prevent older Git versions
   from mis-interpreting worktrees created with relative paths.

 * Yet another "pass the repository through the callchain" topic.

 * "git describe" learned to stop digging the history needlessly
   deeper.

 * Build procedure update plus introduction of Meson based builds.

 * Recent reftable updates mistook a NULL return from a request for
   0-byte allocation as OOM and died unnecessarily, which has been
   corrected.

 * Reftable backend adds check for upper limit of log's update_index.

 * Start working to make the codebase buildable with -Wsign-compare.

 * Regression fix for 'show-index' when run outside of a repository.

 * The meson-build procedure is integrated into CI to catch and
   prevent bitrotting.

 * "git refs migrate" learned to also migrate the reflog data across
   backends.

 * The developer documentation has been updated to give the latest
   info on gitk and git-gui maintainer.

 * CI jobs that run threaded programs under LSan has been giving false
   positives from time to time, which has been worked around.

Fixes since v2.47
-----------------

 * Doc update to clarify how periodical maintenance are scheduled,
   spread across time to avoid thundering herds.

 * Use after free and double freeing at the end in "git log -L... -p"
   had been identified and fixed.

 * On macOS, fsmonitor can fall into a race condition that results in
   a client waiting forever to be notified about an event that has
   already happened.  This problem has been corrected.

 * "git maintenance start" crashed due to an uninitialized variable
   reference, which has been corrected.

 * Fail gracefully instead of crashing when attempting to write the
   contents of a corrupt in-core index as a tree object.

 * A "git fetch" from the superproject going down to a submodule used
   a wrong remote when the default remote names are set differently
   between them.

 * Fixes compile time warnings with 64-bit MSVC.

 * Teaches 'shortlog' to explicitly use SHA-1 when operating outside
   of a repository.

 * Fix 'git grep' regression on macOS by disabling lookahead when
   encountering invalid UTF-8 byte sequences.

 * The dumb-http code regressed when the result of re-indexing a pack
   yielded an *.idx file that differs in content from the *.idx file
   it downloaded from the remote. This has been corrected by no longer
   relying on the *.idx file we got from the remote.

 * When called with '--left-right' and '--use-bitmap-index', 'rev-list'
   will produce output without any left/right markers, which has been
   corrected.

 * More leakfixes.

 * Test modernization.

 * The "--shallow-exclude=<ref>" option to various history transfer
   commands takes a ref, not an arbitrary revision.

 * A regression where commit objects missing from a commit-graph can
   cause an infinite loop when doing a fetch in a partial clone has
   been fixed.

 * The MinGW compatibility layer has been taught to support POSIX
   semantics for atomic renames when other process(es) have a file
   opened at the destination path.

 * "git gc" discards any objects that are outside promisor packs that
   are referred to by an object in a promisor pack, and we do not
   refetch them from the promisor at runtime, resulting an unusable
   repository.  Work around it by including these objects in the
   referring promisor pack at the receiving end of the fetch.

 * Avoid build/test breakage on a system without working malloc debug
   support dynamic library.
   (merge 72ad6dc368 jk/test-malloc-debug-check later to maint).

 * Double-free fix.
   (merge fe17a25905 jk/fetch-prefetch-double-free-fix later to maint).

 * Use of some uninitialized variables in "git difftool" has been
   corrected.

 * Object reuse code based on multi-pack-index sent an unwanted copy
   of object.
   (merge e199290592 tb/multi-pack-reuse-dupfix later to maint).

 * "git fast-import" can be tricked into a replace ref that maps an
   object to itself, which is a useless thing to do.
   (merge 5e904f1a4a en/fast-import-avoid-self-replace later to maint).

 * The ref-transaction hook triggered for reflog updates, which has
   been corrected.
   (merge b886db48c6 kn/ref-transaction-hook-with-reflog later to maint).

 * Give a bit of advice/hint message when "git maintenance" stops finding a
   lock file left by another instance that still is potentially running.
   (merge ba874d1dac ps/gc-stale-lock-warning later to maint).

 * Use the right helper program to measure file size in performance tests.
   (merge 3f97f1bce6 tb/use-test-file-size-more later to maint).

 * A double-free that may not trigger in practice by luck has been
   corrected in the reference resolution code.
   (merge b6318cf23a sj/refs-symref-referent-fix later to maint).

 * The sequencer failed to honor core.commentString in some places.

 * Describe a case where an option value needs to be spelled as a
   separate argument, i.e. "--opt val", not "--opt=val".
   (merge 1bc1e94091 jc/doc-opt-tilde-expand later to maint).

 * Loosen overly strict ownership check introduced in the recent past,
   to keep the promise "cloning a suspicious repository is a safe
   first step to inspect it".
   (merge 0ffb5a6bf1 bc/allow-upload-pack-from-other-people later to maint).

 * "git fast-import" learned to reject paths with ".."  and \ 
"." as
   their components to avoid creating invalid tree objects.
   (merge 8cb4c6e62f en/fast-import-verify-path later to maint).

 * The --ancestry-path option is designed to be given a commit that is
   on the path, which was not documented, which has been corrected.
   (merge bc1a980759 kk/doc-ancestry-path later to maint).

 * "git tag" has been taught to refuse to create refs/tags/HEAD
   since such a tag will be confusing in the context of the UI provided by
   the Git Porcelain commands.
   (merge bbd445d5ef jc/forbid-head-as-tagname later to maint).

 * The advice messages now tell the newer 'git config set' command to
   set the advice.token configuration variable to squelch a message.
   (merge 6c397d0104 bf/explicit-config-set-in-advice-messages later to maint).

 * The syntax ":/<text>" to name the latest commit with the matching
   text was broken with a recent change, which has been corrected.
   (merge 0ff919e87a ps/commit-with-message-syntax-fix later to maint).

 * Fix performance regression of a recent "fatten promisor pack with
   local objects" protection against an unwanted gc.

 * "git log -p --remerge-diff --reverse" was completely broken.
   (merge f94bfa1516 js/log-remerge-keep-ancestry later to maint).

 * "git bundle create" with an annotated tag on the positive end of
   the revision range had a workaround code for older limitation in
   the revision walker, which has become unnecessary.
   (merge dd1072dfa8 tc/bundle-with-tag-remove-workaround later to maint).

 * GitLab CI updates.
   (merge c6b43f663e ps/ci-gitlab-update later to maint).

 * Code to reuse objects based on bitmap contents have been tightened
   to avoid race condition even when multiple packs are involved.
   (merge 62b3ec8a3f tb/bitmap-fix-pack-reuse later to maint).

 * An earlier "csum-file checksum does not have to be computed with
   sha1dc" topic had a few code paths that had initialized an
   implementation of a hash function to be used by an unmatching hash
   by mistake, which have been corrected.
   (merge 599a63409b ps/weak-sha1-for-tail-sum-fix later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge 77af53f56f aa/t7300-modernize later to maint).
   (merge dcd590a39d bf/t-readme-mention-reftable later to maint).
   (merge 68e3c69efa kh/trailer-in-glossary later to maint).
   (merge 91f88f76e6 tb/boundary-traversal-fix later to maint).
   (merge 168ebb7159 jc/doc-error-message-guidelines later to maint).
   (merge 18693d7d65 kh/doc-bundle-typofix later to maint).
   (merge e2f5d3b491 kh/doc-update-ref-grammofix later to maint).
   (merge 8525e92886 mh/doc-windows-home-env later to maint).
   2022-10-07 12:10:05 by Adam Ciarcinski | Files touched by this commit (7) | Package updated
Log message:
git: updated to 2.38.0

Git v2.38 Release Notes
=======================

UI, Workflows & Features

 * "git remote show [-n] frotz" now pays attention to negative
   pathspec.

 * "git push" sometimes performs poorly when reachability bitmaps are
   used, even in a repository where other operations are helped by
   bitmaps.  The push.useBitmaps configuration variable is introduced
   to allow disabling use of reachability bitmaps only for "git push".

 * "git grep -m<max-hits>" is a way to limit the hits shown per file.

 * "git merge-tree" learned a new mode where it takes two commits and
   computes a tree that would result in the merge commit, if the
   histories leading to these two commits were to be merged.

 * "git mv A B" in a sparsely populated working tree can be asked to
   move a path between directories that are "in cone" (i.e. expected
   to be materialized in the working tree) and "out of cone"
   (i.e. expected to be hidden).  The handling of such cases has been
   improved.

 * Earlier, HTTP transport clients learned to tell the server side
   what locale they are in by sending Accept-Language HTTP header, but
   this was done only for some requests but not others.

 * Introduce a safe.barerepository configuration variable that
   allows users to forbid discovery of bare repositories.

 * Various messages that come from the pack-bitmap codepaths have been
   tweaked.

 * "git rebase -i" learns to update branches whose tip appear in the
   rebased range with "--update-refs" option.

 * "git ls-files" learns the "--format" option to tweak its \ 
output.

 * "git cat-file" learned an option to use the mailmap when showing
   commit and tag objects.

 * When "git merge" finds that it cannot perform a merge, it should
   restore the working tree to the state before the command was
   initiated, but in some corner cases it didn't.

 * Operating modes like "--batch" of "git cat-file" command \ 
learned to
   take NUL-terminated input, instead of one-item-per-line.

 * "git rm" has become more aware of the sparse-index feature.

 * "git rev-list --disk-usage" learned to take an optional value
   "human" to show the reported value in human-readable format, like
   "3.40MiB".

 * The "diagnose" feature to create a zip archive for diagnostic
   material has been lifted from "scalar" and made into a feature of
   "git bugreport".

 * The namespaces used by "log --decorate" from "refs/" \ 
hierarchy by
   default has been tightened.

 * "git rev-list --ancestry-path=C A..B" is a natural extension of
   "git rev-list A..B"; instead of choosing a subset of A..B to those
   that have ancestry relationship with A, it lets a subset with
   ancestry relationship with C.

 * "scalar" now enables built-in fsmonitor on enlisted repositories,
   when able.

 * The bash prompt (in contrib/) learned to optionally indicate when
   the index is unmerged.

 * "git clone" command learned the "--bundle-uri" option to \ 
coordinate
   with hosting sites the use of pre-prepared bundle files.

 * "git range-diff" learned to honor pathspec argument if given.

 * "git format-patch --from=<ident>" can be told to add an in-body
   "From:" line even for commits that are authored by the given
   <ident> with "--force-in-body-from" option.

 * The built-in fsmonitor refuses to work on a network mounted
   repositories; a configuration knob for users to override this has
   been introduced.

 * The "scalar" addition from Microsoft is now part of the core Git
   installation.

Performance, Internal Implementation, Development Support etc.

 * Collection of what is referenced by objects in promisor packs have
   been optimized to inspect these objects in the in-pack order.

 * Introduce a helper to see if a branch is already being worked on
   (hence should not be newly checked out in a working tree), which
   performs much better than the existing find_shared_symref() to
   replace many uses of the latter.

 * Teach "git archive" to (optionally and then by default) avoid
   spawning an external "gzip" process when creating \ 
".tar.gz" (and
   ".tgz") archives.

 * Allow large objects read from a packstream to be streamed into a
   loose object file straight, without having to keep it in-core as a
   whole.

 * Further preparation to turn git-submodule.sh into a builtin
   continues.

 * Apply Coccinelle rule to turn raw memmove() into MOVE_ARRAY() cpp
   macro, which would improve maintainability and readability.

 * Teach "make all" to build gitweb as well.

 * Tweak tests so that they still work when the "git init" template
   did not create .git/info directory.

 * Add Coccinelle rules to detect the pattern of initializing and then
   finalizing a structure without using it in between at all, which
   happens after code restructuring and the compilers fail to
   recognize as an unused variable.

 * The code to convert between GPG trust level strings and internal
   constants we use to represent them have been cleaned up.

 * Support for libnettle as SHA256 implementation has been added.

 * The way "git multi-pack" uses parse-options API has been improved.

 * A Coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
   macro has been improved.

 * API tweak to make it easier to run fuzz testing on commit-graph parser.

 * Omit fsync-related trace2 entries when their values are all zero.

 * The codepath to write multi-pack index has been taught to release a
   large chunk of memory that holds an array of objects in the packs,
   as soon as it is done with the array, to reduce memory consumption.

 * Add a level of redirection to array allocation API in xdiff part,
   to make it easier to share with the libgit2 project.

 * "git fetch" client logs the partial clone filter used in the trace2
   output.

 * The "bundle URI" design gets documented.

 * The common ancestor negotiation exchange during a "git fetch"
   session now leaves trace log.

 * Test portability improvements.
   (merge 4d1d843be7 mt/rot13-in-c later to maint).

 * The "subcommand" mode is introduced to parse-options API and update
   the command line parser of Git commands with subcommands.

 * The pack bitmap file gained a bitmap-lookup table to speed up
   locating the necessary bitmap for a given commit.

 * The assembly version of SHA-1 implementation for PPC has been
   removed.

 * The server side that responds to "git fetch" and "git clone"
   request has been optimized by allowing it to send objects in its
   object store without recomputing and validating the object names.

 * Annotate function parameters that are not used (but cannot be
   removed for structural reasons), to prepare us to later compile
   with -Wunused warning turned on.

 * Share the text used to explain configuration variables used by "git
   <subcmd>" in "git help <subcmd>" with the text \ 
from "git help config".

 * "git mv A B" in a sparsely populated working tree can be asked to
   move a path from a directory that is "in cone" to another directory
   that is "out of cone".  Handling of such a case has been improved.

 * The chainlint script for our tests has been revamped.

Fixes since v2.37
-----------------

 * Rewrite of "git add -i" in C that appeared in Git 2.25 didn't
   correctly record a removed file to the index, which was fixed.

 * Certain diff options are currently ignored when combined-diff is
   shown; mark them as incompatible with the feature.

 * Adjust technical/bitmap-format to be formatted by AsciiDoc, and
   add some missing information to the documentation.

 * Fixes for tests when the source directory has unusual characters in
   its path, e.g. whitespaces, double-quotes, etc.

 * "git mktree --missing" lazily fetched objects that are missing from
   the local object store, which was totally unnecessary for the purpose
   of creating the tree object(s) from its input.

 * Give _() markings to fatal/warning/usage: labels that are shown in
   front of these messages.

 * References to commands-to-be-typed-literally in "git rebase"
   documentation mark-up have been corrected.

 * In a non-bare repository, the behavior of Git when the
   core.worktree configuration variable points at a directory that has
   a repository as its subdirectory, regressed in Git 2.27 days.

 * Recent update to vimdiff layout code has been made more robust
   against different end-user vim settings.

 * Plug various memory leaks, both in the main code and in test-tool
   commands.

 * Fixes a long-standing corner case bug around directory renames in
   the merge-ort strategy.

 * The resolve-undo information in the index was not protected against
   GC, which has been corrected.

 * A corner case bug where lazily fetching objects from a promisor
   remote resulted in infinite recursion has been corrected.

 * "git clone" from a repository with some ref whose HEAD is unborn
   did not set the HEAD in the resulting repository correctly, which
   has been corrected.

 * An earlier attempt to plug leaks placed a clean-up label to jump to
   at a bogus place, which as been corrected.

 * Variable quoting fix in the vimdiff driver of "git mergetool"

 * "git shortlog -n" relied on the underlying qsort() to be stable,
   which shouldn't have.  Fixed.

 * A fix for a regression in test framework.

 * mkstemp() emulation on Windows has been improved.

 * Add missing documentation for "include" and "includeIf" \ 
features in
   "git config" file format, which incidentally teaches the command
   line completion to include them in its offerings.

 * Avoid "white/black-list" in documentation and code comments.

 * Workaround for a compiler warning against use of die() in
   osx-keychain (in contrib/).

 * Workaround for a false positive compiler warning.

 * "git p4" working on UTF-16 files on Windows did not implement
   CRLF-to-LF conversion correctly, which has been corrected.

 * "git p4" did not handle non-ASCII client name well, which has been
   corrected.

 * "rerere-train" script (in contrib/) used to honor commit.gpgSign
   while recreating the throw-away merges.

 * "git checkout" miscounted the paths it updated, which has been
   corrected.

 * Fix for a bug that makes write-tree to fail to write out a
   non-existent index as a tree, introduced in 2.37.

 * There was a bug in the codepath to upgrade generation information
   in commit-graph from v1 to v2 format, which has been corrected.

 * Gitweb had legacy URL shortener that is specific to the way
   projects hosted on kernel.org used to (but no longer) work, which
   has been removed.

 * Fix build procedure for Windows that uses CMake so that it can pick
   up the shell interpreter from local installation location.

 * Conditionally allow building Python interpreter on Windows

 * Fix to lstat() emulation on Windows.

 * Older gcc with -Wall complains about the universal zero initializer
   "struct s = { 0 };" idiom, which makes developers' lives
   inconvenient (as -Werror is enabled by DEVELOPER=YesPlease).  The
   build procedure has been tweaked to help these compilers.

 * Plug memory leaks in the failure code path in the "merge-ort" merge
   strategy backend.

 * "git symbolic-ref symref non..sen..se" is now diagnosed as an error.

 * A follow-up fix to a fix for a regression in 2.36 around hooks.

 * Avoid repeatedly running getconf to ask libc version in the test
   suite, and instead just as it once per script.

 * Platform-specific code that determines if a directory is OK to use
   as a repository has been taught to report more details, especially
   on Windows.

 * "vimdiff3" regression fix.

 * "git fsck" reads mode from tree objects but canonicalizes the mode
   before passing it to the logic to check object sanity, which has
   hid broken tree objects from the checking logic.  This has been
   corrected, but to help existing projects with broken tree objects
   that they cannot fix retroactively, the severity of anomalies this
   code detects has been demoted to "info" for now.

 * Fixes to sparse index compatibility work for "reset" and \ 
"checkout"
   commands.

 * An earlier optimization discarded a tree-object buffer that is
   still in use, which has been corrected.

 * Fix deadlocks between main Git process and subprocess spawned via
   the pipe_command() API, that can kill "git add -p" that was
   reimplemented in C recently.

 * The sequencer machinery translated messages left in the reflog by
   mistake, which has been corrected.

 * xcalloc(), imitating calloc(), takes "number of elements of the
   array", and "size of a single element", in this order.  A call that
   does not follow this ordering has been corrected.

 * The preload-index codepath made copies of pathspec to give to
   multiple threads, which were left leaked.

 * Update the version of Ubuntu used for GitHub Actions CI from 18.04
   to 22.04.

 * The auto-stashed local changes created by "git merge --autostash"
   was mixed into a conflicted state left in the working tree, which
   has been corrected.

 * Multi-pack index got corrupted when preferred pack changed from one
   pack to another in a certain way, which has been corrected.
   (merge 99e4d084ff tb/midx-with-changing-preferred-pack-fix later to maint).

 * The clean-up of temporary files created via mks_tempfile_dt() was
   racy and attempted to unlink() the leading directory when signals
   are involved, which has been corrected.
   (merge babe2e0559 rs/tempfile-cleanup-race-fix later to maint).

 * FreeBSD portability fix for "git maintenance" that spawns \ 
"crontab"
   to schedule tasks.
   (merge ee69e7884e bc/gc-crontab-fix later to maint).

 * Those who use diff-so-fancy as the diff-filter noticed a regression
   or two in the code that parses the diff output in the built-in
   version of "add -p", which has been corrected.
   (merge 0a101676e5 js/add-p-diff-parsing-fix later to maint).

 * Segfault fix-up to an earlier fix to the topic to teach "git reset"
   and "git checkout" work better in a sparse checkout.
   (merge 037f8ea6d9 vd/sparse-reset-checkout-fixes later to maint).

 * "git diff --no-index A B" managed its the pathnames of its two
   input files rather haphazardly, sometimes leaking them.  The
   command line argument processing has been straightened out to clean
   it up.
   (merge 2b43dd0eb5 rs/diff-no-index-cleanup later to maint).

 * "git rev-list --verify-objects" ought to inspect the contents of
   objects and notice corrupted ones, but it didn't when the commit
   graph is in use, which has been corrected.
   (merge b27ccae34b jk/rev-list-verify-objects-fix later to maint).

 * More fixes to "add -p"
   (merge 64ec8efb83 js/builtin-add-p-portability-fix later to maint).

 * The parser in the script interface to parse-options in "git
   rev-parse" has been updated to diagnose a bogus input correctly.
   (merge f20b9c36d0 ow/rev-parse-parseopt-fix later to maint).

 * The code that manages list-object-filter structure, used in partial
   clones, leaked the instances, which has been plugged.
   (merge 66eede4a37 jk/plug-list-object-filter-leaks later to maint).

 * Fix another UI regression in the reimplemented "add -p".
   (merge f6f0ee247f rs/add-p-worktree-mode-prompt-fix later to maint).

 * "git fetch" over protocol v2 sent an incorrect ref prefix request
   to the server and made "git pull" with configured fetch refspec
   that does not cover the remote branch to merge with fail, which has
   been corrected.
   (merge 49ca2fba39 jk/proto-v2-ref-prefix-fix later to maint).

 * A result from opendir() was leaking in the commit-graph expiration
   codepath, which has been plugged.
   (merge 12f1ae5324 ml/commit-graph-expire-dir-leak-fix later to maint).

 * Just like we have coding guidelines, we now have guidelines for
   reviewers.
   (merge e01b851923 vd/doc-reviewing-guidelines later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge 77b9e85c0f vd/fix-perf-tests later to maint).
   (merge 0682bc43f5 jk/test-crontab-fixes later to maint).
   (merge b46dd1726c cc/doc-trailer-whitespace-rules later to maint).
   2022-07-06 13:54:00 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
git: updated to 2.37.0

Git v2.37 Release Notes
=======================

UI, Workflows & Features

 * "vimdiff[123]" mergetool drivers have been reimplemented with a
   more generic layout mechanism.

 * "git -v" and "git -h" are now understood as "git \ 
--version" and
   "git --help".

 * The temporary files fed to external diff command are now generated
   inside a new temporary directory under the same basename.

 * "git log --since=X" will stop traversal upon seeing a commit that
   is older than X, but there may be commits behind it that is younger
   than X when the commit was created with a faulty clock.  A new
   option is added to keep digging without stopping, and instead
   filter out commits with timestamp older than X.

 * "git -c branch.autosetupmerge=simple branch $A $B" will set the $B
   as $A's upstream only when $A and $B shares the same name, and "git
   -c push.default=simple" on branch $A would push to update the
   branch $A at the remote $B came from.  Also more places use the
   sole remote, if exists, before defaulting to 'origin'.

 * A new doc has been added that lists tips for tools to work with
   Git's codebase.

 * "git remote -v" now shows the list-objects-filter used during
   fetching from the remote, if available.

 * With the new http.curloptResolve configuration, the CURLOPT_RESOLVE
   mechanism that allows cURL based applications to use pre-resolved
   IP addresses for the requests is exposed to the scripts.

 * "git add -i" was rewritten in C some time ago and has been in
   testing; the reimplementation is now exposed to general public by
   default.

 * Deprecate non-cone mode of the sparse-checkout feature.

 * Introduce a filesystem-dependent mechanism to optimize the way the
   bits for many loose object files are ensured to hit the disk
   platter.

 * The "do not remove the directory the user started Git in" logic,
   when Git cannot tell where that directory is, is disabled.  Earlier
   we refused to run in such a case.

 * A mechanism to pack unreachable objects into a "cruft pack",
   instead of ejecting them into loose form to be reclaimed later, has
   been introduced.

 * Update the doctype written in gitweb output to xhtml5.

 * The "transfer.credentialsInURL" configuration variable controls what
   happens when a URL with embedded login credential is used on either
   "fetch" or "push". Credentials are currently only detected in
   `remote.<name>.url` config, not `remote.<name>.pushurl`.

 * "git revert" learns "--reference" option to use more \ 
human-readable
   reference to the commit it reverts in the message template it
   prepares for the user.

 * Various error messages that talk about the removal of
   "--preserve-merges" in "rebase" have been strengthened, \ 
and "rebase
   --abort" learned to get out of a state that was left by an earlier
   use of the option.

Performance, Internal Implementation, Development Support etc.

 * The performance of the "untracked cache" feature has been improved
   when "--untracked-files=<mode>" and \ 
"status.showUntrackedFiles"
   are combined.

 * "git stash" works better with sparse index entries.

 * "git show :<path>" learned to work better with the sparse-index
   feature.

 * Introduce and apply coccinelle rule to discourage an explicit
   comparison between a pointer and NULL, and applies the clean-up to
   the maintenance track.

 * Preliminary code refactoring around transport and bundle code.

 * "sparse-checkout" learns to work better with the sparse-index
   feature.

 * A workflow change for translators are being proposed.  git.pot is
   no longer version controlled and it is local responsibility of
   translators to generate it.

 * Plug the memory leaks from the trickiest API of all, the revision
   walker.

 * Rename .env_array member to .env in the child_process structure.

  * The fsmonitor--daemon handles even more corner cases when
    watching filesystem events.

 * A new bug() and BUG_if_bug() API is introduced to make it easier to
   uniformly log "detect multiple bugs and abort in the end" pattern.

Fixes since v2.36
-----------------

 * "git submodule update" without pathspec should silently skip an
   uninitialized submodule, but it started to become noisy by mistake.
   (merge 4f1ccef87c gc/submodule-update-part2 later to maint).

 * "diff-tree --stdin" has been broken for about a year, but 2.36
   release broke it even worse by breaking running the command with
   <pathspec>, which in turn broke "gitk" and got noticed.  This has
   been corrected by aligning its behaviour to that of "log".
   (merge f8781bfda3 jc/diff-tree-stdin-fix later to maint).

 * Regression fix for 2.36 where "git name-rev" started to sometimes
   reference strings after they are freed.
   (merge 45a14f578e rs/name-rev-fix-free-after-use later to maint).

 * "git show <commit1> <commit2>... -- <pathspec>" \ 
lost the pathspec
   when showing the second and subsequent commits, which has been
   corrected.
   (merge 5cdb38458e jc/show-pathspec-fix later to maint).

 * "git fast-export -- <pathspec>" lost the pathspec when showing the
   second and subsequent commits, which has been corrected.
   (merge d1c25272f5 rs/fast-export-pathspec-fix later to maint).

 * "git format-patch <args> -- <pathspec>" lost the \ 
pathspec when
   showing the second and subsequent commits, which has been
   corrected.
   (merge 91f8f7e46f rs/format-patch-pathspec-fix later to maint).

 * "git clone --origin X" leaked piece of memory that held value read
   from the clone.defaultRemoteName configuration variable, which has
   been plugged.
   (merge 6dfadc8981 jc/clone-remote-name-leak-fix later to maint).

 * Get rid of a bogus and over-eager coccinelle rule.
   (merge 08bdd3a185 jc/cocci-xstrdup-or-null-fix later to maint).

 * The path taken by "git multi-pack-index" command from the end user
   was compared with path internally prepared by the tool without first
   normalizing, which lead to duplicated paths not being noticed,
   which has been corrected.
   (merge 11f9e8de3d ds/midx-normalize-pathname-before-comparison later to maint).

 * Correct choices of C compilers used in various CI jobs.
   (merge 3506cae04f ab/cc-package-fixes later to maint).

 * Various cleanups to "git p4".
   (merge 4ff0108d9e jh/p4-various-fixups later to maint).

 * The progress meter of "git blame" was showing incorrect numbers
   when processing only parts of the file.
   (merge e5f5d7d42e ea/progress-partial-blame later to maint).

 * "git rebase --keep-base <upstream> <branch-to-rebase>" \ 
computed the
   commit to rebase onto incorrectly, which has been corrected.
   (merge 9e5ebe9668 ah/rebase-keep-base-fix later to maint).

 * Fix a leak of FILE * in an error codepath.
   (merge c0befa0c03 kt/commit-graph-plug-fp-leak-on-error later to maint).

 * Avoid problems from interaction between malloc_check and address
   sanitizer.
   (merge 067109a5e7 pw/test-malloc-with-sanitize-address later to maint).

 * The commit summary shown after making a commit is matched to what
   is given in "git status" not to use the break-rewrite heuristics.
   (merge 84792322ed rs/commit-summary-wo-break-rewrite later to maint).

 * Update a few end-user facing messages around EOL conversion.
   (merge c970d30c2c ah/convert-warning-message later to maint).

 * Trace2 documentation updates.
   (merge a6c80c313c js/trace2-doc-fixes later to maint).

 * Build procedure fixup.
   (merge 1fbfd96f50 mg/detect-compiler-in-c-locale later to maint).

 * "git pull" without "--recurse-submodules=<arg>" made
   submodule.recurse take precedence over fetch.recurseSubmodules by
   mistake, which has been corrected.
   (merge 5819417365 gc/pull-recurse-submodules later to maint).

 * "git bisect" was too silent before it is ready to start computing
   the actual bisection, which has been corrected.
   (merge f11046e6de cd/bisect-messages-from-pre-flight-states later to maint).

 * macOS CI jobs have been occasionally flaky due to tentative version
   skew between perforce and the homebrew packager.  Instead of
   failing the whole CI job, just let it skip the p4 tests when this
   happens.
   (merge f15e00b463 cb/ci-make-p4-optional later to maint).

 * A bit of test framework fixes with a few fixes to issues found by
   valgrind.
   (merge 7c898554d7 ab/valgrind-fixes later to maint).

 * "git archive --add-file=<path>" picked up the raw permission bits
   from the path and propagated to zip output in some cases, without
   normalization, which has been corrected (tar output did not have
   this issue).
   (merge 6a61661967 jc/archive-add-file-normalize-mode later to maint).

 * "make coverage-report" without first running "make \ 
coverage" did
   not produce any meaningful result, which has been corrected.
   (merge 96ddfecc5b ep/coverage-report-wants-test-to-have-run later to maint).

 * The "--current" option of "git show-branch" should have \ 
been made
   incompatible with the "--reflog" mode, but this was not enforced,
   which has been corrected.
   (merge 41c64ae0e7 jc/show-branch-g-current later to maint).

 * "git fetch" unnecessarily failed when an unexpected optional
   section appeared in the output, which has been corrected.
   (merge 7709acf7be jt/fetch-peek-optional-section later to maint).

 * The way "git fetch" without "--update-head-ok" ensures \ 
that HEAD in
   no worktree points at any ref being updated was too wasteful, which
   has been optimized a bit.
   (merge f7400da800 os/fetch-check-not-current-branch later to maint).

 * "git fetch --recurse-submodules" from multiple remotes (either from
   a remote group, or "--all") used to make one extra "git \ 
fetch" in
   the submodules, which has been corrected.
   (merge 0353c68818 jc/avoid-redundant-submodule-fetch later to maint).

 * With a recent update to refuse access to repositories of other
   people by default, "sudo make install" and "sudo git describe"
   stopped working, which has been corrected.
   (merge 6b11e3d52e cb/path-owner-check-with-sudo-plus later to maint).

 * The tests that ensured merges stop when interfering local changes
   are present did not make sure that local changes are preserved; now
   they do.
   (merge 4b317450ce jc/t6424-failing-merge-preserve-local-changes later to maint).

 * Some real problems noticed by gcc 12 have been fixed, while false
   positives have been worked around.

 * Update the version of FreeBSD image used in Cirrus CI.
   (merge c58bebd4c6 pb/use-freebsd-12.3-in-cirrus-ci later to maint).

 * The multi-pack-index code did not protect the packfile it is going
   to depend on from getting removed while in use, which has been
   corrected.
   (merge 4090511e40 tb/midx-race-in-pack-objects later to maint).

 * Teach "git repack --geometric" work better with \ 
"--keep-pack" and
   avoid corrupting the repository when packsize limit is used.
   (merge 66731ff921 tb/geom-repack-with-keep-and-max later to maint).

 * The documentation on the interaction between "--add-file" and
   "--prefix" options of "git archive" has been improved.
   (merge a75910602a rs/document-archive-prefix later to maint).

 * A git subcommand like "git add -p" spawns a separate git process
   while relaying its command line arguments.  A pathspec with only
   negative elements was mistakenly passed with an empty string, which
   has been corrected.
   (merge b02fdbc80a jc/all-negative-pathspec later to maint).

 * With a more targeted workaround in http.c in another topic, we may
   be able to lift this blanket "GCC12 dangling-pointer warning is
   broken and unsalvageable" workaround.
   (merge 419141e495 cb/buggy-gcc-12-workaround later to maint).

 * A misconfigured 'branch..remote' led to a bug in configuration
   parsing.
   (merge f1dfbd9ee0 gc/zero-length-branch-config-fix later to maint).

 * "git -c diff.submodule=log range-diff" did not show anything for
   submodules that changed in the ranges being compared, and
   "git -c diff.submodule=diff range-diff" did not work correctly.
   Fix this by including the "--submodule=short" output
   unconditionally to be compared.

 * In Git 2.36 we revamped the way how hooks are invoked.  One change
   that is end-user visible is that the output of a hook is no longer
   directly connected to the standard output of "git" that spawns the
   hook, which was noticed post release.  This is getting corrected.
   (merge a082345372 ab/hooks-regression-fix later to maint).

 * Updating the graft information invalidates the list of parents of
   in-core commit objects that used to be in the graft file.

 * "git show-ref --heads" (and "--tags") still iterated over \ 
all the
   refs only to discard refs outside the specified area, which has
   been corrected.
   (merge c0c9d35e27 tb/show-ref-optim later to maint).

 * Remove redundant copying (with index v3 and older) or possible
   over-reading beyond end of mmapped memory (with index v4) has been
   corrected.
   (merge 6d858341d2 zh/read-cache-copy-name-entry-fix later to maint).

 * Sample watchman interface hook sometimes failed to produce
   correctly formatted JSON message, which has been corrected.
   (merge 134047b500 sn/fsmonitor-missing-clock later to maint).

 * Use-after-free (with another forget-to-free) fix.
   (merge 323822c72b ab/remote-free-fix later to maint).

 * Remove a coccinelle rule that is no longer relevant.
   (merge b1299de4a1 jc/cocci-cleanup later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge e6b2582da3 cm/reftable-0-length-memset later to maint).
   (merge 0b75e5bf22 ab/misc-cleanup later to maint).
   (merge 52e1ab8a76 ea/rebase-code-simplify later to maint).
   (merge 756d15923b sg/safe-directory-tests-and-docs later to maint).
   (merge d097a23bfa ds/do-not-call-bug-on-bad-refs later to maint).
   (merge c36c27e75c rs/t7812-pcre2-ws-bug-test later to maint).
   (merge 1da312742d gf/unused-includes later to maint).
   (merge 465b30a92d pb/submodule-recurse-mode-enum later to maint).
   (merge 82b28c4ed8 km/t3501-use-test-helpers later to maint).
   (merge 72315e431b sa/t1011-use-helpers later to maint).
   (merge 95b3002201 cg/vscode-with-gdb later to maint).
   (merge fbe5f6b804 tk/p4-utf8-bom later to maint).
   (merge 17f273ffba tk/p4-with-explicity-sync later to maint).
   (merge 944db25c60 kf/p4-multiple-remotes later to maint).
   (merge b014cee8de jc/update-ozlabs-url later to maint).
   (merge 4ec5008062 pb/ggg-in-mfc-doc later to maint).
   (merge af845a604d tb/receive-pack-code-cleanup later to maint).
   (merge 2acf4cf001 js/ci-gcc-12-fixes later to maint).
   (merge 05e280c0a6 jc/http-clear-finished-pointer later to maint).
   (merge 8c49d704ef fh/transport-push-leakfix later to maint).
   (merge 1d232d38bd tl/ls-tree-oid-only later to maint).
   (merge db7961e6a6 gc/document-config-worktree-scope later to maint).
   (merge ce18a30bb7 fs/ssh-default-key-command-doc later to maint).
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2021-06-13 20:36:32 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
git: updated to 2.32.0

Git 2.32 Release Notes
======================

Backward compatibility notes
----------------------------

 * ".gitattributes", ".gitignore", and ".mailmap" \ 
files that are
   symbolic links are ignored.

 * "git apply --3way" used to first attempt a straight application,
   and only fell back to the 3-way merge algorithm when the stright
   application failed.  Starting with this version, the command will
   first try the 3-way merge algorithm and only when it fails (either
   resulting with conflict or the base versions of blobs are missing),
   falls back to the usual patch application.

Updates since v2.31
-------------------

UI, Workflows & Features

 * It does not make sense to make ".gitattributes", \ 
".gitignore" and
   ".mailmap" symlinks, as they are supposed to be usable from the
   object store (think: bare repositories where HEAD:.mailmap etc. are
   used).  When these files are symbolic links, we used to read the
   contents of the files pointed by them by mistake, which has been
   corrected.

 * "git stash show" learned to optionally show untracked part of the
   stash.

 * "git log --format='...'" learned "%(describe)" placeholder.

 * "git repack" so far has been only capable of repacking everything
   under the sun into a single pack (or split by size).  A cleverer
   strategy to reduce the cost of repacking a repository has been
   introduced.

 * The http codepath learned to let the credential layer to cache the
   password used to unlock a certificate that has successfully been
   used.

 * "git commit --fixup=<commit>", which was to tweak the changes made
   to the contents while keeping the original log message intact,
   learned "--fixup=(amend|reword):<commit>", that can be used to
   tweak both the message and the contents, and only the message,
   respectively.

 * "git send-email" learned to honor the core.hooksPath configuration.

 * "git format-patch -v<n>" learned to allow a reroll count that is
   not an integer.

 * "git commit" learned "--trailer \ 
<key>[=<value>]" option; together
   with the interpret-trailers command, this will make it easier to
   support custom trailers.

 * "git clone --reject-shallow" option fails the clone as soon as we
   notice that we are cloning from a shallow repository.

 * A configuration variable has been added to force tips of certain
   refs to be given a reachability bitmap.

 * "gitweb" learned "e-mail privacy" feature to redact \ 
strings that
   look like e-mail addresses on various pages.

 * "git apply --3way" has always been "to fall back to 3-way merge
   only when straight application fails". Swap the order of falling
   back so that 3-way is always attempted first (only when the option
   is given, of course) and then straight patch application is used as
   a fallback when it fails.

 * "git apply" now takes "--3way" and "--cached" \ 
at the same time, and
   work and record results only in the index.

 * The command line completion (in contrib/) has learned that
   CHERRY_PICK_HEAD is a possible pseudo-ref.

 * Userdiff patterns for "Scheme" has been added.

 * "git log" learned "--diff-merges=<style>" option, \ 
with an
   associated configuration variable log.diffMerges.

 * "git log --format=..." placeholders learned %ah/%ch placeholders to
   request the --date=human output.

 * Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
   system-wide configuration file with GIT_CONFIG_SYSTEM that lets
   users specify from which file to read the system-wide configuration
   (setting it to an empty file would essentially be the same as
   setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
   per-user configuration in $HOME/.gitconfig.

 * "git add" and "git rm" learned not to touch those paths \ 
that are
   outside of sparse checkout.

 * "git rev-list" learns the \ 
"--filter=object:type=<type>" option,
   which can be used to exclude objects of the given kind from the
   packfile generated by pack-objects.

 * The command line completion (in contrib/) for "git stash" has been
   updated.

 * "git subtree" updates.

 * It is now documented that "format-patch" skips merges.

 * Options to "git pack-objects" that take numeric values like
   --window and --depth should not accept negative values; the input
   validation has been tightened.

 * The way the command line specified by the trailer.<token>.command
   configuration variable receives the end-user supplied value was
   both error prone and misleading.  An alternative to achieve the
   same goal in a safer and more intuitive way has been added, as
   the trailer.<token>.cmd configuration variable, to replace it.

 * "git add -i --dry-run" does not dry-run, which was surprising.  The
   combination of options has taught to error out.

 * "git push" learns to discover common ancestor with the receiving
   end over protocol v2.  This will hopefully make "git push" as
   efficient as "git fetch" in avoiding objects from getting
   transferred unnecessarily.

 * "git mailinfo" (hence "git am") learned the \ 
"--quoted-cr" option to
   control how lines ending with CRLF wrapped in base64 or qp are
   handled.

Performance, Internal Implementation, Development Support etc.

 * Rename detection rework continues.

 * GIT_TEST_FAIL_PREREQS is a mechanism to skip test pieces with
   prerequisites to catch broken tests that depend on the side effects
   of optional pieces, but did not work at all when negative
   prerequisites were involved.
   (merge 27d578d904 jk/fail-prereq-testfix later to maint).

 * "git diff-index" codepath has been taught to trust fsmonitor status
   to reduce number of lstat() calls.
   (merge 7e5aa13d2c nk/diff-index-fsmonitor later to maint).

 * Reorganize Makefile to allow building git.o and other essential
   objects without extra stuff needed only for testing.

 * Preparatory API changes for parallel checkout.

 * A simple IPC interface gets introduced to build services like
   fsmonitor on top.

 * Fsck API clean-up.

 * SECURITY.md that is facing individual contributors and end users
   has been introduced.  Also a procedure to follow when preparing
   embargoed releases has been spelled out.
   (merge 09420b7648 js/security-md later to maint).

 * Optimize "rev-list --use-bitmap-index --objects" corner case that
   uses negative tags as the stopping points.

 * CMake update for vsbuild.

 * An on-disk reverse-index to map the in-pack location of an object
   back to its object name across multiple packfiles is introduced.

 * Generate [ec]tags under $(QUIET_GEN).

 * Clean-up codepaths that implements "git send-email --validate"
   option and improves the message from it.

 * The last remnant of gettext-poison has been removed.

 * The test framework has been taught to optionally turn the default
   merge strategy to "ort" throughout the system where we use
   three-way merges internally, like cherry-pick, rebase etc.,
   primarily to enhance its test coverage (the strategy has been
   available as an explicit "-s ort" choice).

 * A bit of code clean-up and a lot of test clean-up around userdiff
   area.

 * Handling of "promisor packs" that allows certain objects to be
   missing and lazily retrievable has been optimized (a bit).

 * When packet_write() fails, we gave an extra error message
   unnecessarily, which has been corrected.

 * The checkout machinery has been taught to perform the actual
   write-out of the files in parallel when able.

 * Show errno in the trace output in the error codepath that calls
   read_raw_ref method.

 * Effort to make the command line completion (in contrib/) safe with
   "set -u" continues.

 * Tweak a few tests for "log --format=..." that show timestamps in
   various formats.

 * The reflog expiry machinery has been taught to emit trace events.

 * Over-the-wire protocol learns a new request type to ask for object
   sizes given a list of object names.

Fixes since v2.31
-----------------

 * The fsmonitor interface read from its input without making sure
   there is something to read from.  This bug is new in 2.31
   timeframe.

 * The data structure used by fsmonitor interface was not properly
   duplicated during an in-core merge, leading to use-after-free etc.

 * "git bisect" reimplemented more in C during 2.30 timeframe did not
   take an annotated tag as a good/bad endpoint well.  This regression
   has been corrected.

 * Fix macros that can silently inject unintended null-statements.

 * CALLOC_ARRAY() macro replaces many uses of xcalloc().

 * Update insn in Makefile comments to run fuzz-all target.

 * Fix a corner case bug in "git mv" on case insensitive systems,
   which was introduced in 2.29 timeframe.

 * We had a code to diagnose and die cleanly when a required
   clean/smudge filter is missing, but an assert before that
   unnecessarily fired, hiding the end-user facing die() message.
   (merge 6fab35f748 mt/cleanly-die-upon-missing-required-filter later to maint).

 * Update C code that sets a few configuration variables when a remote
   is configured so that it spells configuration variable names in the
   canonical camelCase.
   (merge 0f1da600e6 ab/remote-write-config-in-camel-case later to maint).

 * A new configuration variable has been introduced to allow choosing
   which version of the generation number gets used in the
   commit-graph file.
   (merge 702110aac6 ds/commit-graph-generation-config later to maint).

 * Perf test update to work better in secondary worktrees.
   (merge 36e834abc1 jk/perf-in-worktrees later to maint).

 * Updates to memory allocation code around the use of pcre2 library.
   (merge c1760352e0 ab/grep-pcre2-allocfix later to maint).

 * "git -c core.bare=false clone --bare ..." would have segfaulted,
   which has been corrected.
   (merge 75555676ad bc/clone-bare-with-conflicting-config later to maint).

 * When "git checkout" removes a path that does not exist in the
   commit it is checking out, it wasn't careful enough not to follow
   symbolic links, which has been corrected.
   (merge fab78a0c3d mt/checkout-remove-nofollow later to maint).

 * A few option description strings started with capital letters,
   which were corrected.
   (merge 5ee90326dc cc/downcase-opt-help later to maint).

 * Plug or annotate remaining leaks that trigger while running the
   very basic set of tests.
   (merge 68ffe095a2 ah/plugleaks later to maint).

 * The hashwrite() API uses a buffering mechanism to avoid calling
   write(2) too frequently. This logic has been refactored to be
   easier to understand.
   (merge ddaf1f62e3 ds/clarify-hashwrite later to maint).

 * "git cherry-pick/revert" with or without "--[no-]edit" \ 
did not spawn
   the editor as expected (e.g. "revert --no-edit" after a conflict
   still asked to edit the message), which has been corrected.
   (merge 39edfd5cbc en/sequencer-edit-upon-conflict-fix later to maint).

 * "git daemon" has been tightened against systems that take backslash
   as directory separator.
   (merge 9a7f1ce8b7 rs/daemon-sanitize-dir-sep later to maint).

 * A NULL-dereference bug has been corrected in an error codepath in
   "git for-each-ref", "git branch --list" etc.
   (merge c685450880 jk/ref-filter-segfault-fix later to maint).

 * Streamline the codepath to fix the UTF-8 encoding issues in the
   argv[] and the prefix on macOS.
   (merge c7d0e61016 tb/precompose-prefix-simplify later to maint).

 * The command-line completion script (in contrib/) had a couple of
   references that would have given a warning under the "-u" (nounset)
   option.
   (merge c5c0548d79 vs/completion-with-set-u later to maint).

 * When "git pack-objects" makes a literal copy of a part of existing
   packfile using the reachability bitmaps, its update to the progress
   meter was broken.
   (merge 8e118e8490 jk/pack-objects-bitmap-progress-fix later to maint).

 * The dependencies for config-list.h and command-list.h were broken
   when the former was split out of the latter, which has been
   corrected.
   (merge 56550ea718 sg/bugreport-fixes later to maint).

 * "git push --quiet --set-upstream" was not quiet when setting the
   upstream branch configuration, which has been corrected.
   (merge f3cce896a8 ow/push-quiet-set-upstream later to maint).

 * The prefetch task in "git maintenance" assumed that "git \ 
fetch"
   from any remote would fetch all its local branches, which would
   fetch too much if the user is interested in only a subset of
   branches there.
   (merge 32f67888d8 ds/maintenance-prefetch-fix later to maint).

 * Clarify that pathnames recorded in Git trees are most often (but
   not necessarily) encoded in UTF-8.
   (merge 9364bf465d ab/pathname-encoding-doc later to maint).

 * "git --config-env var=val cmd" weren't accepted (only
   --config-env=var=val was).
   (merge c331551ccf ps/config-env-option-with-separate-value later to maint).

 * When the reachability bitmap is in effect, the "do not lose
   recently created objects and those that are reachable from them"
   safety to protect us from races were disabled by mistake, which has
   been corrected.
   (merge 2ba582ba4c jk/prune-with-bitmap-fix later to maint).

 * Cygwin pathname handling fix.
   (merge bccc37fdc7 ad/cygwin-no-backslashes-in-paths later to maint).

 * "git rebase --[no-]reschedule-failed-exec" did not work well with
   its configuration variable, which has been corrected.
   (merge e5b32bffd1 ab/rebase-no-reschedule-failed-exec later to maint).

 * Portability fix for command line completion script (in contrib/).
   (merge f2acf763e2 si/zsh-complete-comment-fix later to maint).

 * "git repack -A -d" in a partial clone unnecessarily loosened
   objects in promisor pack.

 * "git bisect skip" when custom words are used for new/old did not
   work, which has been corrected.

 * A few variants of informational message "Already up-to-date" has
   been rephrased.
   (merge ad9322da03 js/merge-already-up-to-date-message-reword later to maint).

 * "git submodule update --quiet" did not propagate the quiet option
   down to underlying "git fetch", which has been corrected.
   (merge 62af4bdd42 nc/submodule-update-quiet later to maint).

 * Document that our test can use "local" keyword.
   (merge a84fd3bcc6 jc/test-allows-local later to maint).

 * The word-diff mode has been taught to work better with a word
   regexp that can match an empty string.
   (merge 0324e8fc6b pw/word-diff-zero-width-matches later to maint).

 * "git p4" learned to find branch points more efficiently.
   (merge 6b79818bfb jk/p4-locate-branch-point-optim later to maint).

 * When "git update-ref -d" removes a ref that is packed, it left
   empty directories under $GIT_DIR/refs/ for
   (merge 5f03e5126d wc/packed-ref-removal-cleanup later to maint).

 * "git clean" and "git ls-files -i" had confusion around \ 
working on
   or showing ignored paths inside an ignored directory, which has
   been corrected.
   (merge b548f0f156 en/dir-traversal later to maint).

 * The handling of "%(push)" formatting element of \ 
"for-each-ref" and
   friends was broken when the same codepath started handling
   "%(push:<what>)", which has been corrected.
   (merge 1e1c4c5eac zh/ref-filter-push-remote-fix later to maint).

 * The bash prompt script (in contrib/) did not work under "set -u".
   (merge 5c0cbdb107 en/prompt-under-set-u later to maint).

 * The "chainlint" feature in the test framework is a handy way to
   catch common mistakes in writing new tests, but tends to get
   expensive.  An knob to selectively disable it has been introduced
   to help running tests that the developer has not modified.
   (merge 2d86a96220 jk/test-chainlint-softer later to maint).

 * The "rev-parse" command did not diagnose the lack of argument to
   "--path-format" option, which was introduced in v2.31 era, which
   has been corrected.
   (merge 99fc555188 wm/rev-parse-path-format-wo-arg later to maint).

 * Other code cleanup, docfix, build fix, etc.
   (merge f451960708 dl/cat-file-doc-cleanup later to maint).
   (merge 12604a8d0c sv/t9801-test-path-is-file-cleanup later to maint).
   (merge ea7e63921c jr/doc-ignore-typofix later to maint).
   (merge 23c781f173 ps/update-ref-trans-hook-doc later to maint).
   (merge 42efa1231a jk/filter-branch-sha256 later to maint).
   (merge 4c8e3dca6e tb/push-simple-uses-branch-merge-config later to maint).
   (merge 6534d436a2 bs/asciidoctor-installation-hints later to maint).
   (merge 47957485b3 ab/read-tree later to maint).
   (merge 2be927f3d1 ab/diff-no-index-tests later to maint).
   (merge 76593c09bb ab/detox-gettext-tests later to maint).
   (merge 28e29ee38b jc/doc-format-patch-clarify later to maint).
   (merge fc12b6fdde fm/user-manual-use-preface later to maint).
   (merge dba94e3a85 cc/test-helper-bloom-usage-fix later to maint).
   (merge 61a7660516 hn/reftable-tables-doc-update later to maint).
   (merge 81ed96a9b2 jt/fetch-pack-request-fix later to maint).
   (merge 151b6c2dd7 jc/doc-do-not-capitalize-clarification later to maint).
   (merge 9160068ac6 js/access-nul-emulation-on-windows later to maint).
   (merge 7a14acdbe6 po/diff-patch-doc later to maint).
   (merge f91371b948 pw/patience-diff-clean-up later to maint).
   (merge 3a7f0908b6 mt/clean-clean later to maint).
   (merge d4e2d15a8b ab/streaming-simplify later to maint).
   (merge 0e59f7ad67 ah/merge-ort-i18n later to maint).
   (merge e6f68f62e0 ls/typofix later to maint).
   2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575)
Log message:
*: recursive bump for perl 5.34
   2021-01-11 11:20:49 by Adam Ciarcinski | Files touched by this commit (1) | Package updated
Log message:
gitweb: reset revision for git 2.30.0 update
   2020-08-31 20:13:29 by Thomas Klausner | Files touched by this commit (3631)
Log message:
*: bump PKGREVISION for perl-5.32.