更新详情

From: Junio C Hamano

To: git@vger.kernel.org

Cc: Linux Kernel ,

git-packagers@googlegroups.com

Subject: [ANNOUNCE] Git v2.30.0

Date: Mon, 28 Dec 2020 11:09:53 -0800

Message-ID: (raw)

The latest feature release Git v2.30.0 is now available at the

usual places. It comprises 495 non-merge commits since

v2.29.0, contributed by 83 people, 29 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.30.0'

tag and the 'master' branch that the tag points at:

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 patches weren't in v2.29.0 are as follows.

Welcome to the Git development community!

Alexey, Amanda Shafack, Arusekk, Baptiste Fontaine, Bradley

M. Kuhn, Caleb Tillman, Charvi Mendiratta, Daniel Duvall,

Daniel Gurney, Dennis Ameling, Javier Spagnoletti, Jinoh Kang,

Joey Salazar, Konrad Borowski, m4sk1n, Marlon Rac Cambasis,

Martin Schön, Michał Kępień, Nate Avers, Nipunn Koorapati,

Rafael Silva, Robert Karszniewicz, Samuel Čavoj, Sean Barag,

Sibo Dong, Simão Afonso, Sohom Datta, Thomas Koutcher, and

Victor Engmark.

Returning contributors who helped this release are as follows.

Thanks for your continued support.

Adam Spiers, Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex

Vandiver, Arnout Engelen, brian m. carlson, Christian Couder,

Chris. Webster, David Aguilar, Denton Liu, Derrick Stolee,

Dimitriy Ryazantcev, Đoàn Trần Công Danh, Drew DeVault,

Elijah Newren, Emily Shaffer, Emir Sarı, Eric Sunshine, Felipe

Contreras, Han-Wen Nienhuys, Jean-Noël Avila, Jeff Hostetler,

Jeff King, Jiang Xin, Johannes Berg, Johannes Schindelin,

Jonathan Tan, Jordi Mas, Josh Steadmon, Junio C Hamano,

Kyle Meyer, Martin Ågren, Matheus Tavares, Matthias Rüster,

Nicolas Morey-Chaisemartin, Patrick Steinhardt, Peter Kaestle,

Peter Krefting, Philippe Blain, Phillip Wood, Pranit Bauva,

Pratyush Yadav, Ramsay Jones, Randall S. Becker, René Scharfe,

Sergey Organov, Serg Tereshchenko, Srinidhi Kaushik, Stefan

Haller, Štěpán Němec, SZEDER Gábor, Taylor Blau, Trần

Ngọc Quân, and Yi-Jyun Pan.

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

Git 2.30 Release Notes

======================

Updates since v2.29

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

UI, Workflows & Features

* Userdiff for PHP update.

* Userdiff for Rust update.

* Userdiff for CSS update.

* The command line completion script (in contrib/) learned that "git

stash show" takes the options "git diff" takes.

* "git worktree list" now shows if each worktree is locked. This

possibly may open us to show other kinds of states in the future.

* "git maintenance", an extended big brother of "git gc", continues

to evolve.

* "git push --force-with-lease[=]" can easily be misused to lose

commits unless the user takes good care of their own "git fetch".

A new option "--force-if-includes" attempts to ensure that what is

being force-pushed was created after examining the commit at the

tip of the remote ref that is about to be force-replaced.

* "git clone" learned clone.defaultremotename configuration variable

to customize what nickname to use to call the remote the repository

was cloned from.

* "git checkout" learned to use checkout.guess configuration variable

and enable/disable its "--[no-]guess" option accordingly.

* "git resurrect" script (in contrib/) learned that the object names

may be longer than 40-hex depending on the hash function in use.

* "git diff A...B" learned "git diff --merge-base A B", which is a

longer short-hand to say the same thing.

* A sample 'push-to-checkout' hook, that performs the same as

what the built-in default action does, has been added.

* "git diff" family of commands learned the "-I" option to

ignore hunks whose changed lines all match the given pattern.

* The userdiff pattern learned to identify the function definition in

POSIX shells and bash.

* "git checkout-index" did not consistently signal an error with its

exit status, but now it does.

* A commit and tag object may have CR at the end of each and

every line (you can create such an object with hash-object or

using --cleanup=verbatim to decline the default clean-up

action), but it would make it impossible to have a blank line

to separate the title from the body of the message. We are now

more lenient and accept a line with lone CR on it as a blank line,

too.

* Exit codes from "git remote add" etc. were not usable by scripted

callers, but now they are.

* "git archive" now allows compression level higher than "-9"

when generating tar.gz output.

* Zsh autocompletion (in contrib/) update.

* The maximum length of output filenames "git format-patch" creates

has become configurable (used to be capped at 64).

* "git rev-parse" learned the "--end-of-options" to help scripts to

safely take a parameter that is supposed to be a revision, e.g.

"git rev-parse --verify -q --end-of-options $rev".

* The command line completion script (in contrib/) learned to expand

commands that are alias of alias.

* "git update-ref --stdin" learns to take multiple transactions in a

single session.

* Various subcommands of "git config" that take value_regex

learned the "--literal-value" option to take the value_regex option

as a literal string.

* The transport layer was taught to optionally exchange the session

ID assigned by the trace2 subsystem during fetch/push transactions.

* "git imap-send" used to ignore configuration variables like

core.askpass; this has been corrected.

* "git $cmd $args", when $cmd is not a recognised subcommand, by

default tries to see if $cmd is a typo of an existing subcommand

and optionally executes the corrected command if there is only one

possibility, depending on the setting of help.autocorrect; the

users can now disable the whole thing, including the cycles spent

to find a likely typo, by setting the configuration variable to

'never'.

* "@" sometimes worked (e.g. "git push origin @:there") as a part of

a refspec element, but "git push origin @" did not work, which has

been corrected.

Performance, Internal Implementation, Development Support etc.

* Use "git archive" more to produce the release tarball.

* GitHub Actions automated test improvement to skip tests on a tree

identical to what has already been tested.

* Test-coverage for running commit-graph task "git maintenance" has

been extended.

