En

Git官网普通更新(2022-01-24)

来源:Git官网 发布日期:2022-01-24 阅读次数:2703 评论:0

基本信息

发布日期:2022-01-24(官方当地时间)

更新类型:普通更新

更新版本:Git v2.35.0

感知时间:2022-01-25 04:00:06

风险等级:未知

情报贡献:TSRC

更新标题

[ANNOUNCE] Git v2.35.0

更新详情

From: Junio C Hamano
To: git@vger.kernel.org
Cc: git-packagers@googlegroups.com
Subject: [ANNOUNCE] Git v2.35.0
Date: Mon, 24 Jan 2022 11:25:08 -0800 [thread overview]
Message-ID: (raw)

The latest feature release Git v2.35.0 is now available at the
usual places. It is comprised of 494 non-merge commits since
v2.34.0, contributed by 93 people, 35 of which are new faces [*].

The tarballs are found at:

https://www.kernel.org/pub/software/scm/git/

The following public repositories all have a copy of the 'v2.35.0'
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.34.0 are as follows.
Welcome to the Git development community!

AJ Henderson, Alex Waite, Baruch Burstein, Calbabreaker, Calvin
Wan, Christoph Reiter, Clemens Fruhwirth, Danial Alihosseini,
Dotan Cohen, Emir SARI, Enzo Matsumiya, Erwin Villejo, Gustave
Granroth, Hans Krentel (hakre), Ivan Frade, James Limbouris,
Jan Pokorný, Joel Holdsworth, John Burnett, John Cai, Josh
Rampersad, Jürgen Krämer, Kashav Madan, Lessley Dennington,
Matt Cooper, Matthew John Cheetham, Mike Marcelais, Mugdha
Pattnaik, Nikita Bobko, Petr Šplíchal, Robin Jarry, Thiago
Perrotta, Thomas Weißschuh, William Sprent, and 徐沛文
(Aleen).

Returning contributors who helped this release are as follows.
Thanks for your continued support.

Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie,
Anders Kaseorg, Bagas Sanjaya, brian m. carlson, Carlo Marcelo
Arenas Belón, David Aguilar, Derrick Stolee, Elijah Newren,
Eli Schwartz, Eric Sunshine, Eric Wong, Fabian Stelzer, Fangyi
Zhou, Glen Choo, Greg Hurrell, Han-Wen Nienhuys, Jacob Vosmaer,
Jean-Noël Avila, Jeff King, Jerry Zhang, Jiang Xin, Johannes
Altmanninger, Johannes Schindelin, Johannes Sixt, Jonathan Tan,
Jordi Mas, Josh Steadmon, Junio C Hamano, Lénaïc Huard, Linus
Torvalds, Marc Strapetz, Martin Ågren, Matthias Aßhauer,
Matthias Rüster, Mike Hommey, Neeraj Singh, Øystein Walle,
Patrick Steinhardt, Peter Krefting, Philip Oakley, Philippe
Blain, Phillip Wood, Ralf Thielow, Randall S. Becker, René
Scharfe, Robert Estelle, Sergey Organov, SZEDER Gábor, Taylor
Blau, Teng Long, Todd Zullinger, Trần Ngọc Quân, Victoria
Dye, Yi-Jyun Pan, Yoichi Nakayama, and 依云.

[*] We are counting not just the authorship contribution but issue
reporting, mentoring, helping and reviewing that are recorded in
the commit trailers.

----------------------------------------------------------------

Git 2.35 Release Notes
======================

Updates since Git 2.34
----------------------

Backward compatibility warts

* "_" is now treated as any other URL-valid characters in an URL when
matching the per-URL configuration variable names.

* The color palette used by "git grep" has been updated to match that
of GNU grep.


Note to those who build from the source

* You may need to define NO_UNCOMPRESS2 Makefile macro if you build
with zlib older than 1.2.9.

* If your compiler cannot grok C99, the build will fail. See the
instruction at the beginning of git-compat-util.h if this happens
to you.


UI, Workflows & Features

* "git status --porcelain=v2" now show the number of stash entries
with --show-stash like the normal output does.

* "git stash" learned the "--staged" option to stash away what has
been added to the index (and nothing else).

* "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for
the newly created branch if "git init" is run.

* Various operating modes of "git reset" have been made to work
better with the sparse index.

