* [ANNOUNCE] Git v2.25.0-rc0
@ 2019-12-25 21:44 Junio C Hamano
2019-12-26 0:33 ` Denton Liu
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Junio C Hamano @ 2019-12-25 21:44 UTC (permalink / raw)
To: git; +Cc: Linux Kernel, git-packagers
An early preview release Git v2.25.0-rc0 is now available for
testing at the usual places. It is comprised of 531 non-merge
commits since v2.24.0, contributed by 61 people, 24 of which are
new faces.
The tarballs are found at:
https://www.kernel.org/pub/software/scm/git/testing/
The following public repositories all have a copy of the
'v2.25.0-rc0' 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 contributions weren't in v2.24.0 are as follows.
Welcome to the Git development community!
Colin Stolley, Doan Tran Cong Danh, Dominic Jäger, Erik Chen,
Hariom Verma, Heba Waly, James Coglan, James Shubin, Josh
Holland, Łukasz Niemier, Manish Goregaokar, Matthew Rogers,
Mihail Atanassov, Miriam Rubio, Nathan Stocks, Naveen Nathan,
Nika Layzell, Philippe Blain, Prarit Bhargava, r.burenkov,
Ruud van Asseldonk, ryenus, Slavica Đukić, and Utsav Shah.
Returning contributors who helped this release are as follows.
Thanks for your continued support.
Alban Gruin, Alexandr Miloslavskiy, Andreas Schwab, Andrei Rybak,
brian m. carlson, Daniel Ferreira, Denton Liu, Derrick Stolee,
Dimitriy Ryazantcev, Ed Maste, Elia Pinto, Elijah Newren, Emily
Shaffer, Garima Singh, Hans Jerry Illikainen, Jean-Noël Avila,
Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder,
Jonathan Tan, Junio C Hamano, Kevin Willford, Martin Ågren,
Mike Hommey, Philip Oakley, Phillip Wood, Pratyush Yadav,
Ralf Thielow, René Scharfe, Robin H. Johnson, Rohit Ashiwal,
SZEDER Gábor, Tanushree Tumane, Thomas Gummerer, Todd Zullinger,
and William Baker.
----------------------------------------------------------------
Git 2.25 Release Notes (draft)
==============================
Updates since v2.24
-------------------
Backward compatibility notes
UI, Workflows & Features
* A tutorial on object enumeration has been added.
* The branch description ("git branch --edit-description") has been
used to fill the body of the cover letters by the format-patch
command; this has been enhanced so that the subject can also be
filled.
* "git rebase --preserve-merges" has been marked as deprecated; this
release stops advertising it in the "git rebase -h" output.
* The code to generate multi-pack index learned to show (or not to
show) progress indicators.
* "git apply --3way" learned to honor merge.conflictStyle
configuration variable, like merges would.
* The custom format for "git log --format=<format>" learned the l/L
placeholder that is similar to e/E that fills in the e-mail
address, but only the local part on the left side of '@'.
* Documentation pages for "git shortlog" now list commit limiting
options explicitly.
* The patterns to detect function boundary for Elixir language has
been added.
* The completion script (in contrib/) learned that the "--onto"
option of "git rebase" can take its argument as the value of the
option.
* The userdiff machinery has been taught that "async def" is another
way to begin a "function" in Python.
* "git range-diff" learned to take the "--notes=<ref>" and the
"--no-notes" options to control the commit notes included in the
log message that gets compared.
* "git rev-parse --show-toplevel" run outside of any working tree did
not error out, which has been corrected.
* A few commands learned to take the pathspec from the standard input
or a named file, instead of taking it as the command line
arguments, with the "--pathspec-from-file" option.
* "git rebase -i" learned a few options that are known by "git
rebase" proper.
* "git submodule" learned a subcommand "set-url".
* "git log" family learned "--pretty=reference" that gives the name
of a commit in the format that is often used to refer to it in log
messages.
* The interaction between "git clone --recurse-submodules" and
alternate object store was ill-designed. The documentation and
code have been taught to make more clear recommendations when the
users see failures.
* Management of sparsely checked-out working tree has gained a
dedicated "sparse-checkout" command.
Performance, Internal Implementation, Development Support etc.
* Debugging support for lazy cloning has been a bit improved.
* Move the definition of a set of bitmask constants from 0ctal
literal to (1U<<count) notation.
* Test updates to prepare for SHA-2 transition continues.
* Crufty code and logic accumulated over time around the object
parsing and low-level object access used in "git fsck" have been
cleaned up.
* The implementation of "git log --graph" got refactored and then its
output got simplified.
* Follow recent push to move API docs from Documentation/ to header
files and update config.h
* "git bundle" has been taught to use the parse options API. "git
bundle verify" learned "--quiet" and "git bundle create" learned
options to control the progress output.
* Handling of commit objects that use non UTF-8 encoding during
"rebase -i" has been improved.
* The beginning of rewriting "git add -i" in C.
* A label used in the todo list that are generated by "git rebase
--rebase-merges" is used as a part of a refname; the logic to come
up with the label has been tightened to avoid names that cannot be
used as such.
* The logic to avoid duplicate label names generated by "git rebase
--rebase-merges" forgot that the machinery itself uses "onto" as a
label name, which must be avoided by auto-generated labels, which
has been corrected.
* We have had compatibility fallback macro definitions for "PRIuMAX",
"PRIu32", etc. but did not for "PRIdMAX", while the code used the
last one apparently without any hiccup reported recently. The
fallback macro definitions for these <inttypes.h> macros that must
appear in C99 systems have been removed.
* Recently we have declared that GIT_TEST_* variables take the
usual boolean values (it used to be that some used "non-empty
means true" and taking GIT_TEST_VAR=YesPlease as true); make
sure we notice and fail when non-bool strings are given to
these variables.
* Users of oneway_merge() (like "reset --hard") learned to take
advantage of fsmonitor to avoid unnecessary lstat(2) calls.
* Performance tweak on "git push" into a repository with many refs
that point at objects we have never heard of.
* PerfTest fix to avoid stale result mixed up with the latest round
of test results.
* Hide lower-level verify_signed-buffer() API as a pure helper to
implement the public check_signature() function, in order to
encourage new callers to use the correct and more strict
validation.
* Unnecessary reading of state variables back from the disk during
sequencer operation has been reduced.
* The code has been made to avoid gmtime() and localtime() and prefer
their reentrant counterparts.
* The effort to reimplement "git add -i" in C continues.
* In a repository with many packfiles, the cost of the procedure that
avoids registering the same packfile twice was unnecessarily high
by using an inefficient search algorithm, which has been corrected.
* Redo "git name-rev" to avoid recursive calls.
Fixes since v2.24
-----------------
* "rebase -i" ceased to run post-commit hook by mistake in an earlier
update, which has been corrected.
* "git notes copy $original" ought to copy the notes attached to the
original object to HEAD, but a mistaken tightening to command line
parameter validation made earlier disabled that feature by mistake.
* When all files from some subdirectory were renamed to the root
directory, the directory rename heuristics would fail to detect that
as a rename/merge of the subdirectory to the root directory, which has
been corrected.
* Code clean-up and a bugfix in the logic used to tell worktree local
and repository global refs apart.
(merge f45f88b2e4 sg/dir-trie-fixes later to maint).
* "git stash save" in a working tree that is sparsely checked out
mistakenly removed paths that are outside the area of interest.
(merge 4a58c3d7f7 js/update-index-ignore-removal-for-skip-worktree later to maint).
* "git rev-parse --git-path HEAD.lock" did not give the right path
when run in a secondary worktree.
(merge 76a53d640f js/git-path-head-dot-lock-fix later to maint).
* "git merge --no-commit" needs "--no-ff" if you do not want to move
HEAD, which has been corrected in the manual page for "git bisect".
(merge 8dd327b246 ma/bisect-doc-sample-update later to maint).
* "git worktree add" internally calls "reset --hard" that should not
descend into submodules, even when submodule.recurse configuration
is set, but it was affected. This has been corrected.
(merge 4782cf2ab6 pb/no-recursive-reset-hard-in-worktree-add later to maint).
* Messages from die() etc. can be mixed up from multiple processes
without even line buffering on Windows, which has been worked
around.
(merge 116d1fa6c6 js/vreportf-wo-buffering later to maint).
* HTTP transport had possible allocator/deallocator mismatch, which
has been corrected.
* The watchman integration for fsmonitor was racy, which has been
corrected to be more conservative.
(merge dd0b61f577 kw/fsmonitor-watchman-fix later to maint).
* Fetching from multiple remotes into the same repository in parallel
had a bad interaction with the recent change to (optionally) update
the commit-graph after a fetch job finishes, as these parallel
fetches compete with each other. Which has been corrected.
* Recent update to "git stash pop" made the command empty the index
when run with the "--quiet" option, which has been corrected.
* "git fetch" codepath had a big "do not lazily fetch missing objects
when I ask if something exists" switch. This has been corrected by
marking the "does this thing exist?" calls with "if not please do not
lazily fetch it" flag.
* Test update to avoid wasted cycles.
(merge e0316695ec sg/skip-skipped-prereq later to maint).
* Error handling after "git push" finishes sending the packdata and
waits for the response to the remote side has been improved.
(merge ad7a403268 jk/send-pack-remote-failure later to maint).
* Some codepaths in "gitweb" that forgot to escape URLs generated
based on end-user input have been corrected.
(merge a376e37b2c jk/gitweb-anti-xss later to maint).
* CI jobs for macOS has been made less chatty when updating perforce
package used during testing.
(merge 0dbc4a0edf jc/azure-ci-osx-fix-fix later to maint).
* "git unpack-objects" used to show progress based only on the number
of received and unpacked objects, which stalled when it has to
handle an unusually large object. It now shows the throughput as
well.
(merge bae60ba7e9 sg/unpack-progress-throughput later to maint).
* The sequencer machinery compared the HEAD and the state it is
attempting to commit to decide if the result would be a no-op
commit, even when amending a commit, which was incorrect, and
has been corrected.
* The code to parse GPG output used to assume incorrectly that the
finterprint for the primary key would always be present for a valid
signature, which has been corrected.
(merge 67a6ea6300 hi/gpg-optional-pkfp-fix later to maint).
* "git submodule status" and "git submodule status --cached" show
different things, but the documentation did not cover them
correctly, which has been corrected.
(merge 8d483c8408 mg/doc-submodule-status-cached later to maint).
* "git reset --patch $object" without any pathspec should allow a
tree object to be given, but incorrectly required a committish,
which has been corrected.
* "git submodule status" that is run from a subdirectory of the
superproject did not work well, which has been corrected.
(merge 1f3aea22c7 mg/submodule-status-from-a-subdirectory later to maint).
* The revision walking machinery uses resources like per-object flag
bits that need to be reset before a new iteration of walking
begins, but the resources related to topological walk were not
cleared correctly, which has been corrected.
(merge 0aa0c2b2ec mh/clear-topo-walk-upon-reset later to maint).
* TravisCI update.
(merge 176441bfb5 sg/osx-force-gcc-9 later to maint).
* While running "revert" or "cherry-pick --edit" for multiple
commits, a recent regression incorrectly detected "nothing to
commit, working tree clean", instead of replaying the commits,
which has been corrected.
(merge befd4f6a81 sg/assume-no-todo-update-in-cherry-pick later to maint).
* Work around a issue where a FD that is left open when spawning a
child process and is kept open in the child can interfere with the
operation in the parent process on Windows.
* One kind of progress messages were always given during commit-graph
generation, instead of following the "if it takes more than two
seconds, show progress" pattern, which has been corrected.
* "git rebase" did not work well when format.useAutoBase
configuration variable is set, which has been corrected.
* The "diff" machinery learned not to lose added/removed blank lines
in the context when --ignore-blank-lines and --function-context are
used at the same time.
(merge 0bb313a552 rs/xdiff-ignore-ws-w-func-context later to maint).
* The test on "fast-import" used to get stuck when "fast-import" died
in the middle.
(merge 0d9b0d7885 sg/t9300-robustify later to maint).
* "git format-patch" can take a set of configured format.notes values
to specify which notes refs to use in the log message part of the
output. The behaviour of this was not consistent with multiple
--notes command line options, which has been corrected.
(merge e0f9095aaa dl/format-patch-notes-config-fixup later to maint).
* "git p4" used to ignore lfs.storage configuration variable, which
has been corrected.
(merge ea94b16fb8 rb/p4-lfs later to maint).
* Assorted fixes to the directory traversal API.
(merge 6836d2fe06 en/fill-directory-fixes later to maint).
* Other code cleanup, docfix, build fix, etc.
(merge 80736d7c5e jc/am-show-current-patch-docfix later to maint).
(merge 8b656572ca sg/commit-graph-usage-fix later to maint).
(merge 6c02042139 mr/clone-dir-exists-to-path-exists later to maint).
(merge 44ae131e38 sg/blame-indent-heuristics-is-now-the-default later to maint).
(merge 0115e5d929 dl/doc-diff-no-index-implies-exit-code later to maint).
(merge 270de6acbe en/t6024-style later to maint).
(merge 14c4776d75 ns/test-desc-typofix later to maint).
(merge 68d40f30c4 dj/typofix-merge-strat later to maint).
(merge f66e0401ab jk/optim-in-pack-idx-conversion later to maint).
(merge 169bed7421 rs/parse-options-dup-null-fix later to maint).
(merge 51bd6be32d rs/use-copy-array-in-mingw-shell-command-preparation later to maint).
(merge b018719927 ma/t7004 later to maint).
(merge 932757b0cc ar/install-doc-update-cmds-needing-the-shell later to maint).
(merge 46efd28be1 ep/guard-kset-tar-headers later to maint).
(merge 9e5afdf997 ec/fetch-mark-common-refs-trace2 later to maint).
(merge f0e58b3fe8 pb/submodule-update-fetches later to maint).
(merge 2a02262078 dl/t5520-cleanup later to maint).
(merge a4fb016ba1 js/pkt-line-h-typofix later to maint).
(merge 54a7a64613 rs/simplify-prepare-cmd later to maint).
(merge 3eae30e464 jk/lore-is-the-archive later to maint).
(merge 14b7664df8 dl/lore-is-the-archive later to maint).
(merge 0e40a73a4c po/bundle-doc-clonable later to maint).
(merge e714b898c6 as/t7812-missing-redirects-fix later to maint).
(merge 528d9e6d01 jk/perf-wo-git-dot-pm later to maint).
(merge fc42f20e24 sg/test-squelch-noise-in-commit-bulk later to maint).
(merge c64368e3a2 bc/t9001-zsh-in-posix-emulation-mode later to maint).
(merge 11de8dd7ef dr/branch-usage-casefix later to maint).
(merge e05e8cf074 rs/archive-zip-code-cleanup later to maint).
(merge 147ee35558 rs/commit-export-env-simplify later to maint).
(merge 4507ecc771 rs/patch-id-use-oid-to-hex later to maint).
(merge 51a0a4ed95 mr/bisect-use-after-free later to maint).
(merge cc2bd5c45d pb/submodule-doc-xref later to maint).
(merge df5be01669 ja/doc-markup-cleanup later to maint).
(merge 7c5cea7242 mr/bisect-save-pointer-to-const-string later to maint).
----------------------------------------------------------------
Changes since v2.24.0 are as follows:
Alban Gruin (6):
sequencer: update `total_nr' when adding an item to a todo list
sequencer: update `done_nr' when skipping commands in a todo list
sequencer: move the code writing total_nr on the disk to a new function
rebase: fill `squash_onto' in get_replay_opts()
sequencer: directly call pick_commits() from complete_action()
sequencer: fix a memory leak in sequencer_continue()
Alexandr Miloslavskiy (14):
parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
pathspec: add new function to parse file
doc: reset: synchronize <pathspec> description
reset: support the `--pathspec-from-file` option
doc: commit: synchronize <pathspec> description
commit: support the --pathspec-from-file option
cmd_add: prepare for next patch
add: support the --pathspec-from-file option
doc: checkout: remove duplicate synopsis
doc: checkout: fix broken text reference
doc: checkout: synchronize <pathspec> description
doc: restore: synchronize <pathspec> description
checkout, restore: support the --pathspec-from-file option
commit: forbid --pathspec-from-file --all
Andreas Schwab (1):
t7812: add missing redirects
Andrei Rybak (1):
INSTALL: use existing shell scripts as example
Colin Stolley (1):
packfile.c: speed up loading lots of packfiles
Daniel Ferreira (2):
diff: export diffstat interface
built-in add -i: implement the `status` command
Denton Liu (93):
format-patch: replace erroneous and condition
format-patch: use enum variables
format-patch: teach --cover-from-description option
rebase: hide --preserve-merges option
t4108: replace create_file with test_write_lines
t4108: remove git command upstream of pipe
t4108: use `test_config` instead of `git config`
t4108: demonstrate bug in apply
apply: respect merge.conflictStyle in --3way
submodule: teach set-url subcommand
git-diff.txt: document return code of `--no-index`
completion: learn to complete `git rebase --onto=`
t4215: use helper function to check output
argv-array: add space after `while`
rev-list-options.txt: remove reference to --show-notes
SubmittingPatches: use generic terms for hash
pretty-formats.txt: use generic terms for hash
SubmittingPatches: remove dq from commit reference
completion: complete `tformat:` pretty format
revision: make get_revision_mark() return const pointer
pretty.c: inline initalize format_context
t4205: cover `git log --reflog -z` blindspot
pretty: add struct cmt_fmt_map::default_date_mode_type
pretty: implement 'reference' format
SubmittingPatches: use `--pretty=reference`
pretty-options.txt: --notes accepts a ref instead of treeish
t3206: remove spaces after redirect operators
t3206: disable parameter substitution in heredoc
t3206: s/expected/expect/
t3206: range-diff compares logs with commit notes
range-diff: output `## Notes ##` header
range-diff: pass through --notes to `git log`
format-patch: pass notes configuration to range-diff
t0000: test multiple local assignment
t: teach test_cmp_rev to accept ! for not-equals
t5520: improve test style
t5520: use sq for test case names
t5520: let sed open its own input
t5520: replace test -f with test-lib functions
t5520: remove spaces after redirect operator
t5520: use test_line_count where possible
t5520: replace test -{n,z} with test-lib functions
t5520: use test_cmp_rev where possible
t5520: test single-line files by git with test_cmp
t5520: don't put git in upstream of pipe
t5520: replace $(cat ...) comparison with test_cmp
t5520: remove redundant lines in test cases
t5520: replace `! git` with `test_must_fail git`
lib-bash.sh: move `then` onto its own line
apply-one-time-sed.sh: modernize style
t0014: remove git command upstream of pipe
t0090: stop losing return codes of git commands
t3301: stop losing return codes of git commands
t3600: use test_line_count() where possible
t3600: stop losing return codes of git commands
t3600: comment on inducing SIGPIPE in `git rm`
t4015: stop losing return codes of git commands
t4015: use test_write_lines()
t4138: stop losing return codes of git commands
t5317: stop losing return codes of git commands
t5317: use ! grep to check for no matching lines
t5703: simplify one-time-sed generation logic
t5703: stop losing return codes of git commands
t7501: remove spaces after redirect operators
t7501: stop losing return codes of git commands
t7700: drop redirections to /dev/null
t7700: remove spaces after redirect operators
t7700: move keywords onto their own line
t7700: s/test -f/test_path_is_file/
doc: replace MARC links with lore.kernel.org
RelNotes: replace Gmane with real Message-IDs
doc: replace LKML link with lore.kernel.org
t7700: consolidate code into test_no_missing_in_packs()
t7700: consolidate code into test_has_duplicate_object()
t7700: replace egrep with grep
t7700: make references to SHA-1 generic
t7700: stop losing return codes of git commands
t3400: demonstrate failure with format.useAutoBase
format-patch: fix indentation
t4014: use test_config()
format-patch: teach --no-base
rebase: fix format.useAutoBase breakage
t3206: fix incorrect test name
range-diff: mark pointers as const
range-diff: clear `other_arg` at end of function
notes: rename to load_display_notes()
notes: create init_display_notes() helper
notes: extract logic into set_display_notes()
format-patch: use --notes behavior for format.notes
format-patch: move git_config() before repo_init_revisions()
config/format.txt: clarify behavior of multiple format.notes
notes: break set_display_notes() into smaller functions
notes.h: fix typos in comment
Derrick Stolee (22):
test-tool: use 'read-graph' helper
sparse-checkout: create builtin with 'list' subcommand
sparse-checkout: create 'init' subcommand
clone: add --sparse mode
sparse-checkout: 'set' subcommand
sparse-checkout: add '--stdin' option to set subcommand
sparse-checkout: create 'disable' subcommand
sparse-checkout: add 'cone' mode
sparse-checkout: use hashmaps for cone patterns
sparse-checkout: init and set in cone mode
unpack-trees: hash less in cone mode
unpack-trees: add progress to clear_ce_flags()
sparse-checkout: sanitize for nested folders
sparse-checkout: update working directory in-process
sparse-checkout: use in-process update for disable subcommand
sparse-checkout: write using lockfile
sparse-checkout: cone mode should not interact with .gitignore
sparse-checkout: update working directory in-process for 'init'
sparse-checkout: check for dirty status
progress: create GIT_PROGRESS_DELAY
commit-graph: use start_delayed_progress()
sparse-checkout: respect core.ignoreCase in cone mode
Dimitriy Ryazantcev (1):
l10n: minor case fix in 'git branch' '--unset-upstream' description
Doan Tran Cong Danh (14):
t3301: test diagnose messages for too few/many paramters
notes: fix minimum number of parameters to "copy" subcommand
t0028: eliminate non-standard usage of printf
configure.ac: define ICONV_OMITS_BOM if necessary
t3900: demonstrate git-rebase problem with multi encoding
sequencer: reencode to utf-8 before arrange rebase's todo list
sequencer: reencode revert/cherry-pick's todo list
sequencer: reencode squashing commit's message
sequencer: reencode old merge-commit message
sequencer: reencode commit message for am/rebase --show-current-patch
sequencer: handle rebase-merges for "onto" message
date.c: switch to reentrant {gm,local}time_r
archive-zip.c: switch to reentrant localtime_r
mingw: use {gm,local}time_s as backend for {gm,local}time_r
Dominic Jäger (1):
merge-strategies: fix typo "reflected to" to "reflected in"
Ed Maste (3):
t4210: skip i18n tests that don't work on FreeBSD
userdiff: remove empty subexpression from elixir regex
sparse-checkout: improve OS ls compatibility
Elia Pinto (1):
kset.h, tar.h: add missing header guard to prevent multiple inclusion
Elijah Newren (26):
merge-recursive: clean up get_renamed_dir_portion()
merge-recursive: fix merging a subdirectory into the root directory
t604[236]: do not run setup in separate tests
Documentation: fix a bunch of typos, both old and new
Fix spelling errors in documentation outside of Documentation/
git-filter-branch.txt: correct argument name typo
hashmap: fix documentation misuses of -> versus .
name-hash.c: remove duplicate word in comment
t6024: modernize style
Fix spelling errors in code comments
Fix spelling errors in comments of testcases
Fix spelling errors in names of tests
Fix spelling errors in messages shown to users
Fix spelling errors in test commands
sha1dc: fix trivial comment spelling error
multimail: fix a few simple spelling errors
Fix spelling errors in no-longer-updated-from-upstream modules
t3011: demonstrate directory traversal failures
Revert "dir.c: make 'git-status --ignored' work within leading directories"
dir: remove stray quote character in comment
dir: exit before wildcard fall-through if there is no wildcard
dir: break part of read_directory_recursive() out for reuse
t3434: mark successful test as such
dir: fix checks on common prefix directory
dir: synchronize treat_leading_path() and read_directory_recursive()
dir: consolidate similar code in treat_directory()
Emily Shaffer (4):
documentation: add tutorial for object walking
myfirstcontrib: add 'psuh' to command-list.txt
myfirstcontrib: add dependency installation step
myfirstcontrib: hint to find gitgitgadget allower
Erik Chen (1):
fetch: add trace2 instrumentation
Garima Singh (2):
test-path-utils: offer to run a protectNTFS/protectHFS benchmark
tests: add a helper to stress test argument quoting
Hans Jerry Illikainen (4):
gpg-interface: refactor the free-and-xmemdupz pattern
gpg-interface: limit search for primary key fingerprint
gpg-interface: prefer check_signature() for GPG verification
grep: don't return an expression from pcre2_free()
Hariom Verma (2):
builtin/blame.c: constants into bit shift format
git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
Heba Waly (22):
config: move documentation to config.h
documentation: remove empty doc files
diff: move doc to diff.h and diffcore.h
dir: move doc to dir.h
graph: move doc to graph.h and graph.c
merge: move doc to ll-merge.h
sha1-array: move doc to sha1-array.h
remote: move doc to remote.h and refspec.h
refs: move doc to refs.h
attr: move doc to attr.h
revision: move doc to revision.h
pathspec: move doc to pathspec.h
sigchain: move doc to sigchain.h
cache: move doc to cache.h
argv-array: move doc to argv-array.h
credential: move doc to credential.h
parse-options: add link to doc file in parse-options.h
run-command: move doc to run-command.h
trace: move doc to trace.h
tree-walk: move doc to tree-walk.h
submodule-config: move doc to submodule-config.h
trace2: move doc to trace2.h
James Coglan (13):
graph: automatically track display width of graph lines
graph: handle line padding in `graph_next_line()`
graph: reuse `find_new_column_by_commit()`
graph: reduce duplication in `graph_insert_into_new_columns()`
graph: remove `mapping_idx` and `graph_update_width()`
graph: extract logic for moving to GRAPH_PRE_COMMIT state
graph: example of graph output that can be simplified
graph: tidy up display of left-skewed merges
graph: commit and post-merge lines for left-skewed merges
graph: rename `new_mapping` to `old_mapping`
graph: smooth appearance of collapsing edges on commit lines
graph: flatten edges that fuse with their right neighbor
graph: fix coloring of octopus dashes
James Shubin (1):
completion: tab-complete "git svn --recursive"
Jean-Noël Avila (2):
doc: remove non pure ASCII characters
doc: indent multi-line items in list
Jeff Hostetler (1):
trace2: add region in clear_ce_flags
Jeff King (44):
parse_commit_buffer(): treat lookup_commit() failure as parse error
parse_commit_buffer(): treat lookup_tree() failure as parse error
parse_tag_buffer(): treat NULL tag pointer as parse error
commit, tag: don't set parsed bit for parse failures
fsck: stop checking commit->tree value
fsck: stop checking commit->parent counts
fsck: stop checking tag->tagged
fsck: require an actual buffer for non-blobs
fsck: unify object-name code
fsck_describe_object(): build on our get_object_name() primitive
fsck: use oids rather than objects for object_name API
fsck: don't require object structs for display functions
fsck: only provide oid/type in fsck_error callback
fsck: only require an oid for skiplist functions
fsck: don't require an object struct for report()
fsck: accept an oid instead of a "struct blob" for fsck_blob()
fsck: drop blob struct from fsck_finish()
fsck: don't require an object struct for fsck_ident()
fsck: don't require an object struct in verify_headers()
fsck: rename vague "oid" local variables
fsck: accept an oid instead of a "struct tag" for fsck_tag()
fsck: accept an oid instead of a "struct commit" for fsck_commit()
fsck: accept an oid instead of a "struct tree" for fsck_tree()
hex: drop sha1_to_hex_r()
pack-objects: avoid pointless oe_map_new_pack() calls
hex: drop sha1_to_hex()
send-pack: check remote ref status on pack-objects failure
t9502: pass along all arguments in xss helper
t/gitweb-lib.sh: drop confusing quotes
t/gitweb-lib.sh: set $REQUEST_URI
gitweb: escape URLs generated by href()
rev-parse: make --show-toplevel without a worktree an error
perf-lib: use a single filename for all measurement types
t/perf: don't depend on Git.pm
send-pack: use OBJECT_INFO_QUICK to check negative objects
doc: recommend lore.kernel.org over public-inbox.org
doc: replace public-inbox links with lore.kernel.org
t9300: drop some useless uses of cat
t9300: create marks files for double-import-marks test
fast-import: tighten parsing of boolean command line options
fast-import: stop creating leading directories for import-marks
fast-import: delay creating leading directories for export-marks
fast-import: disallow "feature export-marks" by default
fast-import: disallow "feature import-marks" by default
Johannes Schindelin (93):
t1400: wrap setup code in test case
git_path(): handle `.lock` files correctly
vreportf(): avoid relying on stdio buffering
update-index: optionally leave skip-worktree entries alone
stash: handle staged changes in skip-worktree files correctly
fetch: add the command-line option `--write-commit-graph`
fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
remote-curl: unbreak http.extraHeader with custom allocators
Start to implement a built-in version of `git add --interactive`
built-in add -i: implement the main loop
built-in add -i: show unique prefixes of the commands
built-in add -i: support `?` (prompt help)
rebase-merges: move labels' whitespace mangling into `label_oid()`
git svn: stop using `rebase --preserve-merges`
mingw: demonstrate that all file handles are inherited by child processes
mingw: work around incorrect standard handles
mingw: spawned processes need to inherit only standard handles
mingw: restrict file handle inheritance only on Windows 7 and later
mingw: do set `errno` correctly when trying to restrict handle inheritance
add-interactive: make sure to release `rev.prune_data`
built-in add -i: allow filtering the modified files list
built-in add -i: prepare for multi-selection commands
built-in add -i: implement the `update` command
built-in add -i: re-implement `revert` in C
built-in add -i: re-implement `add-untracked` in C
built-in add -i: implement the `patch` command
built-in add -i: re-implement the `diff` command
built-in add -i: offer the `quit` command
pkt-line: fix a typo
mingw: forbid translating ERROR_SUCCESS to an errno value
clone --recurse-submodules: prevent name squatting on Windows
mingw: disallow backslash characters in tree objects' file names
path.c: document the purpose of `is_ntfs_dotgit()`
is_ntfs_dotgit(): only verify the leading segment
path: safeguard `.git` against NTFS Alternate Streams Accesses
is_ntfs_dotgit(): speed it up
mingw: fix quoting of arguments
path: also guard `.gitmodules` against NTFS Alternate Data Streams
protect_ntfs: turn on NTFS protection by default
Disallow dubiously-nested submodule git directories
quote-stress-test: accept arguments to test via the command-line
t6130/t9350: prepare for stringent Win32 path validation
quote-stress-test: allow skipping some trials
unpack-trees: let merged_entry() pass through do_add_entry()'s errors
mingw: refuse to access paths with illegal characters
quote-stress-test: offer to test quoting arguments for MSYS2 sh
mingw: refuse to access paths with trailing spaces or periods
mingw: handle `subst`-ed "DOS drives"
Git 2.14.6
Git 2.15.4
test-drop-caches: use `has_dos_drive_prefix()`
Git 2.16.6
Git 2.17.3
Git 2.18.2
Git 2.19.3
t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
Git 2.20.2
mingw: detect when MSYS2's sh is to be spawned more robustly
mingw: use MSYS2 quoting even when spawning shell scripts
mingw: fix quoting of empty arguments for `sh`
t7415: drop v2.20.x-specific work-around
mingw: sh arguments need quoting in more circumstances
Git 2.21.1
Git 2.22.2
Git 2.23.1
Git 2.24.1
t3701: add a test for advanced split-hunk editing
t3701: avoid depending on the TTY prerequisite
t3701: add a test for the different `add -p` prompts
t3701: verify the shown messages when nothing can be added
t3701: verify that the diff.algorithm config setting is handled
git add -p: use non-zero exit code when the diff generation failed
apply --allow-overlap: fix a corner case
t3404: fix indentation
built-in add -i: start implementing the `patch` functionality in C
built-in add -i: wire up the new C code for the `patch` command
built-in add -p: show colored hunks by default
built-in add -p: adjust hunk headers as needed
built-in add -p: color the prompt and the help text
built-in add -p: offer a helpful error message when hunk navigation failed
built-in add -p: support multi-file diffs
built-in add -p: handle deleted empty files
built-in app -p: allow selecting a mode change as a "hunk"
built-in add -p: show different prompts for mode changes and deletions
built-in add -p: implement the hunk splitting feature
built-in add -p: coalesce hunks after splitting them
strbuf: add a helper function to call the editor "on an strbuf"
built-in add -p: implement hunk editing
built-in add -p: implement the 'g' ("goto") command
built-in add -p: implement the '/' ("search regex") command
built-in add -p: implement the 'q' ("quit") command
built-in add -p: only show the applicable parts of the help text
built-in add -p: show helpful hint when nothing can be staged
Jonathan Nieder (3):
submodule: reject submodule.update = !command in .gitmodules
fsck: reject submodule.update = !command in .gitmodules
submodule: defend against submodule.update = !command in .gitmodules
Jonathan Tan (6):
fetch-pack: write fetched refs to .promisor
fetch: remove fetch_if_missing=0
clone: remove fetch_if_missing=0
promisor-remote: remove fetch_if_missing=0
Doc: explain submodule.alternateErrorStrategy
submodule--helper: advise on fatal alternate error
Josh Holland (1):
userdiff: support Python async functions
Junio C Hamano (13):
doc: am --show-current-patch gives an entire e-mail message
The first batch post 2.24 cycle
fsmonitor: do not compare bitmap size with size of split index
ci(osx): update homebrew-cask repository with less noise
rebase -i: finishing touches to --reset-author-date
The second batch
The third batch
The fourth batch
The fifth batch
Makefile: drop GEN_HDRS
The sixth batch
dir.c: use st_add3() for allocation size
Git 2.25-rc0
Kevin Willford (1):
fsmonitor: fix watchman integration
Manish Goregaokar (2):
doc: document 'git submodule status --cached'
submodule: fix 'submodule status' when called from a subdirectory
Martin Ågren (1):
t7004: check existence of correct tag
Matthew Rogers (1):
rebase -r: let `label` generate safer labels
Mihail Atanassov (1):
Documentation/git-bisect.txt: add --no-ff to merge command
Mike Hommey (2):
revision: clear the topo-walk flags in reset_revision_walk
revision: free topo_walk_info before creating a new one in init_topo_walk
Miriam Rubio (1):
clone: rename static function `dir_exists()`.
Nathan Stocks (1):
t: fix typo in test descriptions
Naveen Nathan (1):
doc: improve readability of --rebase-merges in git-rebase
Nika Layzell (1):
reset: parse rev as tree-ish in patch mode
Philip Oakley (1):
Doc: Bundle file usage
Philippe Blain (4):
help: add gitsubmodules to the list of guides
worktree: teach "add" to ignore submodule.recurse config
doc: mention that 'git submodule update' fetches missing commits
gitmodules: link to gitsubmodules guide
Phillip Wood (7):
t3404: remove unnecessary subshell
t3404: set $EDITOR in subshell
t3404: remove uneeded calls to set_fake_editor
sequencer.h fix placement of #endif
move run_commit_hook() to libgit and use it there
sequencer: run post-commit hook
sequencer: fix empty commit check when amending
Prarit Bhargava (3):
t6006: use test-lib.sh definitions
t4203: use test-lib.sh definitions
pretty: add "%aL" etc. to show local-part of email addresses
Pratyush Yadav (1):
git-shortlog.txt: include commit limiting options
Ralf Thielow (1):
fetch.c: fix typo in a warning message
René Scharfe (32):
trace2: add dots directly to strbuf in perf_fmt_prepare()
utf8: use skip_iprefix() in same_utf_encoding()
convert: use skip_iprefix() in validate_encoding()
mingw: use COPY_ARRAY for copying array
parse-options: avoid arithmetic on pointer that's potentially NULL
pretty: provide short date format
fetch: use skip_prefix() instead of starts_with()
fmt-merge-msg: use skip_prefix() instead of starts_with()
shell: use skip_prefix() instead of starts_with()
push: use skip_prefix() instead of starts_with()
name-rev: use skip_prefix() instead of starts_with()
run-command: use prepare_git_cmd() in prepare_cmd()
t1512: use test_line_count
t1410: use test_line_count
t1400: use test_must_be_empty
test: use test_must_be_empty F instead of test -z $(cat F)
test: use test_must_be_empty F instead of test_cmp empty F
t9300: don't create unused file
t7811: don't create unused file
xdiff: unignore changes in function context
name-rev: use strbuf_strip_suffix() in get_rev_name()
commit: use strbuf_add() to add a length-limited string
patch-id: use oid_to_hex() to print multiple object IDs
archive-zip: use enum for compression method
t4256: don't create unused file
t7004: don't create unused file
refs: pass NULL to refs_read_ref_full() because object ID is not needed
remote: pass NULL to read_ref_full() because object ID is not needed
t3501: don't create unused file
t5580: don't create unused file
t6030: don't create unused file
t4015: improve coverage of function context test
Robin H. Johnson (3):
bundle: framework for options before bundle file
bundle-create: progress output control
bundle-verify: add --quiet
Rohit Ashiwal (6):
rebase -i: add --ignore-whitespace flag
sequencer: allow callers of read_author_script() to ignore fields
rebase -i: support --committer-date-is-author-date
sequencer: rename amend_author to author_to_rename
rebase -i: support --ignore-date
rebase: add --reset-author-date
Ruud van Asseldonk (1):
t5150: skip request-pull test if Perl is disabled
SZEDER Gábor (29):
Documentation: mention more worktree-specific exceptions
path.c: clarify trie_find()'s in-code comment
path.c: mark 'logs/HEAD' in 'common_list' as file
path.c: clarify two field names in 'struct common_dir'
path.c: don't call the match function without value in trie_find()
builtin/commit-graph.c: remove subcommand-less usage string
builtin/blame.c: remove '--indent-heuristic' from usage string
test-lib: don't check prereqs of test cases that won't be run anyway
t6120-describe: correct test repo history graph in comment
builtin/unpack-objects.c: show throughput progress
tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
sequencer: don't re-read todo for revert and cherry-pick
test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
ci: build Git with GCC 9 in the 'osx-gcc' build job
t9300-fast-import: store the PID in a variable instead of pidfile
t9300-fast-import: don't hang if background fast-import exits too early
t6120-describe: modernize the 'check_describe' helper
name-rev: avoid unnecessary cast in name_ref()
name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
name-rev: extract creating/updating a 'struct name_rev' into a helper
name-rev: pull out deref handling from the recursion
name-rev: restructure parsing commits and applying date cutoff
name-rev: restructure creating/updating 'struct rev_name' instances
name-rev: drop name_rev()'s 'generation' and 'distance' parameters
name-rev: use 'name->tip_name' instead of 'tip_name'
name-rev: eliminate recursion in name_rev()
name-rev: cleanup name_ref()
Slavica Đukić (3):
built-in add -i: color the header in the `status` command
built-in add -i: use color in the main loop
built-in add -i: implement the `help` command
Tanushree Tumane (2):
bisect--helper: avoid use-after-free
bisect--helper: convert `*_warning` char pointers to char arrays.
Thomas Gummerer (1):
stash: make sure we have a valid index before writing it
Todd Zullinger (1):
t7812: expect failure for grep -i with invalid UTF-8 data
Utsav Shah (1):
unpack-trees: skip stat on fsmonitor-valid files
William Baker (6):
midx: add MIDX_PROGRESS flag
midx: add progress to write_midx_file
midx: add progress to expire_midx_packs
midx: honor the MIDX_PROGRESS flag in verify_midx_file
midx: honor the MIDX_PROGRESS flag in midx_repack
multi-pack-index: add [--[no-]progress] option.
brian m. carlson (16):
t/oid-info: allow looking up hash algorithm name
t/oid-info: add empty tree and empty blob values
rev-parse: add a --show-object-format option
t1305: avoid comparing extensions
t3429: remove SHA1 annotation
t4010: abstract away SHA-1-specific constants
t4011: abstract away SHA-1-specific constants
t4015: abstract away SHA-1-specific constants
t4027: make hash-size independent
t4034: abstract away SHA-1-specific constants
t4038: abstract away SHA-1 specific constants
t4039: abstract away SHA-1-specific constants
t4044: update test to work with SHA-256
t4045: make hash-size independent
t4048: abstract away SHA-1-specific constants
t9001: avoid including non-trailing NUL bytes in variables
r.burenkov (1):
git-p4: honor lfs.storage configuration variable
ryenus (1):
fix-typo: consecutive-word duplications
Łukasz Niemier (1):
userdiff: add Elixir to supported userdiff languages
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2019-12-25 21:44 [ANNOUNCE] Git v2.25.0-rc0 Junio C Hamano
@ 2019-12-26 0:33 ` Denton Liu
2019-12-26 14:35 ` Danh Doan
` (2 subsequent siblings)
3 siblings, 0 replies; 12+ messages in thread
From: Denton Liu @ 2019-12-26 0:33 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Linux Kernel, git-packagers
Thanks for your hard work, Junio. Merry Christmas!
On Wed, Dec 25, 2019 at 01:44:54PM -0800, Junio C Hamano wrote:
>
> An early preview release Git v2.25.0-rc0 is now available for
> testing at the usual places. It is comprised of 531 non-merge
> commits since v2.24.0, contributed by 61 people, 24 of which are
> new faces.
>
> The tarballs are found at:
>
> https://www.kernel.org/pub/software/scm/git/testing/
>
> The following public repositories all have a copy of the
> 'v2.25.0-rc0' 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 contributions weren't in v2.24.0 are as follows.
> Welcome to the Git development community!
>
> Colin Stolley, Doan Tran Cong Danh, Dominic Jäger, Erik Chen,
> Hariom Verma, Heba Waly, James Coglan, James Shubin, Josh
> Holland, Łukasz Niemier, Manish Goregaokar, Matthew Rogers,
> Mihail Atanassov, Miriam Rubio, Nathan Stocks, Naveen Nathan,
> Nika Layzell, Philippe Blain, Prarit Bhargava, r.burenkov,
> Ruud van Asseldonk, ryenus, Slavica Đukić, and Utsav Shah.
>
> Returning contributors who helped this release are as follows.
> Thanks for your continued support.
>
> Alban Gruin, Alexandr Miloslavskiy, Andreas Schwab, Andrei Rybak,
> brian m. carlson, Daniel Ferreira, Denton Liu, Derrick Stolee,
> Dimitriy Ryazantcev, Ed Maste, Elia Pinto, Elijah Newren, Emily
> Shaffer, Garima Singh, Hans Jerry Illikainen, Jean-Noël Avila,
> Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder,
> Jonathan Tan, Junio C Hamano, Kevin Willford, Martin Ågren,
> Mike Hommey, Philip Oakley, Phillip Wood, Pratyush Yadav,
> Ralf Thielow, René Scharfe, Robin H. Johnson, Rohit Ashiwal,
> SZEDER Gábor, Tanushree Tumane, Thomas Gummerer, Todd Zullinger,
> and William Baker.
>
> ----------------------------------------------------------------
>
> Git 2.25 Release Notes (draft)
> ==============================
>
> Updates since v2.24
> -------------------
>
> Backward compatibility notes
>
>
> UI, Workflows & Features
>
> * A tutorial on object enumeration has been added.
>
> * The branch description ("git branch --edit-description") has been
> used to fill the body of the cover letters by the format-patch
> command; this has been enhanced so that the subject can also be
> filled.
>
> * "git rebase --preserve-merges" has been marked as deprecated; this
> release stops advertising it in the "git rebase -h" output.
>
> * The code to generate multi-pack index learned to show (or not to
> show) progress indicators.
>
> * "git apply --3way" learned to honor merge.conflictStyle
> configuration variable, like merges would.
>
> * The custom format for "git log --format=<format>" learned the l/L
> placeholder that is similar to e/E that fills in the e-mail
> address, but only the local part on the left side of '@'.
>
> * Documentation pages for "git shortlog" now list commit limiting
> options explicitly.
>
> * The patterns to detect function boundary for Elixir language has
> been added.
>
> * The completion script (in contrib/) learned that the "--onto"
> option of "git rebase" can take its argument as the value of the
> option.
>
> * The userdiff machinery has been taught that "async def" is another
> way to begin a "function" in Python.
>
> * "git range-diff" learned to take the "--notes=<ref>" and the
> "--no-notes" options to control the commit notes included in the
> log message that gets compared.
>
> * "git rev-parse --show-toplevel" run outside of any working tree did
> not error out, which has been corrected.
>
> * A few commands learned to take the pathspec from the standard input
> or a named file, instead of taking it as the command line
> arguments, with the "--pathspec-from-file" option.
>
> * "git rebase -i" learned a few options that are known by "git
> rebase" proper.
>
> * "git submodule" learned a subcommand "set-url".
>
> * "git log" family learned "--pretty=reference" that gives the name
> of a commit in the format that is often used to refer to it in log
> messages.
>
> * The interaction between "git clone --recurse-submodules" and
> alternate object store was ill-designed. The documentation and
> code have been taught to make more clear recommendations when the
> users see failures.
>
> * Management of sparsely checked-out working tree has gained a
> dedicated "sparse-checkout" command.
>
>
> Performance, Internal Implementation, Development Support etc.
>
> * Debugging support for lazy cloning has been a bit improved.
>
> * Move the definition of a set of bitmask constants from 0ctal
> literal to (1U<<count) notation.
>
> * Test updates to prepare for SHA-2 transition continues.
>
> * Crufty code and logic accumulated over time around the object
> parsing and low-level object access used in "git fsck" have been
> cleaned up.
>
> * The implementation of "git log --graph" got refactored and then its
> output got simplified.
>
> * Follow recent push to move API docs from Documentation/ to header
> files and update config.h
>
> * "git bundle" has been taught to use the parse options API. "git
> bundle verify" learned "--quiet" and "git bundle create" learned
> options to control the progress output.
>
> * Handling of commit objects that use non UTF-8 encoding during
> "rebase -i" has been improved.
>
> * The beginning of rewriting "git add -i" in C.
>
> * A label used in the todo list that are generated by "git rebase
> --rebase-merges" is used as a part of a refname; the logic to come
> up with the label has been tightened to avoid names that cannot be
> used as such.
>
> * The logic to avoid duplicate label names generated by "git rebase
> --rebase-merges" forgot that the machinery itself uses "onto" as a
> label name, which must be avoided by auto-generated labels, which
> has been corrected.
>
> * We have had compatibility fallback macro definitions for "PRIuMAX",
> "PRIu32", etc. but did not for "PRIdMAX", while the code used the
> last one apparently without any hiccup reported recently. The
> fallback macro definitions for these <inttypes.h> macros that must
> appear in C99 systems have been removed.
>
> * Recently we have declared that GIT_TEST_* variables take the
> usual boolean values (it used to be that some used "non-empty
> means true" and taking GIT_TEST_VAR=YesPlease as true); make
> sure we notice and fail when non-bool strings are given to
> these variables.
>
> * Users of oneway_merge() (like "reset --hard") learned to take
> advantage of fsmonitor to avoid unnecessary lstat(2) calls.
>
> * Performance tweak on "git push" into a repository with many refs
> that point at objects we have never heard of.
>
> * PerfTest fix to avoid stale result mixed up with the latest round
> of test results.
>
> * Hide lower-level verify_signed-buffer() API as a pure helper to
> implement the public check_signature() function, in order to
> encourage new callers to use the correct and more strict
> validation.
>
> * Unnecessary reading of state variables back from the disk during
> sequencer operation has been reduced.
>
> * The code has been made to avoid gmtime() and localtime() and prefer
> their reentrant counterparts.
>
> * The effort to reimplement "git add -i" in C continues.
>
> * In a repository with many packfiles, the cost of the procedure that
> avoids registering the same packfile twice was unnecessarily high
> by using an inefficient search algorithm, which has been corrected.
>
> * Redo "git name-rev" to avoid recursive calls.
>
>
> Fixes since v2.24
> -----------------
>
> * "rebase -i" ceased to run post-commit hook by mistake in an earlier
> update, which has been corrected.
>
> * "git notes copy $original" ought to copy the notes attached to the
> original object to HEAD, but a mistaken tightening to command line
> parameter validation made earlier disabled that feature by mistake.
>
> * When all files from some subdirectory were renamed to the root
> directory, the directory rename heuristics would fail to detect that
> as a rename/merge of the subdirectory to the root directory, which has
> been corrected.
>
> * Code clean-up and a bugfix in the logic used to tell worktree local
> and repository global refs apart.
> (merge f45f88b2e4 sg/dir-trie-fixes later to maint).
>
> * "git stash save" in a working tree that is sparsely checked out
> mistakenly removed paths that are outside the area of interest.
> (merge 4a58c3d7f7 js/update-index-ignore-removal-for-skip-worktree later to maint).
>
> * "git rev-parse --git-path HEAD.lock" did not give the right path
> when run in a secondary worktree.
> (merge 76a53d640f js/git-path-head-dot-lock-fix later to maint).
>
> * "git merge --no-commit" needs "--no-ff" if you do not want to move
> HEAD, which has been corrected in the manual page for "git bisect".
> (merge 8dd327b246 ma/bisect-doc-sample-update later to maint).
>
> * "git worktree add" internally calls "reset --hard" that should not
> descend into submodules, even when submodule.recurse configuration
> is set, but it was affected. This has been corrected.
> (merge 4782cf2ab6 pb/no-recursive-reset-hard-in-worktree-add later to maint).
>
> * Messages from die() etc. can be mixed up from multiple processes
> without even line buffering on Windows, which has been worked
> around.
> (merge 116d1fa6c6 js/vreportf-wo-buffering later to maint).
>
> * HTTP transport had possible allocator/deallocator mismatch, which
> has been corrected.
>
> * The watchman integration for fsmonitor was racy, which has been
> corrected to be more conservative.
> (merge dd0b61f577 kw/fsmonitor-watchman-fix later to maint).
>
> * Fetching from multiple remotes into the same repository in parallel
> had a bad interaction with the recent change to (optionally) update
> the commit-graph after a fetch job finishes, as these parallel
> fetches compete with each other. Which has been corrected.
>
> * Recent update to "git stash pop" made the command empty the index
> when run with the "--quiet" option, which has been corrected.
>
> * "git fetch" codepath had a big "do not lazily fetch missing objects
> when I ask if something exists" switch. This has been corrected by
> marking the "does this thing exist?" calls with "if not please do not
> lazily fetch it" flag.
>
> * Test update to avoid wasted cycles.
> (merge e0316695ec sg/skip-skipped-prereq later to maint).
>
> * Error handling after "git push" finishes sending the packdata and
> waits for the response to the remote side has been improved.
> (merge ad7a403268 jk/send-pack-remote-failure later to maint).
>
> * Some codepaths in "gitweb" that forgot to escape URLs generated
> based on end-user input have been corrected.
> (merge a376e37b2c jk/gitweb-anti-xss later to maint).
>
> * CI jobs for macOS has been made less chatty when updating perforce
> package used during testing.
> (merge 0dbc4a0edf jc/azure-ci-osx-fix-fix later to maint).
>
> * "git unpack-objects" used to show progress based only on the number
> of received and unpacked objects, which stalled when it has to
> handle an unusually large object. It now shows the throughput as
> well.
> (merge bae60ba7e9 sg/unpack-progress-throughput later to maint).
>
> * The sequencer machinery compared the HEAD and the state it is
> attempting to commit to decide if the result would be a no-op
> commit, even when amending a commit, which was incorrect, and
> has been corrected.
>
> * The code to parse GPG output used to assume incorrectly that the
> finterprint for the primary key would always be present for a valid
> signature, which has been corrected.
> (merge 67a6ea6300 hi/gpg-optional-pkfp-fix later to maint).
>
> * "git submodule status" and "git submodule status --cached" show
> different things, but the documentation did not cover them
> correctly, which has been corrected.
> (merge 8d483c8408 mg/doc-submodule-status-cached later to maint).
>
> * "git reset --patch $object" without any pathspec should allow a
> tree object to be given, but incorrectly required a committish,
> which has been corrected.
>
> * "git submodule status" that is run from a subdirectory of the
> superproject did not work well, which has been corrected.
> (merge 1f3aea22c7 mg/submodule-status-from-a-subdirectory later to maint).
>
> * The revision walking machinery uses resources like per-object flag
> bits that need to be reset before a new iteration of walking
> begins, but the resources related to topological walk were not
> cleared correctly, which has been corrected.
> (merge 0aa0c2b2ec mh/clear-topo-walk-upon-reset later to maint).
>
> * TravisCI update.
> (merge 176441bfb5 sg/osx-force-gcc-9 later to maint).
>
> * While running "revert" or "cherry-pick --edit" for multiple
> commits, a recent regression incorrectly detected "nothing to
> commit, working tree clean", instead of replaying the commits,
> which has been corrected.
> (merge befd4f6a81 sg/assume-no-todo-update-in-cherry-pick later to maint).
>
> * Work around a issue where a FD that is left open when spawning a
> child process and is kept open in the child can interfere with the
> operation in the parent process on Windows.
>
> * One kind of progress messages were always given during commit-graph
> generation, instead of following the "if it takes more than two
> seconds, show progress" pattern, which has been corrected.
>
> * "git rebase" did not work well when format.useAutoBase
> configuration variable is set, which has been corrected.
>
> * The "diff" machinery learned not to lose added/removed blank lines
> in the context when --ignore-blank-lines and --function-context are
> used at the same time.
> (merge 0bb313a552 rs/xdiff-ignore-ws-w-func-context later to maint).
>
> * The test on "fast-import" used to get stuck when "fast-import" died
> in the middle.
> (merge 0d9b0d7885 sg/t9300-robustify later to maint).
>
> * "git format-patch" can take a set of configured format.notes values
> to specify which notes refs to use in the log message part of the
> output. The behaviour of this was not consistent with multiple
> --notes command line options, which has been corrected.
> (merge e0f9095aaa dl/format-patch-notes-config-fixup later to maint).
>
> * "git p4" used to ignore lfs.storage configuration variable, which
> has been corrected.
> (merge ea94b16fb8 rb/p4-lfs later to maint).
>
> * Assorted fixes to the directory traversal API.
> (merge 6836d2fe06 en/fill-directory-fixes later to maint).
>
> * Other code cleanup, docfix, build fix, etc.
> (merge 80736d7c5e jc/am-show-current-patch-docfix later to maint).
> (merge 8b656572ca sg/commit-graph-usage-fix later to maint).
> (merge 6c02042139 mr/clone-dir-exists-to-path-exists later to maint).
> (merge 44ae131e38 sg/blame-indent-heuristics-is-now-the-default later to maint).
> (merge 0115e5d929 dl/doc-diff-no-index-implies-exit-code later to maint).
> (merge 270de6acbe en/t6024-style later to maint).
> (merge 14c4776d75 ns/test-desc-typofix later to maint).
> (merge 68d40f30c4 dj/typofix-merge-strat later to maint).
> (merge f66e0401ab jk/optim-in-pack-idx-conversion later to maint).
> (merge 169bed7421 rs/parse-options-dup-null-fix later to maint).
> (merge 51bd6be32d rs/use-copy-array-in-mingw-shell-command-preparation later to maint).
> (merge b018719927 ma/t7004 later to maint).
> (merge 932757b0cc ar/install-doc-update-cmds-needing-the-shell later to maint).
> (merge 46efd28be1 ep/guard-kset-tar-headers later to maint).
> (merge 9e5afdf997 ec/fetch-mark-common-refs-trace2 later to maint).
> (merge f0e58b3fe8 pb/submodule-update-fetches later to maint).
> (merge 2a02262078 dl/t5520-cleanup later to maint).
> (merge a4fb016ba1 js/pkt-line-h-typofix later to maint).
> (merge 54a7a64613 rs/simplify-prepare-cmd later to maint).
> (merge 3eae30e464 jk/lore-is-the-archive later to maint).
> (merge 14b7664df8 dl/lore-is-the-archive later to maint).
> (merge 0e40a73a4c po/bundle-doc-clonable later to maint).
> (merge e714b898c6 as/t7812-missing-redirects-fix later to maint).
> (merge 528d9e6d01 jk/perf-wo-git-dot-pm later to maint).
> (merge fc42f20e24 sg/test-squelch-noise-in-commit-bulk later to maint).
> (merge c64368e3a2 bc/t9001-zsh-in-posix-emulation-mode later to maint).
> (merge 11de8dd7ef dr/branch-usage-casefix later to maint).
> (merge e05e8cf074 rs/archive-zip-code-cleanup later to maint).
> (merge 147ee35558 rs/commit-export-env-simplify later to maint).
> (merge 4507ecc771 rs/patch-id-use-oid-to-hex later to maint).
> (merge 51a0a4ed95 mr/bisect-use-after-free later to maint).
> (merge cc2bd5c45d pb/submodule-doc-xref later to maint).
> (merge df5be01669 ja/doc-markup-cleanup later to maint).
> (merge 7c5cea7242 mr/bisect-save-pointer-to-const-string later to maint).
>
> ----------------------------------------------------------------
>
> Changes since v2.24.0 are as follows:
>
> Alban Gruin (6):
> sequencer: update `total_nr' when adding an item to a todo list
> sequencer: update `done_nr' when skipping commands in a todo list
> sequencer: move the code writing total_nr on the disk to a new function
> rebase: fill `squash_onto' in get_replay_opts()
> sequencer: directly call pick_commits() from complete_action()
> sequencer: fix a memory leak in sequencer_continue()
>
> Alexandr Miloslavskiy (14):
> parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
> pathspec: add new function to parse file
> doc: reset: synchronize <pathspec> description
> reset: support the `--pathspec-from-file` option
> doc: commit: synchronize <pathspec> description
> commit: support the --pathspec-from-file option
> cmd_add: prepare for next patch
> add: support the --pathspec-from-file option
> doc: checkout: remove duplicate synopsis
> doc: checkout: fix broken text reference
> doc: checkout: synchronize <pathspec> description
> doc: restore: synchronize <pathspec> description
> checkout, restore: support the --pathspec-from-file option
> commit: forbid --pathspec-from-file --all
>
> Andreas Schwab (1):
> t7812: add missing redirects
>
> Andrei Rybak (1):
> INSTALL: use existing shell scripts as example
>
> Colin Stolley (1):
> packfile.c: speed up loading lots of packfiles
>
> Daniel Ferreira (2):
> diff: export diffstat interface
> built-in add -i: implement the `status` command
>
> Denton Liu (93):
> format-patch: replace erroneous and condition
> format-patch: use enum variables
> format-patch: teach --cover-from-description option
> rebase: hide --preserve-merges option
> t4108: replace create_file with test_write_lines
> t4108: remove git command upstream of pipe
> t4108: use `test_config` instead of `git config`
> t4108: demonstrate bug in apply
> apply: respect merge.conflictStyle in --3way
> submodule: teach set-url subcommand
> git-diff.txt: document return code of `--no-index`
> completion: learn to complete `git rebase --onto=`
> t4215: use helper function to check output
> argv-array: add space after `while`
> rev-list-options.txt: remove reference to --show-notes
> SubmittingPatches: use generic terms for hash
> pretty-formats.txt: use generic terms for hash
> SubmittingPatches: remove dq from commit reference
> completion: complete `tformat:` pretty format
> revision: make get_revision_mark() return const pointer
> pretty.c: inline initalize format_context
> t4205: cover `git log --reflog -z` blindspot
> pretty: add struct cmt_fmt_map::default_date_mode_type
> pretty: implement 'reference' format
> SubmittingPatches: use `--pretty=reference`
> pretty-options.txt: --notes accepts a ref instead of treeish
> t3206: remove spaces after redirect operators
> t3206: disable parameter substitution in heredoc
> t3206: s/expected/expect/
> t3206: range-diff compares logs with commit notes
> range-diff: output `## Notes ##` header
> range-diff: pass through --notes to `git log`
> format-patch: pass notes configuration to range-diff
> t0000: test multiple local assignment
> t: teach test_cmp_rev to accept ! for not-equals
> t5520: improve test style
> t5520: use sq for test case names
> t5520: let sed open its own input
> t5520: replace test -f with test-lib functions
> t5520: remove spaces after redirect operator
> t5520: use test_line_count where possible
> t5520: replace test -{n,z} with test-lib functions
> t5520: use test_cmp_rev where possible
> t5520: test single-line files by git with test_cmp
> t5520: don't put git in upstream of pipe
> t5520: replace $(cat ...) comparison with test_cmp
> t5520: remove redundant lines in test cases
> t5520: replace `! git` with `test_must_fail git`
> lib-bash.sh: move `then` onto its own line
> apply-one-time-sed.sh: modernize style
> t0014: remove git command upstream of pipe
> t0090: stop losing return codes of git commands
> t3301: stop losing return codes of git commands
> t3600: use test_line_count() where possible
> t3600: stop losing return codes of git commands
> t3600: comment on inducing SIGPIPE in `git rm`
> t4015: stop losing return codes of git commands
> t4015: use test_write_lines()
> t4138: stop losing return codes of git commands
> t5317: stop losing return codes of git commands
> t5317: use ! grep to check for no matching lines
> t5703: simplify one-time-sed generation logic
> t5703: stop losing return codes of git commands
> t7501: remove spaces after redirect operators
> t7501: stop losing return codes of git commands
> t7700: drop redirections to /dev/null
> t7700: remove spaces after redirect operators
> t7700: move keywords onto their own line
> t7700: s/test -f/test_path_is_file/
> doc: replace MARC links with lore.kernel.org
> RelNotes: replace Gmane with real Message-IDs
> doc: replace LKML link with lore.kernel.org
> t7700: consolidate code into test_no_missing_in_packs()
> t7700: consolidate code into test_has_duplicate_object()
> t7700: replace egrep with grep
> t7700: make references to SHA-1 generic
> t7700: stop losing return codes of git commands
> t3400: demonstrate failure with format.useAutoBase
> format-patch: fix indentation
> t4014: use test_config()
> format-patch: teach --no-base
> rebase: fix format.useAutoBase breakage
> t3206: fix incorrect test name
> range-diff: mark pointers as const
> range-diff: clear `other_arg` at end of function
> notes: rename to load_display_notes()
> notes: create init_display_notes() helper
> notes: extract logic into set_display_notes()
> format-patch: use --notes behavior for format.notes
> format-patch: move git_config() before repo_init_revisions()
> config/format.txt: clarify behavior of multiple format.notes
> notes: break set_display_notes() into smaller functions
> notes.h: fix typos in comment
>
> Derrick Stolee (22):
> test-tool: use 'read-graph' helper
> sparse-checkout: create builtin with 'list' subcommand
> sparse-checkout: create 'init' subcommand
> clone: add --sparse mode
> sparse-checkout: 'set' subcommand
> sparse-checkout: add '--stdin' option to set subcommand
> sparse-checkout: create 'disable' subcommand
> sparse-checkout: add 'cone' mode
> sparse-checkout: use hashmaps for cone patterns
> sparse-checkout: init and set in cone mode
> unpack-trees: hash less in cone mode
> unpack-trees: add progress to clear_ce_flags()
> sparse-checkout: sanitize for nested folders
> sparse-checkout: update working directory in-process
> sparse-checkout: use in-process update for disable subcommand
> sparse-checkout: write using lockfile
> sparse-checkout: cone mode should not interact with .gitignore
> sparse-checkout: update working directory in-process for 'init'
> sparse-checkout: check for dirty status
> progress: create GIT_PROGRESS_DELAY
> commit-graph: use start_delayed_progress()
> sparse-checkout: respect core.ignoreCase in cone mode
>
> Dimitriy Ryazantcev (1):
> l10n: minor case fix in 'git branch' '--unset-upstream' description
>
> Doan Tran Cong Danh (14):
> t3301: test diagnose messages for too few/many paramters
> notes: fix minimum number of parameters to "copy" subcommand
> t0028: eliminate non-standard usage of printf
> configure.ac: define ICONV_OMITS_BOM if necessary
> t3900: demonstrate git-rebase problem with multi encoding
> sequencer: reencode to utf-8 before arrange rebase's todo list
> sequencer: reencode revert/cherry-pick's todo list
> sequencer: reencode squashing commit's message
> sequencer: reencode old merge-commit message
> sequencer: reencode commit message for am/rebase --show-current-patch
> sequencer: handle rebase-merges for "onto" message
> date.c: switch to reentrant {gm,local}time_r
> archive-zip.c: switch to reentrant localtime_r
> mingw: use {gm,local}time_s as backend for {gm,local}time_r
>
> Dominic Jäger (1):
> merge-strategies: fix typo "reflected to" to "reflected in"
>
> Ed Maste (3):
> t4210: skip i18n tests that don't work on FreeBSD
> userdiff: remove empty subexpression from elixir regex
> sparse-checkout: improve OS ls compatibility
>
> Elia Pinto (1):
> kset.h, tar.h: add missing header guard to prevent multiple inclusion
>
> Elijah Newren (26):
> merge-recursive: clean up get_renamed_dir_portion()
> merge-recursive: fix merging a subdirectory into the root directory
> t604[236]: do not run setup in separate tests
> Documentation: fix a bunch of typos, both old and new
> Fix spelling errors in documentation outside of Documentation/
> git-filter-branch.txt: correct argument name typo
> hashmap: fix documentation misuses of -> versus .
> name-hash.c: remove duplicate word in comment
> t6024: modernize style
> Fix spelling errors in code comments
> Fix spelling errors in comments of testcases
> Fix spelling errors in names of tests
> Fix spelling errors in messages shown to users
> Fix spelling errors in test commands
> sha1dc: fix trivial comment spelling error
> multimail: fix a few simple spelling errors
> Fix spelling errors in no-longer-updated-from-upstream modules
> t3011: demonstrate directory traversal failures
> Revert "dir.c: make 'git-status --ignored' work within leading directories"
> dir: remove stray quote character in comment
> dir: exit before wildcard fall-through if there is no wildcard
> dir: break part of read_directory_recursive() out for reuse
> t3434: mark successful test as such
> dir: fix checks on common prefix directory
> dir: synchronize treat_leading_path() and read_directory_recursive()
> dir: consolidate similar code in treat_directory()
>
> Emily Shaffer (4):
> documentation: add tutorial for object walking
> myfirstcontrib: add 'psuh' to command-list.txt
> myfirstcontrib: add dependency installation step
> myfirstcontrib: hint to find gitgitgadget allower
>
> Erik Chen (1):
> fetch: add trace2 instrumentation
>
> Garima Singh (2):
> test-path-utils: offer to run a protectNTFS/protectHFS benchmark
> tests: add a helper to stress test argument quoting
>
> Hans Jerry Illikainen (4):
> gpg-interface: refactor the free-and-xmemdupz pattern
> gpg-interface: limit search for primary key fingerprint
> gpg-interface: prefer check_signature() for GPG verification
> grep: don't return an expression from pcre2_free()
>
> Hariom Verma (2):
> builtin/blame.c: constants into bit shift format
> git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
>
> Heba Waly (22):
> config: move documentation to config.h
> documentation: remove empty doc files
> diff: move doc to diff.h and diffcore.h
> dir: move doc to dir.h
> graph: move doc to graph.h and graph.c
> merge: move doc to ll-merge.h
> sha1-array: move doc to sha1-array.h
> remote: move doc to remote.h and refspec.h
> refs: move doc to refs.h
> attr: move doc to attr.h
> revision: move doc to revision.h
> pathspec: move doc to pathspec.h
> sigchain: move doc to sigchain.h
> cache: move doc to cache.h
> argv-array: move doc to argv-array.h
> credential: move doc to credential.h
> parse-options: add link to doc file in parse-options.h
> run-command: move doc to run-command.h
> trace: move doc to trace.h
> tree-walk: move doc to tree-walk.h
> submodule-config: move doc to submodule-config.h
> trace2: move doc to trace2.h
>
> James Coglan (13):
> graph: automatically track display width of graph lines
> graph: handle line padding in `graph_next_line()`
> graph: reuse `find_new_column_by_commit()`
> graph: reduce duplication in `graph_insert_into_new_columns()`
> graph: remove `mapping_idx` and `graph_update_width()`
> graph: extract logic for moving to GRAPH_PRE_COMMIT state
> graph: example of graph output that can be simplified
> graph: tidy up display of left-skewed merges
> graph: commit and post-merge lines for left-skewed merges
> graph: rename `new_mapping` to `old_mapping`
> graph: smooth appearance of collapsing edges on commit lines
> graph: flatten edges that fuse with their right neighbor
> graph: fix coloring of octopus dashes
>
> James Shubin (1):
> completion: tab-complete "git svn --recursive"
>
> Jean-Noël Avila (2):
> doc: remove non pure ASCII characters
> doc: indent multi-line items in list
>
> Jeff Hostetler (1):
> trace2: add region in clear_ce_flags
>
> Jeff King (44):
> parse_commit_buffer(): treat lookup_commit() failure as parse error
> parse_commit_buffer(): treat lookup_tree() failure as parse error
> parse_tag_buffer(): treat NULL tag pointer as parse error
> commit, tag: don't set parsed bit for parse failures
> fsck: stop checking commit->tree value
> fsck: stop checking commit->parent counts
> fsck: stop checking tag->tagged
> fsck: require an actual buffer for non-blobs
> fsck: unify object-name code
> fsck_describe_object(): build on our get_object_name() primitive
> fsck: use oids rather than objects for object_name API
> fsck: don't require object structs for display functions
> fsck: only provide oid/type in fsck_error callback
> fsck: only require an oid for skiplist functions
> fsck: don't require an object struct for report()
> fsck: accept an oid instead of a "struct blob" for fsck_blob()
> fsck: drop blob struct from fsck_finish()
> fsck: don't require an object struct for fsck_ident()
> fsck: don't require an object struct in verify_headers()
> fsck: rename vague "oid" local variables
> fsck: accept an oid instead of a "struct tag" for fsck_tag()
> fsck: accept an oid instead of a "struct commit" for fsck_commit()
> fsck: accept an oid instead of a "struct tree" for fsck_tree()
> hex: drop sha1_to_hex_r()
> pack-objects: avoid pointless oe_map_new_pack() calls
> hex: drop sha1_to_hex()
> send-pack: check remote ref status on pack-objects failure
> t9502: pass along all arguments in xss helper
> t/gitweb-lib.sh: drop confusing quotes
> t/gitweb-lib.sh: set $REQUEST_URI
> gitweb: escape URLs generated by href()
> rev-parse: make --show-toplevel without a worktree an error
> perf-lib: use a single filename for all measurement types
> t/perf: don't depend on Git.pm
> send-pack: use OBJECT_INFO_QUICK to check negative objects
> doc: recommend lore.kernel.org over public-inbox.org
> doc: replace public-inbox links with lore.kernel.org
> t9300: drop some useless uses of cat
> t9300: create marks files for double-import-marks test
> fast-import: tighten parsing of boolean command line options
> fast-import: stop creating leading directories for import-marks
> fast-import: delay creating leading directories for export-marks
> fast-import: disallow "feature export-marks" by default
> fast-import: disallow "feature import-marks" by default
>
> Johannes Schindelin (93):
> t1400: wrap setup code in test case
> git_path(): handle `.lock` files correctly
> vreportf(): avoid relying on stdio buffering
> update-index: optionally leave skip-worktree entries alone
> stash: handle staged changes in skip-worktree files correctly
> fetch: add the command-line option `--write-commit-graph`
> fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
> remote-curl: unbreak http.extraHeader with custom allocators
> Start to implement a built-in version of `git add --interactive`
> built-in add -i: implement the main loop
> built-in add -i: show unique prefixes of the commands
> built-in add -i: support `?` (prompt help)
> rebase-merges: move labels' whitespace mangling into `label_oid()`
> git svn: stop using `rebase --preserve-merges`
> mingw: demonstrate that all file handles are inherited by child processes
> mingw: work around incorrect standard handles
> mingw: spawned processes need to inherit only standard handles
> mingw: restrict file handle inheritance only on Windows 7 and later
> mingw: do set `errno` correctly when trying to restrict handle inheritance
> add-interactive: make sure to release `rev.prune_data`
> built-in add -i: allow filtering the modified files list
> built-in add -i: prepare for multi-selection commands
> built-in add -i: implement the `update` command
> built-in add -i: re-implement `revert` in C
> built-in add -i: re-implement `add-untracked` in C
> built-in add -i: implement the `patch` command
> built-in add -i: re-implement the `diff` command
> built-in add -i: offer the `quit` command
> pkt-line: fix a typo
> mingw: forbid translating ERROR_SUCCESS to an errno value
> clone --recurse-submodules: prevent name squatting on Windows
> mingw: disallow backslash characters in tree objects' file names
> path.c: document the purpose of `is_ntfs_dotgit()`
> is_ntfs_dotgit(): only verify the leading segment
> path: safeguard `.git` against NTFS Alternate Streams Accesses
> is_ntfs_dotgit(): speed it up
> mingw: fix quoting of arguments
> path: also guard `.gitmodules` against NTFS Alternate Data Streams
> protect_ntfs: turn on NTFS protection by default
> Disallow dubiously-nested submodule git directories
> quote-stress-test: accept arguments to test via the command-line
> t6130/t9350: prepare for stringent Win32 path validation
> quote-stress-test: allow skipping some trials
> unpack-trees: let merged_entry() pass through do_add_entry()'s errors
> mingw: refuse to access paths with illegal characters
> quote-stress-test: offer to test quoting arguments for MSYS2 sh
> mingw: refuse to access paths with trailing spaces or periods
> mingw: handle `subst`-ed "DOS drives"
> Git 2.14.6
> Git 2.15.4
> test-drop-caches: use `has_dos_drive_prefix()`
> Git 2.16.6
> Git 2.17.3
> Git 2.18.2
> Git 2.19.3
> t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
> Git 2.20.2
> mingw: detect when MSYS2's sh is to be spawned more robustly
> mingw: use MSYS2 quoting even when spawning shell scripts
> mingw: fix quoting of empty arguments for `sh`
> t7415: drop v2.20.x-specific work-around
> mingw: sh arguments need quoting in more circumstances
> Git 2.21.1
> Git 2.22.2
> Git 2.23.1
> Git 2.24.1
> t3701: add a test for advanced split-hunk editing
> t3701: avoid depending on the TTY prerequisite
> t3701: add a test for the different `add -p` prompts
> t3701: verify the shown messages when nothing can be added
> t3701: verify that the diff.algorithm config setting is handled
> git add -p: use non-zero exit code when the diff generation failed
> apply --allow-overlap: fix a corner case
> t3404: fix indentation
> built-in add -i: start implementing the `patch` functionality in C
> built-in add -i: wire up the new C code for the `patch` command
> built-in add -p: show colored hunks by default
> built-in add -p: adjust hunk headers as needed
> built-in add -p: color the prompt and the help text
> built-in add -p: offer a helpful error message when hunk navigation failed
> built-in add -p: support multi-file diffs
> built-in add -p: handle deleted empty files
> built-in app -p: allow selecting a mode change as a "hunk"
> built-in add -p: show different prompts for mode changes and deletions
> built-in add -p: implement the hunk splitting feature
> built-in add -p: coalesce hunks after splitting them
> strbuf: add a helper function to call the editor "on an strbuf"
> built-in add -p: implement hunk editing
> built-in add -p: implement the 'g' ("goto") command
> built-in add -p: implement the '/' ("search regex") command
> built-in add -p: implement the 'q' ("quit") command
> built-in add -p: only show the applicable parts of the help text
> built-in add -p: show helpful hint when nothing can be staged
>
> Jonathan Nieder (3):
> submodule: reject submodule.update = !command in .gitmodules
> fsck: reject submodule.update = !command in .gitmodules
> submodule: defend against submodule.update = !command in .gitmodules
>
> Jonathan Tan (6):
> fetch-pack: write fetched refs to .promisor
> fetch: remove fetch_if_missing=0
> clone: remove fetch_if_missing=0
> promisor-remote: remove fetch_if_missing=0
> Doc: explain submodule.alternateErrorStrategy
> submodule--helper: advise on fatal alternate error
>
> Josh Holland (1):
> userdiff: support Python async functions
>
> Junio C Hamano (13):
> doc: am --show-current-patch gives an entire e-mail message
> The first batch post 2.24 cycle
> fsmonitor: do not compare bitmap size with size of split index
> ci(osx): update homebrew-cask repository with less noise
> rebase -i: finishing touches to --reset-author-date
> The second batch
> The third batch
> The fourth batch
> The fifth batch
> Makefile: drop GEN_HDRS
> The sixth batch
> dir.c: use st_add3() for allocation size
> Git 2.25-rc0
>
> Kevin Willford (1):
> fsmonitor: fix watchman integration
>
> Manish Goregaokar (2):
> doc: document 'git submodule status --cached'
> submodule: fix 'submodule status' when called from a subdirectory
>
> Martin Ågren (1):
> t7004: check existence of correct tag
>
> Matthew Rogers (1):
> rebase -r: let `label` generate safer labels
>
> Mihail Atanassov (1):
> Documentation/git-bisect.txt: add --no-ff to merge command
>
> Mike Hommey (2):
> revision: clear the topo-walk flags in reset_revision_walk
> revision: free topo_walk_info before creating a new one in init_topo_walk
>
> Miriam Rubio (1):
> clone: rename static function `dir_exists()`.
>
> Nathan Stocks (1):
> t: fix typo in test descriptions
>
> Naveen Nathan (1):
> doc: improve readability of --rebase-merges in git-rebase
>
> Nika Layzell (1):
> reset: parse rev as tree-ish in patch mode
>
> Philip Oakley (1):
> Doc: Bundle file usage
>
> Philippe Blain (4):
> help: add gitsubmodules to the list of guides
> worktree: teach "add" to ignore submodule.recurse config
> doc: mention that 'git submodule update' fetches missing commits
> gitmodules: link to gitsubmodules guide
>
> Phillip Wood (7):
> t3404: remove unnecessary subshell
> t3404: set $EDITOR in subshell
> t3404: remove uneeded calls to set_fake_editor
> sequencer.h fix placement of #endif
> move run_commit_hook() to libgit and use it there
> sequencer: run post-commit hook
> sequencer: fix empty commit check when amending
>
> Prarit Bhargava (3):
> t6006: use test-lib.sh definitions
> t4203: use test-lib.sh definitions
> pretty: add "%aL" etc. to show local-part of email addresses
>
> Pratyush Yadav (1):
> git-shortlog.txt: include commit limiting options
>
> Ralf Thielow (1):
> fetch.c: fix typo in a warning message
>
> René Scharfe (32):
> trace2: add dots directly to strbuf in perf_fmt_prepare()
> utf8: use skip_iprefix() in same_utf_encoding()
> convert: use skip_iprefix() in validate_encoding()
> mingw: use COPY_ARRAY for copying array
> parse-options: avoid arithmetic on pointer that's potentially NULL
> pretty: provide short date format
> fetch: use skip_prefix() instead of starts_with()
> fmt-merge-msg: use skip_prefix() instead of starts_with()
> shell: use skip_prefix() instead of starts_with()
> push: use skip_prefix() instead of starts_with()
> name-rev: use skip_prefix() instead of starts_with()
> run-command: use prepare_git_cmd() in prepare_cmd()
> t1512: use test_line_count
> t1410: use test_line_count
> t1400: use test_must_be_empty
> test: use test_must_be_empty F instead of test -z $(cat F)
> test: use test_must_be_empty F instead of test_cmp empty F
> t9300: don't create unused file
> t7811: don't create unused file
> xdiff: unignore changes in function context
> name-rev: use strbuf_strip_suffix() in get_rev_name()
> commit: use strbuf_add() to add a length-limited string
> patch-id: use oid_to_hex() to print multiple object IDs
> archive-zip: use enum for compression method
> t4256: don't create unused file
> t7004: don't create unused file
> refs: pass NULL to refs_read_ref_full() because object ID is not needed
> remote: pass NULL to read_ref_full() because object ID is not needed
> t3501: don't create unused file
> t5580: don't create unused file
> t6030: don't create unused file
> t4015: improve coverage of function context test
>
> Robin H. Johnson (3):
> bundle: framework for options before bundle file
> bundle-create: progress output control
> bundle-verify: add --quiet
>
> Rohit Ashiwal (6):
> rebase -i: add --ignore-whitespace flag
> sequencer: allow callers of read_author_script() to ignore fields
> rebase -i: support --committer-date-is-author-date
> sequencer: rename amend_author to author_to_rename
> rebase -i: support --ignore-date
> rebase: add --reset-author-date
>
> Ruud van Asseldonk (1):
> t5150: skip request-pull test if Perl is disabled
>
> SZEDER Gábor (29):
> Documentation: mention more worktree-specific exceptions
> path.c: clarify trie_find()'s in-code comment
> path.c: mark 'logs/HEAD' in 'common_list' as file
> path.c: clarify two field names in 'struct common_dir'
> path.c: don't call the match function without value in trie_find()
> builtin/commit-graph.c: remove subcommand-less usage string
> builtin/blame.c: remove '--indent-heuristic' from usage string
> test-lib: don't check prereqs of test cases that won't be run anyway
> t6120-describe: correct test repo history graph in comment
> builtin/unpack-objects.c: show throughput progress
> tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
> t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
> sequencer: don't re-read todo for revert and cherry-pick
> test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
> ci: build Git with GCC 9 in the 'osx-gcc' build job
> t9300-fast-import: store the PID in a variable instead of pidfile
> t9300-fast-import: don't hang if background fast-import exits too early
> t6120-describe: modernize the 'check_describe' helper
> name-rev: avoid unnecessary cast in name_ref()
> name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
> t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
> name-rev: extract creating/updating a 'struct name_rev' into a helper
> name-rev: pull out deref handling from the recursion
> name-rev: restructure parsing commits and applying date cutoff
> name-rev: restructure creating/updating 'struct rev_name' instances
> name-rev: drop name_rev()'s 'generation' and 'distance' parameters
> name-rev: use 'name->tip_name' instead of 'tip_name'
> name-rev: eliminate recursion in name_rev()
> name-rev: cleanup name_ref()
>
> Slavica Đukić (3):
> built-in add -i: color the header in the `status` command
> built-in add -i: use color in the main loop
> built-in add -i: implement the `help` command
>
> Tanushree Tumane (2):
> bisect--helper: avoid use-after-free
> bisect--helper: convert `*_warning` char pointers to char arrays.
>
> Thomas Gummerer (1):
> stash: make sure we have a valid index before writing it
>
> Todd Zullinger (1):
> t7812: expect failure for grep -i with invalid UTF-8 data
>
> Utsav Shah (1):
> unpack-trees: skip stat on fsmonitor-valid files
>
> William Baker (6):
> midx: add MIDX_PROGRESS flag
> midx: add progress to write_midx_file
> midx: add progress to expire_midx_packs
> midx: honor the MIDX_PROGRESS flag in verify_midx_file
> midx: honor the MIDX_PROGRESS flag in midx_repack
> multi-pack-index: add [--[no-]progress] option.
>
> brian m. carlson (16):
> t/oid-info: allow looking up hash algorithm name
> t/oid-info: add empty tree and empty blob values
> rev-parse: add a --show-object-format option
> t1305: avoid comparing extensions
> t3429: remove SHA1 annotation
> t4010: abstract away SHA-1-specific constants
> t4011: abstract away SHA-1-specific constants
> t4015: abstract away SHA-1-specific constants
> t4027: make hash-size independent
> t4034: abstract away SHA-1-specific constants
> t4038: abstract away SHA-1 specific constants
> t4039: abstract away SHA-1-specific constants
> t4044: update test to work with SHA-256
> t4045: make hash-size independent
> t4048: abstract away SHA-1-specific constants
> t9001: avoid including non-trailing NUL bytes in variables
>
> r.burenkov (1):
> git-p4: honor lfs.storage configuration variable
>
> ryenus (1):
> fix-typo: consecutive-word duplications
>
> Łukasz Niemier (1):
> userdiff: add Elixir to supported userdiff languages
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2019-12-25 21:44 [ANNOUNCE] Git v2.25.0-rc0 Junio C Hamano
2019-12-26 0:33 ` Denton Liu
@ 2019-12-26 14:35 ` Danh Doan
2019-12-26 17:50 ` Junio C Hamano
2019-12-29 19:39 ` Git for Windows v2.25.0-rc0, was " Johannes Schindelin
2020-01-02 22:19 ` Taylor Blau
3 siblings, 1 reply; 12+ messages in thread
From: Danh Doan @ 2019-12-26 14:35 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Hi Junio,
On 2019-12-25 13:44:54-0800, Junio C Hamano <gitster@pobox.com> wrote:
> New contributors whose contributions weren't in v2.24.0 are as follows.
> Welcome to the Git development community!
>
> Colin Stolley, Doan Tran Cong Danh, Dominic Jäger, Erik Chen,
> Hariom Verma, Heba Waly, James Coglan, James Shubin, Josh
> Holland, Łukasz Niemier, Manish Goregaokar, Matthew Rogers,
> Mihail Atanassov, Miriam Rubio, Nathan Stocks, Naveen Nathan,
> Nika Layzell, Philippe Blain, Prarit Bhargava, r.burenkov,
> Ruud van Asseldonk, ryenus, Slavica Đukić, and Utsav Shah.
>
My name should be moved down to next paragraph,
since I was lazy to type my name with all accents.
---------8<-------------
.mailmap | 1 +
1 file changed, 1 insertion(+)
diff --git a/.mailmap b/.mailmap
index 14fa041043..b42967e66f 100644
--- a/.mailmap
+++ b/.mailmap
@@ -60,6 +60,7 @@ David Turner <novalis@novalis.org> <dturner@twopensource.com>
David Turner <novalis@novalis.org> <dturner@twosigma.com>
Derrick Stolee <dstolee@microsoft.com> <stolee@gmail.com>
Deskin Miller <deskinm@umich.edu>
+Đoàn Trần Công Danh <congdanhqx@gmail.com> Doan Tran Cong Danh
Dirk Süsserott <newsletter@dirk.my1.cc>
Eric Blake <eblake@redhat.com> <ebb9@byu.net>
Eric Hanchrow <eric.hanchrow@gmail.com> <offby1@blarg.net>
--------------8<------------------
> Returning contributors who helped this release are as follows.
> Thanks for your continued support.
>
> Alban Gruin, Alexandr Miloslavskiy, Andreas Schwab, Andrei Rybak,
> brian m. carlson, Daniel Ferreira, Denton Liu, Derrick Stolee,
> Dimitriy Ryazantcev, Ed Maste, Elia Pinto, Elijah Newren, Emily
> Shaffer, Garima Singh, Hans Jerry Illikainen, Jean-Noël Avila,
> Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder,
> Jonathan Tan, Junio C Hamano, Kevin Willford, Martin Ågren,
> Mike Hommey, Philip Oakley, Phillip Wood, Pratyush Yadav,
> Ralf Thielow, René Scharfe, Robin H. Johnson, Rohit Ashiwal,
> SZEDER Gábor, Tanushree Tumane, Thomas Gummerer, Todd Zullinger,
> and William Baker.
--
Danh
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2019-12-26 14:35 ` Danh Doan
@ 2019-12-26 17:50 ` Junio C Hamano
2019-12-27 11:38 ` Danh Doan
0 siblings, 1 reply; 12+ messages in thread
From: Junio C Hamano @ 2019-12-26 17:50 UTC (permalink / raw)
To: Danh Doan; +Cc: git
Danh Doan <congdanhqx@gmail.com> writes:
> My name should be moved down to next paragraph,
> since I was lazy to type my name with all accents.
Your first contribution was back in v2.20 days, and then the recent
ones are all within this cycle for v2.25.
I am a bit curious why you need to avoid being lazy just to give the
correct name to your commits, though. Isn't
git config [--global] user.name "name with accents"
just fire-once-and-forget solution, or is there anything else
involved?
Thanks. I do not _mind_ to add a new mailmap entry to correct
mistakes after the fact, but it of course is better to have them
right from the start, and I am wondering if our configuration scheme
needs to do more to help you.
> diff --git a/.mailmap b/.mailmap
> index 14fa041043..b42967e66f 100644
> --- a/.mailmap
> +++ b/.mailmap
> @@ -60,6 +60,7 @@ David Turner <novalis@novalis.org> <dturner@twopensource.com>
> David Turner <novalis@novalis.org> <dturner@twosigma.com>
> Derrick Stolee <dstolee@microsoft.com> <stolee@gmail.com>
> Deskin Miller <deskinm@umich.edu>
> +Đoàn Trần Công Danh <congdanhqx@gmail.com> Doan Tran Cong Danh
> Dirk Süsserott <newsletter@dirk.my1.cc>
> Eric Blake <eblake@redhat.com> <ebb9@byu.net>
> Eric Hanchrow <eric.hanchrow@gmail.com> <offby1@blarg.net>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2019-12-26 17:50 ` Junio C Hamano
@ 2019-12-27 11:38 ` Danh Doan
2019-12-27 22:28 ` Junio C Hamano
0 siblings, 1 reply; 12+ messages in thread
From: Danh Doan @ 2019-12-27 11:38 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On 2019-12-26 09:50:49-0800, Junio C Hamano <gitster@pobox.com> wrote:
> Danh Doan <congdanhqx@gmail.com> writes:
>
> > My name should be moved down to next paragraph,
> > since I was lazy to type my name with all accents.
>
> Your first contribution was back in v2.20 days, and then the recent
> ones are all within this cycle for v2.25.
>
> I am a bit curious why you need to avoid being lazy just to give the
> correct name to your commits, though. Isn't
Some of my projects requires ASCII-only user.name,
instead of doing the right thing
git config user.name <simplified-name>
I decided to set it globally instead.
I rarely need to type in my native language,
hence I don't have the IME software start with Xorg.
It's all about my fault.
--
Danh
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2019-12-27 11:38 ` Danh Doan
@ 2019-12-27 22:28 ` Junio C Hamano
2019-12-28 12:54 ` Danh Doan
0 siblings, 1 reply; 12+ messages in thread
From: Junio C Hamano @ 2019-12-27 22:28 UTC (permalink / raw)
To: Danh Doan; +Cc: git
Danh Doan <congdanhqx@gmail.com> writes:
> On 2019-12-26 09:50:49-0800, Junio C Hamano <gitster@pobox.com> wrote:
>> Danh Doan <congdanhqx@gmail.com> writes:
>>
>> > My name should be moved down to next paragraph,
>> > since I was lazy to type my name with all accents.
>>
>> Your first contribution was back in v2.20 days, and then the recent
>> ones are all within this cycle for v2.25.
>>
>> I am a bit curious why you need to avoid being lazy just to give the
>> correct name to your commits, though. Isn't
>
> Some of my projects requires ASCII-only user.name,
> instead of doing the right thing
>
> git config user.name <simplified-name>
>
> I decided to set it globally instead.
> I rarely need to type in my native language,
> hence I don't have the IME software start with Xorg.
Hmph, but back in v2.20 days, you did have IME?
In any case, if I were in such a situation to need my name spelled
differently depending on the project I work on, I would probably use
$ git config --global user.name <simplified-name>
$ cd <repository of git>
$ git config user.name <name-with-accents>
or the other way around (depends on which projects your focus is on).
But perhaps that is not so useful to your situation?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2019-12-27 22:28 ` Junio C Hamano
@ 2019-12-28 12:54 ` Danh Doan
0 siblings, 0 replies; 12+ messages in thread
From: Danh Doan @ 2019-12-28 12:54 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On 2019-12-27 14:28:59-0800, Junio C Hamano <gitster@pobox.com> wrote:
> Danh Doan <congdanhqx@gmail.com> writes:
> > Some of my projects requires ASCII-only user.name,
> > instead of doing the right thing
> >
> > git config user.name <simplified-name>
> >
> > I decided to set it globally instead.
> > I rarely need to type in my native language,
> > hence I don't have the IME software start with Xorg.
>
> Hmph, but back in v2.20 days, you did have IME?
Back in the days, I had my IME started on logging in,
then to save some tiny time on starting up,
I turned it off.
>
> In any case, if I were in such a situation to need my name spelled
> differently depending on the project I work on, I would probably use
>
> $ git config --global user.name <simplified-name>
> $ cd <repository of git>
> $ git config user.name <name-with-accents>
>
> or the other way around (depends on which projects your focus is on).
Yes, that's the the right way to do, but I didn't pick that way.
I'm going through my ~/src and fixing it.
Thanks,
--
Danh
^ permalink raw reply [flat|nested] 12+ messages in thread
* Git for Windows v2.25.0-rc0, was Re: [ANNOUNCE] Git v2.25.0-rc0
2019-12-25 21:44 [ANNOUNCE] Git v2.25.0-rc0 Junio C Hamano
2019-12-26 0:33 ` Denton Liu
2019-12-26 14:35 ` Danh Doan
@ 2019-12-29 19:39 ` Johannes Schindelin
2020-01-02 22:19 ` Taylor Blau
3 siblings, 0 replies; 12+ messages in thread
From: Johannes Schindelin @ 2019-12-29 19:39 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git-for-windows, git, git-packagers
Team,
On Wed, 25 Dec 2019, Junio C Hamano wrote:
> An early preview release Git v2.25.0-rc0 is now available for
> testing at the usual places. It is comprised of 531 non-merge
> commits since v2.24.0, contributed by 61 people, 24 of which are
> new faces.
The corresponding Git for Windows version can now be found at
https://github.com/git-for-windows/git/releases/tag/v2.25.0-rc0.windows.1
The improvement most users are likely to notice is that the installer will
skip over most of the installer "wizard" pages when upgrading: if you saw
all of the options on the page before, it won't be shown unless you
unchecked the box on the bottom.
Ciao,
Johannes
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2019-12-25 21:44 [ANNOUNCE] Git v2.25.0-rc0 Junio C Hamano
` (2 preceding siblings ...)
2019-12-29 19:39 ` Git for Windows v2.25.0-rc0, was " Johannes Schindelin
@ 2020-01-02 22:19 ` Taylor Blau
2020-01-03 19:39 ` Johannes Schindelin
2020-01-04 23:13 ` Junio C Hamano
3 siblings, 2 replies; 12+ messages in thread
From: Taylor Blau @ 2020-01-02 22:19 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Hi Junio,
On Wed, Dec 25, 2019 at 01:44:54PM -0800, Junio C Hamano wrote:
> * The beginning of rewriting "git add -i" in C.
>
> [snip]
>
> * The effort to reimplement "git add -i" in C continues.
I noticed while preparing GitHub's blog post for 2.25 that the work to
rewrite "git add -i" in C was mentioned twice in the performance
improvements section.
I'm not sure if this is intentional, or if this was added twice during
the merge(s) of and f7998d9793 (Merge branch 'js/builtin-add-i',
2019-12-05) and 3beff388b2 (Merge branch 'js/builtin-add-i-cmds',
2019-12-16).
Thanks,
Taylor
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2020-01-02 22:19 ` Taylor Blau
@ 2020-01-03 19:39 ` Johannes Schindelin
2020-01-04 17:58 ` Taylor Blau
2020-01-04 23:13 ` Junio C Hamano
1 sibling, 1 reply; 12+ messages in thread
From: Johannes Schindelin @ 2020-01-03 19:39 UTC (permalink / raw)
To: Taylor Blau; +Cc: Junio C Hamano, git
Hi Taylor,
On Thu, 2 Jan 2020, Taylor Blau wrote:
> On Wed, Dec 25, 2019 at 01:44:54PM -0800, Junio C Hamano wrote:
>
> > * The beginning of rewriting "git add -i" in C.
> >
> > [snip]
> >
> > * The effort to reimplement "git add -i" in C continues.
>
> I noticed while preparing GitHub's blog post for 2.25 that the work to
> rewrite "git add -i" in C was mentioned twice in the performance
> improvements section.
>
> I'm not sure if this is intentional, or if this was added twice during
> the merge(s) of and f7998d9793 (Merge branch 'js/builtin-add-i',
> 2019-12-05) and 3beff388b2 (Merge branch 'js/builtin-add-i-cmds',
> 2019-12-16).
If you mention this feature in the blog post, please note that the
built-in `git add -p` is not feature-complete until the
`js/add-p-leftover-bits` branch is merged.
And if you mention the built-in add -i/-p work, could I ask you to include
a note that it is based on one of the two Outreachy projects in winter
2018/2019?
Thanks,
Dscho
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2020-01-03 19:39 ` Johannes Schindelin
@ 2020-01-04 17:58 ` Taylor Blau
0 siblings, 0 replies; 12+ messages in thread
From: Taylor Blau @ 2020-01-04 17:58 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Junio C Hamano, git
Hi Johannes,
On Fri, Jan 03, 2020 at 08:39:34PM +0100, Johannes Schindelin wrote:
> Hi Taylor,
>
> On Thu, 2 Jan 2020, Taylor Blau wrote:
>
> > On Wed, Dec 25, 2019 at 01:44:54PM -0800, Junio C Hamano wrote:
> >
> > > * The beginning of rewriting "git add -i" in C.
> > >
> > > [snip]
> > >
> > > * The effort to reimplement "git add -i" in C continues.
> >
> > I noticed while preparing GitHub's blog post for 2.25 that the work to
> > rewrite "git add -i" in C was mentioned twice in the performance
> > improvements section.
> >
> > I'm not sure if this is intentional, or if this was added twice during
> > the merge(s) of and f7998d9793 (Merge branch 'js/builtin-add-i',
> > 2019-12-05) and 3beff388b2 (Merge branch 'js/builtin-add-i-cmds',
> > 2019-12-16).
>
> If you mention this feature in the blog post, please note that the
> built-in `git add -p` is not feature-complete until the
> `js/add-p-leftover-bits` branch is merged.
Yes, and thank you for reminding me. I have this in my list of 'cooking'
topics. This section is used to highlight ongoing work (e.g., NewHash
transition), but I often omit it from the posts. If other cooking topics
accumulate during the drafting, I'll make sure to include this in that
section, and note its in-progress status.
> And if you mention the built-in add -i/-p work, could I ask you to include
> a note that it is based on one of the two Outreachy projects in winter
> 2018/2019?
Of course :-).
> Thanks,
> Dscho
Thanks,
Taylor
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [ANNOUNCE] Git v2.25.0-rc0
2020-01-02 22:19 ` Taylor Blau
2020-01-03 19:39 ` Johannes Schindelin
@ 2020-01-04 23:13 ` Junio C Hamano
1 sibling, 0 replies; 12+ messages in thread
From: Junio C Hamano @ 2020-01-04 23:13 UTC (permalink / raw)
To: Taylor Blau; +Cc: git
Taylor Blau <me@ttaylorr.com> writes:
> I'm not sure if this is intentional, or if this was added twice during
> the merge(s) of and f7998d9793 (Merge branch 'js/builtin-add-i',
> 2019-12-05) and 3beff388b2 (Merge branch 'js/builtin-add-i-cmds',
> 2019-12-16).
It's the latter. Thanks.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-01-04 23:13 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-25 21:44 [ANNOUNCE] Git v2.25.0-rc0 Junio C Hamano
2019-12-26 0:33 ` Denton Liu
2019-12-26 14:35 ` Danh Doan
2019-12-26 17:50 ` Junio C Hamano
2019-12-27 11:38 ` Danh Doan
2019-12-27 22:28 ` Junio C Hamano
2019-12-28 12:54 ` Danh Doan
2019-12-29 19:39 ` Git for Windows v2.25.0-rc0, was " Johannes Schindelin
2020-01-02 22:19 ` Taylor Blau
2020-01-03 19:39 ` Johannes Schindelin
2020-01-04 17:58 ` Taylor Blau
2020-01-04 23:13 ` Junio C Hamano
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).