* Our test scripts can be told to run only individual pieces while

skipping others with the "--run=..." option; they were taught to

take a substring of test title, in addition to numbers, to name the

test pieces to run.

* Adjust tests so that they won't scream when the default initial

branch name is different from 'master'.

* Rewriting "git bisect" in C continues.

* More preliminary tests have been added to document desired outcomes

of various "directory rename" situations.

* Micro clean-up of a couple of test scripts.

* "git diff" and other commands that share the same machinery to

compare with working tree files have been taught to take advantage

of the fsmonitor data when available.

* The code to detect premature EOF in the sideband demultiplexer has

been cleaned up.

* "git fetch --depth=" over the stateless RPC / smart HTTP

transport handled EOF from the client poorly at the server end.

* A specialization of hashmap that uses a string as key has been

introduced. Hopefully it will see wider use over time.

* "git bisect start/next" in a large span of history spends a lot of

time trying to come up with exactly the half-way point; this can be

optimized by stopping when we see a commit that is close enough to

the half-way point.

* A lazily defined test prerequisite can now be defined in terms of

another lazily defined test prerequisite.

* Expectation for the original contributor after responding to a

review comment to use the explanation in a patch update has been

described.

* Multiple "credential-store" backends can race to lock the same

file, causing everybody else but one to fail---reattempt locking

with some timeout to reduce the rate of the failure.

* "git-parse-remote" shell script library outlived its usefulness.

* Like die() and error(), a call to warning() will also trigger a

trace2 event.

* Use of non-reentrant localtime() has been removed.

* Non-reentrant time-related library functions and ctime/asctime with

awkward calling interfaces are banned from the codebase.

Fixes since v2.29

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

* In 2.29, "--committer-date-is-author-date" option of "rebase" and

"am" subcommands lost the e-mail address by mistake, which has been

corrected.

(merge 5f35edd9d7 jk/committer-date-is-author-date-fix later to maint).

* "git checkout -p A...B [-- ]" did not work, even though the

same command without "-p" correctly used the merge-base between

commits A and B.

(merge 35166b1fb5 dl/checkout-p-merge-base later to maint).

* The side-band status report can be sent at the same time as the

primary payload multiplexed, but the demultiplexer on the receiving

end incorrectly split a single status report into two, which has

been corrected.

(merge 712b0377db js/avoid-split-sideband-message later to maint).

* "git fast-import" wasted a lot of memory when many marks were in use.

(merge 3f018ec716 jk/fast-import-marks-alloc-fix later to maint).

* A test helper "test_cmp A B" was taught to diagnose missing files A

or B as a bug in test, but some tests legitimately wanted to notice

a failure to even create file B as an error, in addition to leaving

the expected result in it, and were misdiagnosed as a bug. This

has been corrected.

(merge 262d5ad5a5 es/test-cmp-typocatcher later to maint).

* When "git commit-graph" detects the same commit recorded more than

once while it is merging the layers, it used to die. The code now

ignores all but one of them and continues.

(merge 85102ac71b ds/commit-graph-merging-fix later to maint).

* The meaning of a Signed-off-by trailer can vary from project to

project; this and also what it means to this project has been

clarified in the documentation.

(merge 3abd4a67d9 bk/sob-dco later to maint).

* "git credential' didn't honor the core.askPass configuration

variable (among other things), which has been corrected.

(merge 567ad2c0f9 tk/credential-config later to maint).

* Dev support to catch a tentative definition of a variable in our C

code as an error.

(merge 5539183622 jk/no-common later to maint).

* "git rebase --rebase-merges" did not correctly pass --gpg-sign

command line option to underlying "git merge" when replaying a merge

using non-default merge strategy or when replaying an octopus merge

(because replaying a two-head merge with the default strategy was

done in a separate codepath, the problem did not trigger for most

users), which has been corrected.

(merge 43ad4f2eca sc/sequencer-gpg-octopus later to maint).

* "git apply -R" did not handle patches that touch the same path

twice correctly, which has been corrected. This is most relevant

in a patch that changes a path from a regular file to a symbolic

link (and vice versa).

(merge b0f266de11 jt/apply-reverse-twice later to maint).

* A recent oid->hash conversion missed one spot, breaking "git svn".

(merge 03bb366de4 bc/svn-hash-oid-fix later to maint).

* The documentation on the "--abbrev=" option did not say the

output may be longer than "" hexdigits, which has been

clarified.

(merge cda34e0d0c jc/abbrev-doc later to maint).

* "git p4" now honors init.defaultBranch configuration.

(merge 1b09d1917f js/p4-default-branch later to maint).

* Recently the format of an internal state file "rebase -i" uses has

been tightened up for consistency, which would hurt those who start

"rebase -i" with old git and then continue with new git. Loosen

the reader side a bit (which we may want to tighten again in a year

or so).

(merge c779386182 jc/sequencer-stopped-sha-simplify later to maint).

* The code to see if "git stash drop" can safely remove refs/stash

has been made more careful.

(merge 4f44c5659b rs/empty-reflog-check-fix later to maint).

* "git log -L:" is documented to take no pathspec, but

this was not enforced by the command line option parser, which has

been corrected.

(merge 39664cb0ac jc/line-log-takes-no-pathspec later to maint).

* "git format-patch --output=there" did not work as expected and

instead crashed. The option is now supported.

(merge dc1672dd10 jk/format-patch-output later to maint).

* Define ARM64 compiled with MSVC to be little-endian.

(merge 0c038fc65a dg/bswap-msvc later to maint).

* "git rebase -i" did not store ORIG_HEAD correctly.

(merge 8843302307 pw/rebase-i-orig-head later to maint).

* "git blame -L :funcname -- path" did not work well for a path for

which a userdiff driver is defined.

* "make DEVELOPER=1 sparse" used to run sparse and let it emit

warnings; now such warnings will cause an error.

(merge 521dc56270 jc/sparse-error-for-developer-build later to maint).

* "git blame --ignore-revs-file=" learned to ignore a

non-existent object name in the input, instead of complaining.

(merge c714d05875 jc/blame-ignore-fix later to maint).