* "git submodule deinit" for a submodule whose .git metadata
directory is embedded in its working tree refused to work, until
the submodule gets converted to use the "absorbed" form where the
metadata directory is stored in superproject, and a gitfile at the
top-level of the working tree of the submodule points at it. The
command is taught to convert such submodules to the absorbed form
as needed.

* The completion script (in contrib/) learns that the "--date"
option of commands from the "git log" family takes "human" and
"auto" as valid values.

* "Zealous diff3" style of merge conflict presentation has been added.

* The "git log --format=%(describe)" placeholder has been extended to
allow passing selected command-line options to the underlying "git
describe" command.

* "default" and "reset" have been added to our color palette.

* The cryptographic signing using ssh keys can specify literal keys
for keytypes whose name do not begin with the "ssh-" prefix by
using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256").

* "git fetch" without the "--update-head-ok" option ought to protect
a checked out branch from getting updated, to prevent the working
tree that checks it out to go out of sync. The code was written
before the use of "git worktree" got widespread, and only checked
the branch that was checked out in the current worktree, which has
been updated.

* "git name-rev" has been tweaked to give output that is shorter and
easier to understand.

* "git apply" has been taught to ignore a message without a patch
with the "--allow-empty" option. It also learned to honor the
"--quiet" option given from the command line.

* The "init" and "set" subcommands in "git sparse-checkout" have been
unified for a better user experience and performance.

* Many git commands that deal with working tree files try to remove a
directory that becomes empty (i.e. "git switch" from a branch that
has the directory to another branch that does not would attempt
remove all files in the directory and the directory itself). This
drops users into an unfamiliar situation if the command was run in
a subdirectory that becomes subject to removal due to the command.
The commands have been taught to keep an empty directory if it is
the directory they were started in to avoid surprising users.

* "git am" learns "--empty=(stop|drop|keep)" option to tweak what is
done to a piece of e-mail without a patch in it.

* The default merge message prepared by "git merge" records the name
of the current branch; the name can be overridden with a new option
to allow users to pretend a merge is made on a different branch.

* The way "git p4" shows file sizes in its output has been updated to
use human-readable units.

* "git -c branch.autosetupmerge=inherit branch new old" makes "new"
to have the same upstream as the "old" branch, instead of marking
"old" itself as its upstream.


Performance, Internal Implementation, Development Support etc.

* The use of errno as a means to carry the nature of error in the ref
API implementation has been reworked and reduced.

* Teach and encourage first-time contributors to this project to
state the base commit when they submit their topic.

* The command line completion for "git send-email" options have been
tweaked to make it easier to keep it in sync with the command itself.

* Ensure that the sparseness of the in-core index matches the
index.sparse configuration specified by the repository immediately
after the on-disk index file is read.

* Code clean-up to eventually allow information on remotes defined
for an arbitrary repository to be read.

* Build optimization.

* Tighten code for testing pack-bitmap.

* Weather balloon to break people with compilers that do not support
C99.

* The "reftable" backend for the refs API, without integrating into
the refs subsystem, has been added.

* More tests are marked as leak-free.

* The test framework learns to list unsatisfied test prerequisites,
and optionally error out when prerequisites that are expected to be
satisfied are not.

* The default setting for trace2 event nesting was too low to cause
test failures, which is worked around by bumping it up in the test
framework.

* Drop support for TravisCI and update test workflows at GitHub.

* Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
mechanism to force "git" to use 'master' as the default name for
the initial branch no longer need it; the use of the mechanism from
them have been removed.

* Allow running our tests while disabling fsync.

* Document the parameters given to the reflog entry iterator callback
functions.
(merge e6e94f34b2 jc/reflog-iterator-callback-doc later to maint).

* The test helper for refs subsystem learned to write bogus and/or
nonexistent object name to refs to simulate error situations we
want to test Git in.

* "diff --histogram" optimization.

* Weather balloon to find compilers that do not grok variable
declaration in the for() loop.

* diff and blame commands have been taught to work better with sparse
index.

* The chainlint test script linter in the test suite has been updated.

* The DEVELOPER=yes build uses -std=gnu99 now.

* "git format-patch" uses a single rev_info instance and then exits.
Mark the structure with UNLEAK() macro to squelch leak sanitizer.

* New interface into the tmp-objdir API to help in-core use of the
quarantine feature.

* Broken &&-chains in the test scripts have been corrected.

* The RCS keyword substitution in "git p4" used to be done assuming
that the contents are UTF-8 text, which can trigger decoding
errors. We now treat the contents as a bytestring for robustness
and correctness.

