mirror of
https://github.com/git/git
synced 2024-10-30 14:03:28 +00:00
7580f92ffa
Signed-off-by: Junio C Hamano <gitster@pobox.com>
258 lines
11 KiB
Text
258 lines
11 KiB
Text
Git v2.41 Release Notes
|
|
=======================
|
|
|
|
UI, Workflows & Features
|
|
|
|
* Allow information carried on the WWW-AUthenticate header to be
|
|
passed to the credential helpers.
|
|
|
|
* A new "fetch.hideRefs" option can be used to exclude specified refs
|
|
from "rev-list --objects --stdin --not --all" traversal for
|
|
checking object connectivity, most useful when there are many
|
|
unrelated histories in a single repository.
|
|
|
|
* "git push" has been taught to allow deletion of refs with one-level
|
|
names to help repairing a repository who acquired such a ref by
|
|
mistake. In general, we don't encourage use of such a ref, and
|
|
creation or update to such a ref is rejected as before.
|
|
|
|
* Allow "git bisect reset" to check out the original branch when the
|
|
branch is already checked out in a different worktree linked to the
|
|
same repository.
|
|
|
|
* A few subcommands have been taught to stop users from working on a
|
|
branch that is being used in another worktree linked to the same
|
|
repository.
|
|
|
|
* "git format-patch" learned to write a log-message only output file
|
|
for empty commits.
|
|
|
|
* "git format-patch" honors the src/dst prefixes set to nonstandard
|
|
values with configuration variables like "diff.noprefix", causing
|
|
receiving end of the patch that expects the standard -p1 format to
|
|
break. "format-patch" has been taught to ignore end-user configuration
|
|
and always use the standard prefixes.
|
|
|
|
This is a backward compatibility breaking change.
|
|
|
|
* Lift the limitation that colored prompts can only be used with
|
|
PROMPT_COMMAND mode.
|
|
|
|
* "git blame --contents=<file> <rev> -- <path>" used to be forbidden,
|
|
but now it finds the origins of lines starting at <file> contents
|
|
through the history that leads to <rev>.
|
|
|
|
* "git pack-redundant" gave a warning when run, as the command has
|
|
outlived its usefulness long ago and is nominated for future
|
|
removal. Now we escalate to give an error.
|
|
|
|
* "git clone" from an empty repository learned to propagate the
|
|
choice of the hash algorithm from the source repository to the
|
|
newly created repository.
|
|
|
|
* "git mergetool" and "git difftool" learns a new configuration
|
|
guiDefault to optionally favor configured guitool over non-gui-tool
|
|
automatically when $DISPLAY is set.
|
|
|
|
* "git branch -d origin/master" would say "no such branch", but it is
|
|
likely a missed "-r" if refs/remotes/origin/master exists. The
|
|
command has been taught to give such a hint in its error message.
|
|
|
|
* Clean-up of the code path that deals with merge strategy option
|
|
handling in "git rebase".
|
|
|
|
* "git clone --local" stops copying from an original repository that
|
|
has symbolic links inside its $GIT_DIR; an error message when that
|
|
happens has been updated.
|
|
|
|
* "git branch --format=..." and "git format-patch --format=..."
|
|
learns "--omit-empty" to hide refs that whose formatting result
|
|
becomes an empty string from the output.
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
|
|
* Code clean-up to clarify directory traversal API.
|
|
|
|
* Code clean-up to clarify the rule that "git-compat-util.h" must be
|
|
the first to be included.
|
|
|
|
* More work towards -Wunused.
|
|
|
|
* Instead of forcing each command to choose to honor GPG related
|
|
configuration variables, make the subsystem lazily initialize
|
|
itself.
|
|
|
|
* Remove workaround for ancient versions of DocBook to make it work
|
|
correctly with groff, which has not been necessary since docbook
|
|
1.76 from 2010.
|
|
|
|
* Code clean-up to include and/or uninclude parse-options.h file as
|
|
needed.
|
|
|
|
* The code path that reports what "git fetch" did to each ref has
|
|
been cleaned up.
|
|
|
|
* Assorted config API updates.
|
|
|
|
* A few configuration variables to tell the cURL library that
|
|
different types of ssl-cert and ssl-key are in use have been added.
|
|
|
|
* Split key function and data structure definitions out of cache.h to
|
|
new header files and adjust the users.
|
|
|
|
* "git fetch --all" does not have to download and handle the same
|
|
bundleURI over and over, which has been corrected.
|
|
|
|
* "git sparse-checkout" command learns a debugging aid for the sparse
|
|
rule definitions.
|
|
|
|
* "git write-tree" learns to work better with sparse-index.
|
|
|
|
|
|
|
|
Fixes since v2.40
|
|
-----------------
|
|
|
|
* "git fsck" learned to check the index files in other worktrees,
|
|
just like "git gc" honors them as anchoring points.
|
|
(merge 8d3e7eac52 jk/fsck-indices-in-worktrees later to maint).
|
|
|
|
* Fix a segfaulting loop. The function and its caller may need
|
|
further clean-up.
|
|
(merge c5773dc078 ew/commit-reach-clean-up-flags-fix later to maint).
|
|
|
|
* "git restore" supports options like "--ours" that are only
|
|
meaningful during a conflicted merge, but these options are only
|
|
meaningful when updating the working tree files. These options are
|
|
marked to be incompatible when both "--staged" and "--worktree" are
|
|
in effect.
|
|
(merge ee8a88826a ak/restore-both-incompatible-with-conflicts later to maint).
|
|
|
|
* Simplify UI to control progress meter given by "git bundle" command.
|
|
(merge 8b95521edb jk/bundle-progress later to maint).
|
|
|
|
* "git bundle" learned that "-" is a common way to say that the input
|
|
comes from the standard input and/or the output goes to the
|
|
standard output. It used to work only for output and only from the
|
|
root level of the working tree.
|
|
(merge 0bbe10313e jk/bundle-use-dash-for-stdfiles later to maint).
|
|
|
|
* Once we start running, we assumed that the list of alternate object
|
|
databases would never change. Hook into the machinery used to
|
|
update the list of packfiles during runtime to update this list as
|
|
well.
|
|
(merge e2d003dbed ds/reprepare-alternates-when-repreparing-packfiles later to maint).
|
|
|
|
* The code to parse "git rebase -X<opt>" was not prepared to see an
|
|
unparsable option string, which has been corrected.
|
|
(merge 15a4cc912e ab/fix-strategy-opts-parsing later to maint).
|
|
|
|
* "git add -p" while the index is unmerged sometimes failed to parse
|
|
the diff output it internally produces and died, which has been
|
|
corrected.
|
|
(merge 28d1122f9c jk/add-p-unmerged-fix later to maint).
|
|
|
|
* Fix for a "ls-files --format="%(path)" that produced nonsense
|
|
output, which was a bug in 2.38.
|
|
(merge cfb62dd006 aj/ls-files-format-fix later to maint).
|
|
|
|
* "git receive-pack" that responds to "git push" requests failed to
|
|
clean a stale lockfile when killed in the middle, which has been
|
|
corrected.
|
|
(merge c55c30669c ps/receive-pack-unlock-before-die later to maint).
|
|
|
|
* "git rev-parse --quiet foo@{u}", or anything that asks @{u} to be
|
|
parsed with GET_OID_QUIETLY option, did not quietly fail, which has
|
|
been corrected.
|
|
(merge dfbfdc521d fc/oid-quietly-parse-upstream later to maint).
|
|
|
|
* Transports that do not support protocol v2 did not correctly fall
|
|
back to protocol v0 under certain conditions, which has been
|
|
corrected.
|
|
(merge eaa0fd6584 jk/fix-proto-downgrade-to-v0 later to maint).
|
|
|
|
* time(2) on glib 2.31+, especially on Linux, goes out of sync with
|
|
higher resolution timers used for gettimeofday(2) and by the
|
|
filesystem. Replace all calls to it with a git_time() wrapper and
|
|
(merge 370ddcbc89 pe/time-use-gettimeofday later to maint).
|
|
|
|
* Code clean-up to use designated initializers in parse-options API.
|
|
(merge 353e6d4554 sg/parse-options-h-initializers later to maint).
|
|
|
|
* A recent-ish change to allow unicode character classes to be used
|
|
with "grep -P" triggered a JIT bug in older pcre2 libraries.
|
|
The problematic change in Git built with these older libraries has
|
|
been disabled to work around the bug.
|
|
(merge 14b9a04479 mk/workaround-pcre-jit-ucp-bug later to maint).
|
|
|
|
* The wildmatch library code unlearns exponential behaviour it
|
|
acquired some time ago since it was borrowed from rsync.
|
|
(merge 3dc0b7f0dc pw/wildmatch-fixes later to maint).
|
|
|
|
* The index files can become corrupt under certain conditions when
|
|
the split-index feature is in use, especially together with
|
|
fsmonitor, which have been corrected.
|
|
(merge 061dd722dc js/split-index-fixes later to maint).
|
|
|
|
* Document what the pathname-looking strings in "rev-list --object"
|
|
output are for and what they mean.
|
|
(merge 15364d2a3c jk/document-rev-list-object-name later to maint).
|
|
|
|
* Fix unnecessary truncation of generation numbers used in-core.
|
|
(merge d3af1c193d ps/ahead-behind-truncation-fix later to maint).
|
|
|
|
* Code clean-up around the use of the_repository.
|
|
(merge 4a93b899c1 ab/remove-implicit-use-of-the-repository later to maint).
|
|
|
|
* Consistently spell "Message-ID" as such, not "Message-Id".
|
|
(merge ba4324c4e1 jc/spell-id-in-both-caps-in-message-id later to maint).
|
|
|
|
* Correct use of an uninitialized structure member.
|
|
(merge dc12ee77ab jx/cap-object-info-uninitialized-fix later to maint).
|
|
|
|
* Tests had a few places where we ignored PERL_PATH and blindly used
|
|
/usr/bin/perl, which have been corrected.
|
|
(merge c1917156a0 jk/use-perl-path-consistently later to maint).
|
|
|
|
* Documentation mark-up fix.
|
|
(merge 78b6369e67 la/mfc-markup-fix later to maint).
|
|
|
|
* Doc toolchain update to remove old workaround for AsciiDoc.
|
|
(merge 8806120de6 fc/remove-header-workarounds-for-asciidoc later to maint).
|
|
|
|
* The userdiff regexp patterns for various filetypes that are built
|
|
into the system have been updated to avoid triggering regexp errors
|
|
from UTF-8 aware regex engines.
|
|
(merge be39144954 rs/userdiff-multibyte-regex later to maint).
|
|
|
|
* The approxidate() API has been simplified by losing an extra
|
|
function that did the same thing as another one.
|
|
(merge 8a7f0b666f rs/remove-approxidate-relative later to maint).
|
|
|
|
* Code clean-up to replace a hardcoded constant with a CPP macro.
|
|
(merge c870de6502 rs/get-tar-commit-id-use-defined-const later to maint).
|
|
|
|
* Doc build simplification.
|
|
(merge 9a09ed3229 fc/doc-stop-using-manversion later to maint).
|
|
|
|
* "git archive" run from a subdirectory mishandled attributes and
|
|
paths outside the current directory.
|
|
(merge 92b1dd1b9e rs/archive-from-subdirectory-fixes later to maint).
|
|
|
|
* Other code cleanup, docfix, build fix, etc.
|
|
(merge f7111175df as/doc-markup-fix later to maint).
|
|
(merge 90ff7c9898 fc/test-aggregation-clean-up later to maint).
|
|
(merge 9b0c7f308a jc/am-doc-refer-to-format-patch later to maint).
|
|
(merge b10cbdac4c bb/unicode-width-table-15 later to maint).
|
|
(merge 3457b50e8c ab/retire-scripted-add-p later to maint).
|
|
(merge d52fcf493b ds/p2000-fix-grep-sparse later to maint).
|
|
(merge ec063d2591 ss/hashmap-typofix later to maint).
|
|
(merge 1aaed69d11 rs/archive-mtime later to maint).
|
|
(merge 2da2cc9b28 ob/rollback-after-commit-lock-failure later to maint).
|
|
(merge 54dbd0933b ob/sequencer-save-head-simplify later to maint).
|
|
(merge a93cbe8d78 ar/test-cleanup-unused-file-creation later to maint).
|
|
(merge cc48ddd937 jk/chainlint-fixes later to maint).
|
|
(merge 4833b08426 ow/ref-format-remove-unused-member later to maint).
|
|
(merge d0ea2ca1cf dw/doc-submittingpatches-grammofix later to maint).
|
|
(merge fd72637423 ar/t2024-checkout-output-fix later to maint).
|