* Running "git diff" while allowing external diff in a state with

unmerged paths used to segfault, which has been corrected.

(merge d66851806f jk/diff-release-filespec-fix later to maint).

* Build configuration cleanup.

(merge b990f02fd8 ab/config-mak-uname-simplify later to maint).

* Fix regression introduced when nvimdiff support in mergetool was added.

(merge 12026f46e7 pd/mergetool-nvimdiff later to maint).

* The exchange between receive-pack and proc-receive hook did not

carefully check for errors.

* The code was not prepared to deal with pack .idx file that is

larger than 4GB.

(merge 81c4c5cf2e jk/4gb-idx later to maint).

* Since jgit does not yet work with SHA-256 repositories, mark the

tests that use it not to run unless we are testing with ShA-1

repositories.

(merge ea699b4adc sg/t5310-jgit-wants-sha1 later to maint).

* Config parser fix for "git notes".

(merge 45fef1599a na/notes-displayref-is-not-boolean later to maint).

* Move a definition of compatibility wrapper from cache.h to

git-compat-util.h

(merge a76b138daa hn/sleep-millisec-decl later to maint).

* Error message fix.

(merge eaf5341538 km/stash-error-message-fix later to maint).

* "git pull --rebase --recurse-submodules" checked for local changes

in a wrong range and failed to run correctly when it should.

(merge 5176f20ffe pb/pull-rebase-recurse-submodules later to maint).

* "git push" that is killed may leave a pack-objects process behind,

still computing to find a good compression, wasting cycles. This

has been corrected.

(merge 8b59935114 jk/stop-pack-objects-when-push-is-killed later to maint).

* "git fetch" that is killed may leave a pack-objects process behind,

still computing to find a good compression, wasting cycles. This

has been corrected.

(merge 309a4028e7 jk/stop-pack-objects-when-fetch-is-killed later to maint).

* "git add -i" failed to honor custom colors configured to show

patches, which has been corrected.

(merge 96386faa03 js/add-i-color-fix later to maint).

* Processes that access packdata while the .idx file gets removed

(e.g. while repacking) did not fail or fall back gracefully as they

could.

(merge 506ec2fbda tb/idx-midx-race-fix later to maint).

* "git apply" adjusted the permission bits of working-tree files and

directories according to core.sharedRepository setting by mistake and

for a long time, which has been corrected.

(merge eb3c027e17 mt/do-not-use-scld-in-working-tree later to maint).

* "fetch-pack" could pass NULL pointer to unlink(2) when it sees an

invalid filename; the error checking has been tightened to make

this impossible.

(merge 6031af387e rs/fetch-pack-invalid-lockfile later to maint).

* "git maintenance run/start/stop" needed to be run in a repository

to hold the lockfile they use, but didn't make sure they are

actually in a repository, which has been corrected.

* The glossary described a branch as an "active" line of development,

which is misleading---a stale and non-moving branch is still a

branch.

(merge eef1ceabd8 so/glossary-branch-is-not-necessarily-active later to maint).

* Newer versions of xsltproc can assign IDs in HTML documents it

generates in a consistent manner. Use the feature to help format

HTML version of the user manual reproducibly.

(merge 3569e11d69 ae/doc-reproducible-html later to maint).

* Tighten error checking in the codepath that responds to "git fetch".

(merge d43a21bdbb jk/check-config-parsing-error-in-upload-pack later to maint).

* "git pack-redundant" when there is only one packfile used to crash,

which has been corrected.

(merge 0696232390 jx/pack-redundant-on-single-pack later to maint).

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

(merge 3e0a5dc9af cc/doc-filter-branch-typofix later to maint).

(merge 32c83afc2c cw/ci-ghwf-check-ws-errors later to maint).

(merge 5eb2ed691b rs/tighten-callers-of-deref-tag later to maint).

(merge 6db29ab213 jk/fast-import-marks-cleanup later to maint).

(merge e5cf6d3df4 nk/dir-c-comment-update later to maint).

(merge 5710dcce74 jk/report-fn-typedef later to maint).

(merge 9a82db1056 en/sequencer-rollback-lock-cleanup later to maint).

(merge 4e1bee9a99 js/t7006-cleanup later to maint).

(merge f5bcde6c58 es/tutorial-mention-asciidoc-early later to maint).

(merge 714d491af0 so/format-patch-doc-on-default-diff-format later to maint).

(merge 0795df4b9b rs/clear-commit-marks-in-repo later to maint).

(merge 9542d56379 sd/prompt-local-variable later to maint).

(merge 06d43fad18 rs/pack-write-hashwrite-simplify later to maint).

(merge b7e20b4373 mc/typofix later to maint).

(merge f6bcd9a8a4 js/test-whitespace-fixes later to maint).

(merge 53b67a801b js/test-file-size later to maint).

(merge 970909c2a7 rs/hashwrite-be64 later to maint).

(merge 5a923bb1f0 ma/list-object-filter-opt-msgfix later to maint).

(merge 1c3e412916 rs/archive-plug-leak-refname later to maint).

(merge d44e5267ea rs/plug-diff-cache-leak later to maint).

(merge 793c1464d3 ab/gc-keep-base-option later to maint).

(merge b86339b12b mt/worktree-error-message-fix later to maint).

(merge e01ae2a4a7 js/pull-rebase-use-advise later to maint).

(merge e63d774242 sn/config-doc-typofix later to maint).

(merge 08e9df2395 jk/multi-line-indent-style-fix later to maint).

(merge e66590348a da/vs-build-iconv-fix later to maint).

(merge 7fe07275be js/cmake-extra-built-ins-fix later to maint).

(merge 633eebe142 jb/midx-doc-update later to maint).

(merge 5885367e8f jh/index-v2-doc-on-fsmn later to maint).

(merge 14639a4779 jc/compat-util-setitimer-fix later to maint).

(merge 56f56ac50b ab/unreachable-break later to maint).

(merge 731d578b4f rb/nonstop-config-mak-uname-update later to maint).

(merge f4698738f9 es/perf-export-fix later to maint).