* The conditions to choose different definitions of the FLEX_ARRAY
macro for vendor compilers has been simplified to make it easier to
maintain.

* Correctness and performance update to "diff --color-moved" feature.

* "git upload-pack" (the other side of "git fetch") used a 8kB buffer
but most of its payload came on 64kB "packets". The buffer size
has been enlarged so that such a packet fits.

* "git fetch" and "git pull" are now declared sparse-index clean.
Also "git ls-files" learns the "--sparse" option to help debugging.

* Similar message templates have been consolidated so that
translators need to work on fewer number of messages.


Fixes since v2.34
-----------------

* "git grep" looking in a blob that has non-UTF8 payload was
completely broken when linked with certain versions of PCREv2
library in the latest release.

* Other code cleanup, docfix, build fix, etc.

* "git pull" with any strategy when the other side is behind us
should succeed as it is a no-op, but doesn't.

* An earlier change in 2.34.0 caused JGit application (that abused
GIT_EDITOR mechanism when invoking "git config") to get stuck with
a SIGTTOU signal; it has been reverted.

* An earlier change that broke .gitignore matching has been reverted.

* Things like "git -c branch.sort=bogus branch new HEAD", i.e. the
operation modes of the "git branch" command that do not need the
sort key information, no longer errors out by seeing a bogus sort
key.
(merge 98e7ab6d42 jc/fix-ref-sorting-parse later to maint).

* The compatibility implementation for unsetenv(3) were written to
mimic ancient, non-POSIX, variant seen in an old glibc; it has been
changed to return an integer to match the more modern era.
(merge a38989bd5b jc/unsetenv-returns-an-int later to maint).

* The clean/smudge conversion code path has been prepared to better
work on platforms where ulong is narrower than size_t.
(merge 596b5e77c9 mc/clean-smudge-with-llp64 later to maint).

* Redact the path part of packfile URI that appears in the trace output.
(merge 0ba558ffb1 if/redact-packfile-uri later to maint).

* CI has been taught to catch some Unicode directional formatting
sequence that can be used in certain mischief.
(merge 0e7696c64d js/ci-no-directional-formatting later to maint).

* The "--date=format:" gained a workaround for the lack of
system support for a non-local timezone to handle "%s" placeholder.
(merge 9b591b9403 jk/strbuf-addftime-seconds-since-epoch later to maint).

* The "merge" subcommand of "git jump" (in contrib/) silently ignored
pathspec and other parameters.
(merge 67ba13e5a4 jk/jump-merge-with-pathspec later to maint).

* The code to decode the length of packed object size has been
corrected.
(merge 34de5b8eac jt/pack-header-lshift-overflow later to maint).

* The advice message given by "git pull" when the user hasn't made a
choice between merge and rebase still said that the merge is the
default, which no longer is the case. This has been corrected.
(merge 71076d0edd ah/advice-pull-has-no-preference-between-rebase-and-merge later to maint).

* "git fetch", when received a bad packfile, can fail with SIGPIPE.
This wasn't wrong per-se, but we now detect the situation and fail
in a more predictable way.
(merge 2a4aed42ec jk/fetch-pack-avoid-sigpipe-to-index-pack later to maint).

* The function to cull a child process and determine the exit status
had two separate code paths for normal callers and callers in a
signal handler, and the latter did not yield correct value when the
child has caught a signal. The handling of the exit status has
been unified for these two code paths. An existing test with
flakiness has also been corrected.
(merge 5263e22cba jk/t7006-sigpipe-tests-fix later to maint).

* When a non-existent program is given as the pager, we tried to
reuse an uninitialized child_process structure and crashed, which
has been fixed.
(merge f917f57f40 em/missing-pager later to maint).

* The single-key-input mode in "git add -p" had some code to handle
keys that generate a sequence of input via ReadKey(), which did not
handle end-of-file correctly, which has been fixed.
(merge fc8a8126df cb/add-p-single-key-fix later to maint).

* "git rebase -x" added an unnecessary 'exec' instructions before
'noop', which has been corrected.
(merge cc9dcdee61 en/rebase-x-fix later to maint).

* When the "git push" command is killed while the receiving end is
trying to report what happened to the ref update proposals, the
latter used to die, due to SIGPIPE. The code now ignores SIGPIPE
to increase our chances to run the post-receive hook after it
happens.
(merge d34182b9e3 rj/receive-pack-avoid-sigpipe-during-status-reporting later to maint).