(merge 773c694142 nk/refspecs-negative-fix later to maint).

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

Changes since v2.29.0 are as follows:

Adam Spiers (1):

hook: add sample template for push-to-checkout

Alex Vandiver (2):

dir.c: fix comments to agree with argument name

fsmonitor: use fsmonitor data in `git diff`

Alexander Shopov (1):

l10n: bg.po: Updated Bulgarian translation (5037t)

Alexey (1):

completion: fix zsh installation instructions

Amanda Shafack (1):

t2200,t9832: avoid using 'git' upstream in a pipe

Arnout Engelen (1):

doc: make HTML manual reproducible

Arusekk (1):

l10n: pl.po: add translation and set team leader

Baptiste Fontaine (1):

l10n: fr.po Fix a typo

Bradley M. Kuhn (2):

Documentation: clarify and expand description of --signoff

Documentation: stylistically normalize references to Signed-off-by:

Caleb Tillman (1):

t0000: use test_path_is_file instead of "test -f"

Charvi Mendiratta (5):

t7101,t7102,t7201: modernize test formatting

t7102,t7201: remove unnecessary blank spaces in test body

t7102,t7201: remove whitespace after redirect operator

t7201: use 'git -C' to avoid subshell

t7201: put each command on a separate line

Chris. Webster (1):

ci: github action - add check for whitespace errors

Christian Couder (1):

filter-branch doc: fix filter-repo typo

Daniel Duvall (1):

upload-pack: allow stateless client EOF just prior to haves

Daniel Gurney (2):

compat/bswap.h: simplify MSVC endianness detection

compat/bswap.h: don't assume MSVC is little-endian

David Aguilar (1):

git-gui: ssh-askpass: add a checkbox to show the input text

Dennis Ameling (1):

ci(vs-build): stop passing the iconv library location explicitly

Denton Liu (18):

t4068: remove unnecessary >tmp

git-diff-index.txt: make --cached description a proper sentence

git-diff.txt: backtick quote command text

contrib/completion: extract common diff/difftool options

diff-lib: accept option flags in run_diff_index()

diff-lib: define diff_get_merge_base()

t4068: add --merge-base tests

builtin/diff-index: learn --merge-base

builtin/diff-tree: learn --merge-base

contrib/completion: complete `git diff --merge-base`

Documentation/config/checkout: replace sq with backticks

builtin/checkout: fix `git checkout -p HEAD...` bug

Doc: document "A...B" form for in checkout and switch

add-patch: add NEEDSWORK about comparing commits

t2016: add a NEEDSWORK about the PERL prerequisite

checkout: learn to respect checkout.guess

contrib/git-resurrect.sh: indent with tabs

contrib/git-resurrect.sh: use hash-agnostic OID pattern

Derrick Stolee (28):

maintenance: add prefetch task

maintenance: add loose-objects task

maintenance: create auto condition for loose-objects

midx: enable core.multiPackIndex by default

midx: use start_delayed_progress()

maintenance: add incremental-repack task

maintenance: auto-size incremental-repack batch

maintenance: add incremental-repack auto condition

maintenance: optionally skip --auto process

maintenance: add --schedule option and config

for-each-repo: run subcommands on configured repos

maintenance: add [un]register subcommands

maintenance: add start/stop subcommands

maintenance: test commit-graph auto condition

commit-graph: ignore duplicates when merging layers

commit-graph: don't write commit-graph when disabled

maintenance: core.commitGraph=false prevents writes

maintenance: create maintenance.strategy config

maintenance: use 'incremental' strategy by default

maintenance: add troubleshooting guide to docs

config: convert multi_replace to flags

config: replace 'value_regex' with 'value_pattern'

t1300: test "set all" mode with value-pattern

t1300: add test for --replace-all with value-pattern

config: add --fixed-value option, un-implemented

config: plumb --fixed-value into config API

config: implement --fixed-value with --get*

maintenance: use 'git config --fixed-value'

Dimitriy Ryazantcev (1):

git-gui: update Russian translation

Drew DeVault (1):

help.c: help.autocorrect=never means "do not compute suggestions"

Elijah Newren (37):

hashmap: add usage documentation explaining hashmap_free[_entries]()

directory-rename-detection.txt: update references to regression tests

t6423: more involved directory rename test

t6423: update directory rename detection tests with new rule

t6423: more involved rules for renaming directories into each other

t7518: fix flaky grep invocation

test-lib: allow selecting tests by substring/glob with --run

t6006, t6012: adjust tests to use 'setup' instead of synonyms

test-lib: reduce verbosity of skipped tests

sequencer: remove duplicate rollback_lock_file() call

t/: new helper for tests that pass with ort but fail with recursive

merge tests: expect improved directory/file conflict handling in ort

t6416: correct expectation for rename/rename(1to2) + directory/file

t6404, t6423: expect improved rename/delete handling in ort backend

t6423: expect improved conflict markers labels in the ort backend

merge tests: expect slight differences in output for recursive vs. ort

t6423, t6436: note improved ort handling with dirty files

t6423: note improved ort handling with untracked files

t6423: add more details about direct resolution of directories

merge-ort: barebones API of new merge strategy with empty implementation

merge-ort-wrappers: new convience wrappers to mimic the old merge API

fast-rebase: demonstrate merge-ort's API via new test-tool command

hashmap: adjust spacing to fix argument alignment

hashmap: allow re-use after hashmap_free()

hashmap: introduce a new hashmap_partial_clear()

hashmap: provide deallocation function names

strmap: new utility functions

merge,rebase,revert: select ort or recursive by config or environment

strmap: add more utility functions

strmap: enable faster clearing and reusing of strmaps

strmap: add functions facilitating use as a string->int map

strmap: split create_entry() out of strmap_put()

strmap: add a strset sub-type

strmap: enable allocations to come from a mem_pool

strmap: take advantage of FLEXPTR_ALLOC_STR when relevant

Use new HASHMAP_INIT macro to simplify hashmap initialization

shortlog: use strset from strmap.h

Emily Shaffer (1):

MyFirstContribution: clarify asciidoc dependency

Emir Sarı (2):

l10n: tr: v2.30.0-r1

l10n: tr: v2.30.0-r2

Eric Sunshine (1):

t/perf: fix test_export() failure with BSD `sed`

Felipe Contreras (41):

completion: zsh: fix __gitcomp_direct()

completion: zsh: fix name due to broken autoloading

completion: zsh: fix bash script extension

completion: zsh: reorganize install instructions

completion: zsh: fix for directories with spaces

completion: zsh: update slave script locations

completion: prompt: fix color for Zsh

completion: zsh: fix for command aliasing

completion: bash: synchronize zsh wrapper

completion: bash: remove zsh wrapper

completion: zsh: fix completion for --no-.. options

completion: fix conflict with bashcomp

completion: zsh: add missing direct_append

completion: zsh: fix splitting of words

completion: zsh: simplify compadd functions

completion: zsh: simplify direct compadd

completion: zsh: trivial cleanup

completion: zsh: simplify nl_append

completion: zsh: simplify file_direct

completion: zsh: shuffle functions around

completion: zsh: refactor command completion

completion: zsh: improve command tags

completion: zsh: add alias descriptions

completion: zsh: trivial simplification

completion: zsh: add simple version check

completion: bash: trivial cleanup

completion: bash: cleanup cygwin check

completion: bash: remove old compat wrappers

zsh: update copyright notices

completion: bash: support recursive aliases

completion: bash: check for alias loop

completion: bash: improve alias loop detection

tests: push: improve cleanup of HEAD tests

tests: push: trivial cleanup

refspec: make @ a synonym of HEAD

refspec: trivial cleanup

.gitignore: remove dangling file

test: completion: fix typos

tests: lib-functions: trivial style cleanups

completion: zsh: fix file completion regression

completion: bash: fix gitk alias regression

Han-Wen Nienhuys (1):

move sleep_millisec to git-compat-util.h

Javier Spagnoletti (1):

userdiff: PHP: catch "abstract" and "final" functions

Jean-Noël Avila (3):

l10n: fr fix misleading message

l10n: fr.po: v2.30.0 rnd 1

l10n: fr.po v2.30.0 rnd 2

Jeff Hostetler (1):

index-format.txt: document v2 format of file system monitor extension

Jeff King (44):

fast-import: fix over-allocation of marks storage

usage: define a type for a reporting function

config.mak.dev: build with -fno-common

fast-import: remove duplicated option-parsing line

perl: check for perl warnings while running tests

t3436: check --committer-date-is-author-date result more carefully

am: fix broken email with --committer-date-is-author-date

rebase: fix broken email with --committer-date-is-author-date

am, sequencer: stop parsing our own committer ident

test-pkt-line: drop colon from sideband identity

checkout-index: drop error message from empty --stage=all

checkout-index: propagate errors to exit code

sideband: diagnose more sideband anomalies

format-patch: refactor output selection

format-patch: tie file-opening logic to output_directory

format-patch: support --output option

rev-parse: don't accept options after dashdash

rev-parse: put all options under the "-" check

rev-parse: handle --end-of-options

compute pack .idx byte offsets using size_t

use size_t to store pack .idx byte offsets

fsck: correctly compute checksums on idx files larger than 4GB

block-sha1: take a size_t length parameter

packfile: detect overflow in .idx file size checks

repack: make "exts" array available outside cmd_repack()

send-pack: kill pack-objects helper on signal or exit

submodule: fix fetch_in_submodule logic

upload-pack: kill pack-objects helper on signal or exit

banned.h: mark non-reentrant gmtime, etc as banned

t7900: speed up expensive test

gitignore: drop duplicate entry for git-sh-i18n

banned.h: mark ctime_r() and asctime_r() as banned

Makefile: mark git-maintenance as a builtin

upload-pack: propagate return value from object filter config callback

style: indent multiline "if" conditions to align

oid-array.h: drop sha1 mention from header guard

t0064: drop sha1 mention from filename

t0064: make duplicate tests more robust

cache.h: move hash/oid functions to hash.h

oid-array: make sort function public

oid-array: provide a for-loop iterator

commit-graph: drop count_distinct_commits() function

commit-graph: replace packed_oid_list with oid_array

commit-graph: use size_t for array allocation and indexing

Jiang Xin (7):

t5411: new helper filter_out_user_friendly_and_stable_output

receive-pack: gently write messages to proc-receive

receive-pack: use default version 0 for proc-receive

l10n: git.pot: v2.30.0 round 1 (70 new, 45 removed)

pack-redundant: fix crash when one packfile in repo

l10n: git.pot: v2.30.0 round 2 (1 new, 2 removed)

l10n: zh_CN: for git v2.30.0 l10n round 1 and 2

Jinoh Kang (2):

diff: allow passing NULL to diff_free_filespec_data()

t7800: simplify difftool test

Joey Salazar (1):

t7006: Use test_path_is_* functions in test script

Johannes Berg (1):

docs: multi-pack-index: remove note about future 'verify' work

Johannes Schindelin (75):

ci: work around old records of GitHub runs

ci: make the "skip-if-redundant" check more defensive

sideband: avoid reporting incomplete sideband messages

sideband: report unhandled incomplete sideband messages as bugs

SKIP_DASHED_BUILT_INS: do not skip the bin/ programs

fmt-merge-msg: also suppress "into main" by default

t9801: use `--` in preparation for default branch rename

tests: start moving to a different default main branch name

t6200: adjust suppression pattern to also match "main"

t5703: adjust a test case for the upcoming default branch name

t3200: prepare for `main` being shorter than `master`

t9902: prepare a test for the upcoming default branch name

tests: prepare aligned mentions of the default branch name

t1400: prepare for `main` being default branch name

t5411: start using the default branch name "main"

t5411: start adjusting the support files for init.defaultBranch=main

t5411: adjust the remaining support files for init.defaultBranch=main

t5411: finish preparing for `main` being the default branch name

t5515: use `main` as the name of the main branch for testing (part 1)

t5515: use `main` as the name of the main branch for testing (part 2)

t5515: use `main` as the name of the main branch for testing (part 3)