* "git worktree add" showed "Preparing worktree" message to the
standard output stream, but when it failed, the message from die()
went to the standard error stream. Depending on the order the
stdio streams are flushed at the program end, this resulted in
confusing output. It has been corrected by sending all the chatty
messages to the standard error stream.
(merge b50252484f es/worktree-chatty-to-stderr later to maint).

* Coding guideline document has been updated to clarify what goes to
standard error in our system.
(merge e258eb4800 es/doc-stdout-vs-stderr later to maint).

* The sparse-index/sparse-checkout feature had a bug in its use of
the matching code to determine which path is in or outside the
sparse checkout patterns.
(merge 8c5de0d265 ds/sparse-deep-pattern-checkout-fix later to maint).

* "git rebase -x" by mistake started exporting the GIT_DIR and
GIT_WORK_TREE environment variables when the command was rewritten
in C, which has been corrected.
(merge 434e0636db en/rebase-x-wo-git-dir-env later to maint).

* When "git log" implicitly enabled the "decoration" processing
without being explicitly asked with "--decorate" option, it failed
to read and honor the settings given by the "--decorate-refs"
option.

* "git fetch --set-upstream" did not check if there is a current
branch, leading to a segfault when it is run on a detached HEAD,
which has been corrected.
(merge 17baeaf82d ab/fetch-set-upstream-while-detached later to maint).

* Among some code paths that ask an yes/no question, only one place
gave a prompt that looked different from the others, which has been
updated to match what the others create.
(merge 0fc8ed154c km/help-prompt-fix later to maint).

* "git log --invert-grep --author=" used to exclude commits
written by the given author, but now "--invert-grep" only affects
the matches made by the "--grep=" option.
(merge 794c000267 rs/log-invert-grep-with-headers later to maint).

* "git grep --perl-regexp" failed to match UTF-8 characters with
wildcard when the pattern consists only of ASCII letters, which has
been corrected.
(merge 32e3e8bc55 rs/pcre2-utf later to maint).

* Certain sparse-checkout patterns that are valid in non-cone mode
led to segfault in cone mode, which has been corrected.

* Use of certain "git rev-list" options with "git fast-export"
created nonsense results (the worst two of which being "--reverse"
and "--invert-grep --grep="). The use of "--first-parent" is
made to behave a bit more sensible than before.
(merge 726a228dfb ws/fast-export-with-revision-options later to maint).

* Perf tests were run with end-user's shell, but it has been
corrected to use the shell specified by $TEST_SHELL_PATH.
(merge 9ccab75608 ja/perf-use-specified-shell later to maint).

* Fix dependency rules to generate hook-list.h header file.
(merge d3fd1a6667 ab/makefile-hook-list-dependency-fix later to maint).

* "git stash" by default triggers its "push" action, but its
implementation also made "git stash -h" to show short help only for
"git stash push", which has been corrected.
(merge ca7990cea5 ab/do-not-limit-stash-help-to-push later to maint).

* "git apply --3way" bypasses the attempt to do a three-way
application in more cases to address the regression caused by the
recent change to use direct application as a fallback.
(merge 34d607032c jz/apply-3-corner-cases later to maint).

* Fix performance-releated bug in "git subtree" (in contrib/).
(merge 3ce8888fb4 jl/subtree-check-parents-argument-passing-fix later to maint).

* Extend the guidance to choose the base commit to build your work
on, and hint/nudge contributors to read others' changes.
(merge fdfae830f8 jc/doc-submitting-patches-choice-of-base later to maint).

* A corner case bug in the ort merge strategy has been corrected.
(merge d30126c20d en/merge-ort-renorm-with-rename-delete-conflict-fix later to maint).

* "git stash apply" forgot to attempt restoring untracked files when
it failed to restore changes to tracked ones.
(merge 71cade5a0b en/stash-df-fix later to maint).

* Calling dynamically loaded functions on Windows has been corrected.
(merge 4a9b204920 ma/windows-dynload-fix later to maint).