t5515: use `main` as the name of the main branch for testing (conclusion)

t2402: fix typo

ci: make the whitespace checker more robust

tests: consolidate the `file_size` function into `test-lib-functions.sh`

ci: avoid using the deprecated `set-env` construct

p4: respect init.defaultBranch

t1004: insert missing "branch" in a message

t3406: indent with tabs, not spaces

t3427: adjust stale comment

t5400,t5402: consistently indent with tabs, not with spaces

t5570: remove trailing padding

t9603: use tabs for indentation

add -i (built-in): do show an error message for incorrect inputs

add -i (built-in): send error messages to stderr

add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers

add -i: use `reset_color` consistently

add -i (built-in): prevent the `reset` "color" from being configured

add -i (built-in): use correct names to load color.diff.* config

mergetools/bc: add `bc4` to the alias list for Beyond Compare

mergetool: avoid letting `list_tool_variants` break user-defined setups

add -p (built-in): do not color the progress indicator separately

add -i (built-in): use the same indentation as the Perl version

add -i (Perl version): color header to match the C version

add -p: prefer color.diff.context over color.diff.plain

add -i: verify in the tests that colors can be overridden

t2106: adjust style to the current conventions

t2106: make test independent of the current main branch name

t2106: ensure that the checkout fails for the expected reason

t3040: remove stale note

t1309: use a neutral branch name in the `onbranch` test cases

t4015: let the test pass with any default branch name

pull: colorize the hint about setting `pull.rebase`

t3404: do not depend on any specific default branch name

t5526: avoid depending on a specific default branch name

t5526: drop the prereq expecting the default branch name `main`

cmake: determine list of extra built-ins dynamically

t6300: avoid using the default name of the initial branch

t7064: avoid relying on a specific default branch name

init: document `init.defaultBranch` better

branch -m: allow renaming a yet-unborn branch

get_default_branch_name(): prepare for showing some advice

init: provide useful advice about init.defaultBranch

t1400: use `main` as initial branch name

t3200: finish transitioning to the initial branch name `main`

t3201: finalize transitioning to using the branch name `main`

t3203: complete the transition to using the branch name `main`

t3205: finalize transitioning to using the branch name `main`

t5505: finalize transitioning to using the branch name `main`

t5510: use `main` as initial branch name

t5703: use `main` as initial branch name

t6302: use `main` as initial branch name

t9902: use `main` as initial branch name

tests: drop the `PREPARE_FOR_MAIN_BRANCH` prereq

checkout -p: handle tree arguments correctly again

Jonathan Tan (3):

apply: when -R, also reverse list of sections

sequencer: tolerate abbreviated stopped-sha file

usage: add trace2 entry upon warning()

Jordi Mas (2):

l10n: Update Catalan translation

l10n: Update Catalan translation

Josh Steadmon (13):

docs: new capability to advertise session IDs

docs: new transfer.advertiseSID option

trace2: add a public function for getting the SID

upload-pack: advertise session ID in v0 capabilities

receive-pack: advertise session ID in v0 capabilities

serve: advertise session ID in v2 capabilities

transport: log received server session ID

fetch-pack: advertise session ID in capabilities

upload-pack, serve: log received client session ID

send-pack: advertise session ID in capabilities

receive-pack: log received client session ID

t7900: fix typo: "test_execpt_success"

t7900: use --fixed-value in git-maintenance tests

Junio C Hamano (35):

doc: preparatory clean-up of description on the sign-off option

SubmittingPatches: clarify DCO is our --signoff rule

Revert "test_cmp: diagnose incorrect arguments"

t7102: prepare expected output inside test_expect_* block

Git 2.29.1

other small fixes for 2.29.2

SubmittingPatches: clarify the purpose of the final resend

First batch

Git 2.29.2

Second batch

Makefile: enable -Wsparse-error for DEVELOPER build

Third batch

log: diagnose -L used with pathspec as an error

doc: clarify that --abbrev= is about the minimum length

Fourth batch

format-patch: make output filename configurable

Fifth batch

ci: avoid `set-env` construct in print-test-failures.sh

Sixth batch

Seventh batch

MyFirstContribition: answering questions is not the end of the story

config doc: value-pattern is not necessarily a regexp

Eighth batch

Ninth batch

Revert "submodules: fix of regression on fetching of non-init subsub-repo"

Tenth batch

Eleventh batch

Git 2.30-rc0

strmap: make callers of strmap_remove() to call it in void context

compat-util: pretend that stub setitimer() always succeeds

diff: correct interaction between --exit-code and -I

Another batch before 2.30-rc1

Git 2.30-rc1

Git 2.30-rc2

Git 2.30

Konrad Borowski (1):

userdiff: recognize 'macro_rules!' as starting a Rust function block

Kyle Meyer (1):

stash: add missing space to an error message

Marlon Rac Cambasis (1):

doc: fixing two trivial typos in Documentation/

Martin Schön (1):

git-gui: use commit message template

Martin Ågren (8):

list-objects-filter-options: fix function name in BUG

grep: don't set up a "default" repo for grep

grep: use designated initializers for `grep_defaults`

grep: copy struct in one fell swoop

MyFirstObjectWalk: drop `init_walken_defaults()`

git-maintenance.txt: add missing word

gc: fix handling of crontab magic markers

t7900-maintenance: test for magic markers

Matheus Tavares (2):

worktree: fix order of arguments in error message

apply: don't use core.sharedRepository to create working tree files

Matthias Rüster (1):

l10n: de.po: Update German translation for Git 2.30.0

Michał Kępień (2):

merge-base, xdiff: zero out xpparam_t structures

diff: add -I that ignores matching changes

Nate Avers (2):

notes.c: fix a segfault in notes_display_config()

t3301: test proper exit response to no-value notes.displayRef.

Nicolas Morey-Chaisemartin (1):

imap-send: parse default git config

Nipunn Koorapati (19):

t/perf/README: elaborate on output format

t/perf/p7519-fsmonitor.sh: warm cache on first git status

t/perf: add fsmonitor perf test for git diff

perf lint: add make test-lint to perf tests

p7519-fsmonitor: refactor to avoid code duplication

p7519-fsmonitor: add a git add benchmark

t/perf/fsmonitor: separate one time repo initialization

t/perf/fsmonitor: move watchman setup to one-time-repo-setup

t/perf/fsmonitor: improve error message if typoing hook name

t/perf/fsmonitor: factor description out for readability

t/perf/fsmonitor: shorten DESC to basename

t/perf/fsmonitor: silence initial git commit

t/perf/fsmonitor: factor setup for fsmonitor into function

t/perf/fsmonitor: initialize test with git reset

t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations

t/perf/fsmonitor: add benchmark for dirty status

perf/fsmonitor: use test_must_be_empty helper

negative-refspec: fix segfault on : refspec

negative-refspec: improve comment on query_matches_negative_refspec

Patrick Steinhardt (4):

t1400: avoid touching refs on filesystem

update-ref: allow creation of multiple transactions

p1400: use `git-update-ref --stdin` to test multiple transactions

update-ref: disallow "start" for ongoing transactions

Peter Kaestle (1):

submodules: fix of regression on fetching of non-init subsub-repo

Peter Krefting (2):

l10n: sv.po: Update Swedish translation (5038t0f0u)

l10n: sv.po: Update Swedish translation (5037t0f0u)

Philippe Blain (15):

ref-filter: handle CRLF at end-of-line more gracefully

log, show: add tests for messages containing CRLF

doc: log, gitk: move '-L' description to 'line-range-options.txt'

doc: line-range: improve formatting

blame-options.txt: also mention 'funcname' in '-L' description

doc: add more pointers to gitattributes(5) for userdiff

line-log: mention both modes in 'blame' and 'log' short help

blame: enable funcname blaming with userdiff driver

blame: simplify 'setup_scoreboard' interface

blame: simplify 'setup_blame_bloom_data' interface

pull --rebase: compute rebase arguments in separate function

t5572: add notes on a peculiar test

t5572: describe '--rebase' tests a little more

pull: check for local submodule modifications with the right range

git.txt: fix typos in 'linkgit' macro invocation

Phillip Wood (4):

rebase -i: stop overwriting ORIG_HEAD buffer

rebase -i: use struct object_id rather than looking up commit

rebase -i: use struct object_id when writing state

rebase -i: simplify get_revision_ranges()

Pranit Bauva (7):

bisect--helper: finish porting `bisect_start()` to C

bisect--helper: retire `--bisect-clean-state` subcommand

bisect--helper: retire `--next-all` subcommand

bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C

bisect--helper: retire `--check-expected-revs` subcommand

bisect--helper: retire `--write-terms` subcommand

bisect--helper: retire `--bisect-autostart` subcommand

Pratyush Yadav (1):

git-gui: Only touch GITGUI_MSG when needed

Rafael Silva (2):

worktree: teach `list` to annotate locked worktree

maintenance: fix SEGFAULT when no repository

Ramsay Jones (6):

Documentation/Makefile: conditionally include doc.dep

Documentation/Makefile: conditionally include ../GIT-VERSION-FILE

gitweb/Makefile: conditionally include ../GIT-VERSION-FILE

Makefile: don't try to clean old debian build product

Makefile: don't use a versioned temp distribution directory

Makefile: conditionally include GIT-VERSION-FILE

Randall S. Becker (1):

config.mak.uname: remove old NonStop compatibility settings

René Scharfe (19):

Makefile: use git init/add/commit/archive for dist-doc

Makefile: remove the unused variable TAR_DIST_EXTRA_OPTS

grep: handle deref_tag() returning NULL

blame: handle deref_tag() returning NULL

line-log: handle deref_tag() returning NULL

object: allow clear_commit_marks_all to handle any repo

bisect: clear flags in passed repository

stash: simplify reflog emptiness check

pack-write: use hashwrite_be32() instead of double-buffering array

archive: support compression levels beyond 9

blame: silently ignore invalid ignore file objects

csum-file: add hashwrite_be64()

midx: use hashwrite_be64()

pack-write: use hashwrite_be64()

diff-lib: plug minor memory leaks in do_diff_cache()

archive: release refname after use

gc: fix cast in compare_tasks_by_selection()

fetch-pack: disregard invalid pack lockfiles

gitignore: remove entry for git serve

Robert Karszniewicz (2):

git-completion.bash: __git_diff_common_options: add --[no-]patch

git-completion.bash: stash-show: complete $__git_diff_common_options

SZEDER Gábor (4):

bisect: loosen halfway() check for a large number of commits

t5310-pack-bitmaps: skip JGit tests with SHA256

tests: make sure nested lazy prereqs work reliably

tests: fix description of 'test_set_prereq'

Samuel Čavoj (3):

sequencer: fix gpg option passed to merge subcommand

sequencer: pass explicit --no-gpg-sign to merge

t3435: add tests for rebase -r GPG signing

Sean Barag (7):

clone: add tests for --template and some disallowed option pairs

clone: use more conventional config/option layering

remote: add tests for add and rename with invalid names

refs: consolidate remote name validation

clone: validate --origin option before use

clone: read new remote name from remote_name instead of option_origin

clone: allow configurable default for `-o`/`--origin`

Serg Tereshchenko (1):

git-gui: Fix selected text colors

Sergey Organov (2):

doc/diff-options: fix out of place mentions of '--patch/-p'

glossary: improve "branch" definition

Sibo Dong (1):

git-prompt.sh: localize `option` in __git_ps1_show_upstream

Simão Afonso (1):

crendential-store: use timeout when locking file

Sohom Datta (1):

userdiff: expand detected chunk headers for css

Srinidhi Kaushik (3):

push: add reflog check for "--force-if-includes"

push: parse and set flag for "--force-if-includes"

t, doc: update tests, reference for "--force-if-includes"

Stefan Haller (2):

git-gui: fix colored label backgrounds when using themed widgets

git-gui: use gray background for inactive text widgets

Taylor Blau (7):

builtin/repack.c: keep track of what pack-objects wrote