* Some lockfile code called free() in signal-death code path, which
has been corrected.
(merge 58d4d7f1c5 ps/lockfile-cleanup-fix later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge 74db416c9c cw/protocol-v2-doc-fix later to maint).
(merge f9b2b6684d ja/doc-cleanup later to maint).
(merge 7d1b866778 jc/fix-first-object-walk later to maint).
(merge 538ac74604 js/trace2-avoid-recursive-errors later to maint).
(merge 152923b132 jk/t5319-midx-corruption-test-deflake later to maint).
(merge 9081a421a6 ab/checkout-branch-info-leakfix later to maint).
(merge 42c456ff81 rs/mergesort later to maint).
(merge ad506e6780 tl/midx-docfix later to maint).
(merge bf5b83fd8a hk/ci-checkwhitespace-commentfix later to maint).
(merge 49f1eb3b34 jk/refs-g11-workaround later to maint).
(merge 7d3fc7df70 jt/midx-doc-fix later to maint).
(merge 7b089120d9 hn/create-reflog-simplify later to maint).
(merge 9e12400da8 cb/mingw-gmtime-r later to maint).
(merge 0bf0de6cc7 tb/pack-revindex-on-disk-cleanup later to maint).
(merge 2c68f577fc ew/cbtree-remove-unused-and-broken-cb-unlink later to maint).
(merge eafd6e7e55 ab/die-with-bug later to maint).
(merge 91028f7659 jc/grep-patterntype-default-doc later to maint).
(merge 47ca93d071 ds/repack-fixlets later to maint).
(merge e6a9bc0c60 rs/t4202-invert-grep-test-fix later to maint).
(merge deb5407a42 gh/gpg-doc-markup-fix later to maint).
(merge 999bba3e0b rs/daemon-plug-leak later to maint).
(merge 786eb1ba39 js/l10n-mention-ngettext-early-in-readme later to maint).
(merge 2f12b31b74 ab/makefile-msgfmt-wo-stats later to maint).
(merge 0517f591ca fs/gpg-unknown-key-test-fix later to maint).
(merge 97d6fb5a1f ma/header-dup-cleanup later to maint).

----------------------------------------------------------------

Changes since v2.34.0 are as follows:

Alex Henrie (1):
pull: don't say that merge is "the default strategy"

Alexander Shopov (1):
l10n: bg.po: Updated Bulgarian translation (5195t)

Anders Kaseorg (8):
fetch: lowercase error messages
receive-pack: lowercase error messages
branch: lowercase error messages
worktree: simplify find_shared_symref() memory ownership model
fetch: protect branches checked out in all worktrees
receive-pack: clean dead code from update_worktree()
receive-pack: protect current branch for bare repository worktree
branch: protect branches checked out in all worktrees

Bagas Sanjaya (3):
l10n: po-id for 2.35 (round 1)
branch: missing space fix at line 313
l10n: po-id for 2.35 (round 2)

Calvin Wan (1):
protocol-v2.txt: align delim-pkt spec with usage

Carlo Marcelo Arenas Belón (4):
test-genzeros: allow more than 2G zeros in Windows
test-lib: add prerequisite for 64-bit platforms
mingw: avoid fallback for {local,gm}time_r()
add -p: avoid use of undefined $key when ReadKey -> EOF

David Aguilar (1):
build: centos/RHEL 7 ships with an older gcc and zlib

Derrick Stolee (19):
dir: revert "dir: select directories correctly"
test-lib.sh: set GIT_TRACE2_EVENT_NESTING
t/t*: remove custom GIT_TRACE2_EVENT_NESTING
scalar: 'register' sets recommended config and starts maintenance
scalar: 'unregister' stops background maintenance
scalar: implement 'scalar list'
scalar: implement the `run` command
t1092: add deeper changes during a checkout
unpack-trees: use traverse_path instead of name
repack: respect kept objects with '--write-midx -b'
repack: make '--quiet' disable progress
fetch/pull: use the sparse index
ls-files: add --sparse option
t1092: replace 'read-cache --table' with 'ls-files --sparse'
t1091/t3705: remove 'test-tool read-cache --table'
test-read-cache: remove --table, --expand options
sparse-checkout: fix segfault on malformed patterns
sparse-checkout: fix OOM error with mixed patterns
sparse-checkout: refuse to add to bad patterns

Eli Schwartz (3):
pretty.c: rework describe options parsing for better extensibility
pretty: add tag option to %(describe)
pretty: add abbrev option to %(describe)

Elijah Newren (28):
sequencer: avoid adding exec commands for non-commit creating commands
update documentation for new zdiff3 conflictStyle
name-rev: prefer shorter names over following merges
sequencer: do not export GIT_DIR and GIT_WORK_TREE for 'exec'
t2501: add various tests for removing the current working directory
setup: introduce startup_info->original_cwd
unpack-trees: refuse to remove startup_info->original_cwd
unpack-trees: add special cwd handling
symlinks: do not include startup_info->original_cwd in dir removal
clean: do not attempt to remove startup_info->original_cwd
rebase: do not attempt to remove startup_info->original_cwd
stash: do not attempt to remove startup_info->original_cwd
dir: avoid incidentally removing the original_cwd in remove_path()
dir: new flag to remove_dir_recurse() to spare the original_cwd
t2501: simplify the tests since we can now assume desired behavior
sparse-checkout: pass use_stdin as a parameter instead of as a global
sparse-checkout: break apart functions for sparse_checkout_(set|add)
sparse-checkout: add sanity-checks on initial sparsity state
sparse-checkout: disallow --no-stdin as an argument to set
sparse-checkout: split out code for tweaking settings config
sparse-checkout: enable `set` to initialize sparse-checkout mode
sparse-checkout: enable reapply to take --[no-]{cone,sparse-index}
git-sparse-checkout.txt: update to document init/set/reapply changes
Documentation: clarify/correct a few sparsity related statements
clone: avoid using deprecated `sparse-checkout init`
sparse-checkout: remove stray trailing space
merge-ort: fix bug with renormalization and rename/delete conflicts
stash: do not return before restoring untracked files

Emir SARI (1):
l10n: tr: v2.35.0 round 1

Enzo Matsumiya (1):
pager: fix crash when pager program doesn't exist

Eric Sunshine (38):
worktree: stop being overly intimate with run_command() internals
CodingGuidelines: document which output goes to stdout vs. stderr
worktree: send "chatty" messages to stderr
git-worktree.txt: add missing `-v` to synopsis for `worktree list`
t/lib-pager: use sane_unset() to avoid breaking &&-chain
t1010: fix unnoticed failure on Windows
t1020: avoid aborting entire test script when one test fails
t4202: clarify intent by creating expected content less cleverly
t5516: drop unnecessary subshell and command invocation
t6300: make `%(raw:size) --shell` test more robust
t9107: use shell parameter expansion to avoid breaking &&-chain
tests: simplify construction of large blocks of text
tests: use test_write_lines() to generate line-oriented output
tests: fix broken &&-chains in compound statements
tests: fix broken &&-chains in `$(...)` command substitutions
tests: fix broken &&-chains in `{...}` groups
tests: apply modern idiom for signaling test failure
tests: apply modern idiom for exiting loop upon failure
tests: simplify by dropping unnecessary `for` loops
t0000-t3999: detect and signal failure within loop
t4000-t4999: detect and signal failure within loop
t5000-t5999: detect and signal failure within loop
t6000-t9999: detect and signal failure within loop
t/chainlint/*.test: don't use invalid shell syntax
t/chainlint/*.test: fix invalid test cases due to mixing quote types
t/chainlint/*.test: generalize self-test commentary
t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge
t/Makefile: optimize chainlint self-test
chainlint.sed: improve ?!AMP?! placement accuracy
chainlint.sed: improve ?!SEMI?! placement accuracy
chainlint.sed: tolerate harmless ";" at end of last line in block
chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?!
chainlint.sed: drop subshell-closing ">" annotation
chainlint.sed: make here-doc "many worktree->refnames to use a string_list
reflog expire: use "switch" over enum values
reflog expire: refactor & use "tip_commit" only for UE_NORMAL
reflog expire: don't use lookup_commit_reference_gently()
reflog: reduce scope of "struct rev_info"
refs files-backend: assume cb->newlog if !EXPIRE_REFLOGS_DRY_RUN
reflog + refs-backend: move "verbose" out of the backend
Makefile: correct the dependency graph of hook-list.h
Makefile: move -DPAGER_ENV from BASIC_CFLAGS to EXTRA_CPPFLAGS
Makefile: don't invoke msgfmt with --statistics
refs API: use "failure_errno", not "errno"
reftable tests: avoid "int" overflow, use "uint64_t"

Øystein Walle (2):
status: count stash entries in separate function
status: print stash info with --porcelain=v2 --show-stash

徐沛文 (Aleen) (3):
doc: git-format-patch: describe the option --always
am: support --empty= to handle empty patches
am: support --allow-empty to record specific empty patches

软件描述

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

CVE编号

TSRC分析

暂无

业界资讯

暂无

评论

提交评论 您输入的评论有误,请重新输入