builtin/repack.c: don't move existing packs out of the way

packfile.c: protect against disappearing indexes

midx.c: protect against disappearing packs

builtin/bugreport.c: use thread-safe localtime_r()

builtin/clone.c: don't ignore transport_fetch_refs() errors

upload-pack.c: don't free allowed_filters util pointers

Thomas Koutcher (1):

credential: load default config

Trần Ngọc Quân (1):

l10n: vi.po(5037t): v2.30.0 rnd 2

Victor Engmark (1):

userdiff: support Bash

Yi-Jyun Pan (1):

l10n: zh_TW.po: v2.30.0 round 2 (1 untranslated)

brian m. carlson (1):

svn: use correct variable name for short OID

m4sk1n (1):

l10n: pl.po: started Polish translation

Ævar Arnfjörð Bjarmason (9):

remote: add meaningful exit code on missing/existing

config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag

config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag

submodule: use "fetch" logic instead of custom remote discovery

submodule: remove sh function in favor of helper

parse-remote: remove this now-unused library

gc docs: change --keep-base-pack to --keep-largest-pack

gc: rename keep_base_pack variable for --keep-largest-pack

style: do not "break" in switch() after "return"

Đoàn Trần Công Danh (1):

doc: mention Python 3.x supports

Štěpán Němec (1):

config.txt: fix a typo (backslash != backquote)

dd.giit.us index.php,Git官网普通更新(2020-12-28)相关推荐

  1. git官网下载不了或下载很慢的解决办法!

    国内访问git官网很慢,有的地区甚至直接无法访问,这时候可以去淘宝镜像站点访问下载git 下载地址:https://npm.taobao.org/mirrors/git-for-windows/  告 ...

  2. git官网 中文教程 使用手册 说明书

    手册:https://git-scm.com/book/zh/v2 或者从官网找 https://git-scm.com/ 进入git官网 选择Documentation 选择book 选择简体中文

  3. git官网下载不了的解决办法

    国内访问git官网很慢,这时候可以去淘宝镜像站点访问下载git 下载地址:https://npm.taobao.org/mirrors/git-for-windows/ 点击进入开源镜像: http: ...

  4. 华为鸿蒙os再度升级,华为鸿蒙官网再次更新!多达24款机型可升级鸿蒙OS:赶紧报名升级吧...

    原标题:华为鸿蒙官网再次更新!多达24款机型可升级鸿蒙OS:赶紧报名升级吧 [5月17日讯]相信大家都知道,华为鸿蒙OS系统已经全面启动了公测招募,同时华为官方也在不断地适配旧机型,而就在近日,华为鸿 ...

  5. 让OSCE客户端在无法连接控制台情况下,直接到官网下载更新的设置

    让OSCE客户端在无法连接控制台情况下,直接到官网下载更新的设置: 1: 2: 3:更新或者打包客户端

  6. 全网详细解决git官网下载太慢的问题

    文章目录 1. 文章引言 2. 解决git下载慢的方法 3. 文章总结 1. 文章引言 我们在开发的过程中,无可避免地要使用到git,来托管我们的代码. 它是一个开源的分布式版本控制系统,用于敏捷高效 ...

  7. git官网下载慢的解决方法 及FDM也是和官网一样慢

    1.官方网址下载 https://gitforwindows.org/ 想记录一下安装git下载问题,官网下载比较慢,40多M的东西能下几个小时,后来查了很多资料, 有的用迅雷下载,以及 FDM 下载 ...

  8. 泛泰binx一键式离线刷机(可断网刷机,可刷任意版本)(官网脚本更新7.30)

    一键式离线刷机.zip 密码suky 小白们以我匪夷所思的思路和步骤得出了错误的结论,我低估了小白的战斗力啊 使用前请先关闭所有IE窗口,若要使用官网请使用下面脚本 regsvr32.exe /s / ...

  9. 通过 Mysql 官网配置更新本地的mysql源

    参考连接:https://blog.csdn.net/xyang81/article/details/51759200前提环境:Centos 6.* 本身配置的yum源自带的mysql版本为5.1:后 ...

最新文章

  1. Handler消息机制(二):一个线程有几个Handler
  2. spark保存到mysql_Spark写入数据到MySQL
  3. idea servlet自动配置web.xml_Spring Boot学习04_嵌入式Servlet容器自动配置原理
  4. django项目简单调取百度翻译接口
  5. Word2013中怎样设置同一文档内粘贴选项
  6. Linux使用Jexus托管Asp.Net Core应用程序
  7. python gmm em算法 2维数据_python自学日记18——数据结构与算法(2)
  8. 『高级篇』docker之安全认证kubernetes命令熟悉(40)
  9. node vue 合并项目_吐血整理最佳实践:SpringBoot整合Vue前后端分离开发
  10. java访问其它服务器_java – 多个客户端同时访问服务器
  11. 第三季-第24课-TCP通讯程序设计
  12. 如何将腾讯视频QLV格式转换成MP4
  13. Java|如何用Java定义一个类
  14. 保存下载图片(taro h5)
  15. 使用讯飞语音识别的空指针错误
  16. python空行规则_交互式promp中的空行规则
  17. 31省市自治区农村居民消费价格指数(2010-2020年)
  18. 用c#做的打地鼠小游戏,整理一下上课学的
  19. 秒懂SpringBoot之Spring对象生命周期与扩展点浅尝辄止
  20. 计算机术语写祝福语,祝福语精选

热门文章

  1. 电脑耳机完全插进去声音听不清楚,插一半就是正常的?
  2. 推荐个开源在线文档,助道友领悟 Django 之“道”
  3. 人流量统计(opencv,caffe,dlib)
  4. Python从入门到PY交易,基础语法,散记(二)
  5. 1024,大家好好(*^▽^*) 2019/10/24
  6. Simpsons’ Hidden Talents
  7. 去中心网络服务器,去IOE 去中心化_浪潮服务器_网络安全-中关村在线
  8. MySQL亿级数据分页的奇妙经历
  9. 12种论坛常用的推广方法
  10. java 版 mc 手柄_我的世界Java版21w06a