On Fri, 9 Aug 2019, Junio C Hamano wrote:

> A release candidate Git v2.23.0-rc2 is now available for testing
> at the usual places.  It is comprised of 483 non-merge commits
> since v2.22.0, contributed by 67 people, 24 of which are new faces.
> The tarballs are found at:
> The following public repositories all have a copy of the
> 'v2.23.0-rc2' tag and the 'master' branch that the tag points at:
>   url =
>   url = git://
>   url =

The corresponding Git for Windows v2.23.0-rc2 can be found here:

Please test as much as you can.


> New contributors whose contributions weren't in v2.22.0 are as follows.
> Welcome to the Git development community!
>   Ariadne Conill, Barret Rhoden, Ben Avison, Daniel Ferreira,
>   Doug Ilijev, Dr. Adam Nielsen, Jakub Wilk, John Lin, Mark
>   Rushakoff, Matheus Tavares, Mazo, Andrey, Michael Osipov,
>   Michael Platings, Miguel Ojeda, Mike Mueller, Morian Sonnet,
>   Quentin Nerden, Robert Morgan, Simon Williams, Steven Roberts,
>   Tigran Mkrtchyan, Varun Naik, Vishal Verma, and Xin Li.
> Returning contributors who helped this release are as follows.
> Thanks for your continued support.
>   Ævar Arnfjörð Bjarmason, Beat Bolli, Boxuan Li, brian
>   m. carlson, Carlo Marcelo Arenas Belón, Cesar Eduardo Barros,
>   Chris Mayo, Christian Couder, Denton Liu, Derrick Stolee,
>   Dimitriy Ryazantcev, Edmundo Carmona Antoranz, Elijah Newren,
>   Emily Shaffer, Eric Wong, Felipe Contreras, Jean-Noël Avila,
>   Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt,
>   Jonathan Nieder, Jonathan Tan, Josh Steadmon, Junio C Hamano,
>   Karsten Blees, Marc-André Lureau, Martin Ågren, Matthew DeVore,
>   Mike Hommey, Nguyễn Thái Ngọc Duy, Nickolai Belakovski,
>   Paolo Bonzini, Philip Oakley, Phillip Wood, Ramsay Jones,
>   René Scharfe, Rohit Ashiwal, Stephen Boyd, SZEDER Gábor,
>   Taylor Blau, Thomas Gummerer, and William Chargin.
> ----------------------------------------------------------------
> Git 2.23 Release Notes (draft)
> ==============================
> Updates since v2.22
> -------------------
> Backward compatibility note
>  * The "--base" option of "format-patch" computed the patch-ids for
>    prerequisite patches in an unstable way, which has been updated to
>    compute in a way that is compatible with "git patch-id --stable".
>  * The "git log" command by default behaves as if the --mailmap option
>    was given.
> UI, Workflows & Features
>  * The "git fast-export/import" pair has been taught to handle commits
>    with log messages in encoding other than UTF-8 better.
>  * In recent versions of Git, per-worktree refs are exposed in
>    refs/worktrees/<wtname>/ hierarchy, which means that worktree names
>    must be a valid refname component.  The code now sanitizes the names
>    given to worktrees, to make sure these refs are well-formed.
>  * "git merge" learned "--quit" option that cleans up the in-progress
>    merge while leaving the working tree and the index still in a mess.
>  * "git format-patch" learns a configuration to set the default for
>    its --notes=<ref> option.
>  * The code to show args with potential typo that cannot be
>    interpreted as a commit-ish has been improved.
>  * "git clone --recurse-submodules" learned to set up the submodules
>    to ignore commit object names recorded in the superproject gitlink
>    and instead use the commits that happen to be at the tip of the
>    remote-tracking branches from the get-go, by passing the new
>    "--remote-submodules" option.
>  * The pattern "git diff/grep" use to extract funcname and words
>    boundary for Matlab has been extend to cover Octave, which is more
>    or less equivalent.
>  * "git help git" was hard to discover (well, at least for some
>    people).
>  * The pattern "git diff/grep" use to extract funcname and words
>    boundary for Rust has been added.
>  * "git status" can be told a non-standard default value for the
>    "--[no-]ahead-behind" option with a new configuration variable
>    status.aheadBehind.
>  * "git fetch" and "git pull" reports when a fetch results in
>    non-fast-forward updates to let the user notice unusual situation.
>    The commands learned "--no-show-forced-updates" option to disable
>    this safety feature.
>  * Two new commands "git switch" and "git restore" are introduced to
>    split "checking out a branch to work on advancing its history" and
>    "checking out paths out of the index and/or a tree-ish to work on
>    advancing the current history" out of the single "git checkout"
>    command.
>  * "git branch --list" learned to always output the detached HEAD as
>    the first item (when the HEAD is detached, of course), regardless
>    of the locale.
>  * The conditional inclusion mechanism learned to base the choice on
>    the branch the HEAD currently is on.
>  * "git rev-list --objects" learned the "--no-object-names" option to
>    squelch the path to the object that is used as a grouping hint for
>    pack-objects.
>  * A new tag.gpgSign configuration variable turns "git tag -a" into
>    "git tag -s".
>  * "git multi-pack-index" learned expire and repack subcommands.
>  * "git blame" learned to "ignore" commits in the history, whose
>    effects (as well as their presence) get ignored.
>  * "git cherry-pick/revert" learned a new "--skip" action.
>  * The tips of refs from the alternate object store can be used as
>    starting point for reachability computation now.
>  * Extra blank lines in "git status" output have been reduced.
>  * The commits in a repository can be described by multiple
>    commit-graph files now, which allows the commit-graph files to be
>    updated incrementally.
>  * "git range-diff" output has been tweaked for easier identification
>    of which part of what file the patch shown is about.
> Performance, Internal Implementation, Development Support etc.
>  * Update supporting parts of "git rebase" to remove code that should
>    no longer be used.
>  * Developer support to emulate unsatisfied prerequisites in tests to
>    ensure that the remainder of the tests still succeeds when tests
>    with prerequisites are skipped.
>  * "git update-server-info" learned not to rewrite the file with the
>    same contents.
>  * The way of specifying the path to find dynamic libraries at runtime
>    has been simplified.  The old default to pass -R/path/to/dir has been
>    replaced with the new default to pass -Wl,-rpath,/path/to/dir,
>    which is the more recent GCC uses.  Those who need to build with an
>    old GCC can still use "CC_LD_DYNPATH=-R"
>  * Prepare use of reachability index in topological walker that works
>    on a range (A..B).
>  * A new tutorial targeting specifically aspiring git-core
>    developers has been added.
>  * Auto-detect how to tell HP-UX aCC where to use dynamically linked
>    libraries from at runtime.
>  * "git mergetool" and its tests now spawn fewer subprocesses.
>  * Dev support update to help tracing out tests.
>  * Support to build with MSVC has been updated.
>  * "git fetch" that grabs from a group of remotes learned to run the
>    auto-gc only once at the very end.
>  * A handful of Windows build patches have been upstreamed.
>  * The code to read state files used by the sequencer machinery for
>    "git status" has been made more robust against a corrupt or stale
>    state files.
>  * "git for-each-ref" with multiple patterns have been optimized.
>  * The tree-walk API learned to pass an in-core repository
>    instance throughout more codepaths.
>  * When one step in multi step cherry-pick or revert is reset or
>    committed, the command line prompt script failed to notice the
>    current status, which has been improved.
>  * Many GIT_TEST_* environment variables control various aspects of
>    how our tests are run, but a few followed "non-empty is true, empty
>    or unset is false" while others followed the usual "there are a few
>    ways to spell true, like yes, on, etc., and also ways to spell
>    false, like no, off, etc." convention.
>  * Adjust the dir-iterator API and apply it to the local clone
>    optimization codepath.
>  * We have been trying out a few language features outside c89; the
>    coding guidelines document did not talk about them and instead had
>    a blanket ban against them.
>  * A test helper has been introduced to optimize preparation of test
>    repositories with many simple commits, and a handful of test
>    scripts have been updated to use it.
> Fixes since v2.22
> -----------------
>  * A relative pathname given to "git init --template=<path> <repo>"
>    ought to be relative to the directory "git init" gets invoked in,
>    but it instead was made relative to the repository, which has been
>    corrected.
>  * "git worktree add" used to fail when another worktree connected to
>    the same repository was corrupt, which has been corrected.
>  * The ownership rule for the file descriptor to fast-import remote
>    backend was mixed up, leading to an unrelated file descriptor getting
>    closed, which has been fixed.
>  * A "merge -c" instruction during "git rebase --rebase-merges" should
>    give the user a chance to edit the log message, even when there is
>    otherwise no need to create a new merge and replace the existing
>    one (i.e. fast-forward instead), but did not.  Which has been
>    corrected.
>  * Code cleanup and futureproof.
>  * More parameter validation.
>  * "git update-server-info" used to leave stale packfiles in its
>    output, which has been corrected.
>  * The server side support for "git fetch" used to show incorrect
>    value for the HEAD symbolic ref when the namespace feature is in
>    use, which has been corrected.
>  * "git am -i --resolved" segfaulted after trying to see a commit as
>    if it were a tree, which has been corrected.
>  * "git bundle verify" needs to see if prerequisite objects exist in
>    the receiving repository, but the command did not check if we are
>    in a repository upfront, which has been corrected.
>  * "git merge --squash" is designed to update the working tree and the
>    index without creating the commit, and this cannot be countermanded
>    by adding the "--commit" option; the command now refuses to work
>    when both options are given.
>  * The data collected by fsmonitor was not properly written back to
>    the on-disk index file, breaking t7519 tests occasionally, which
>    has been corrected.
>  * Update to Unicode 12.1 width table.
>  * The command line to invoke a "git cat-file" command from inside
>    "git p4" was not properly quoted to protect a caret and running a
>    broken command on Windows, which has been corrected.
>  * "git request-pull" learned to warn when the ref we ask them to pull
>    from in the local repository and in the published repository are
>    different.
>  * When creating a partial clone, the object filtering criteria is
>    recorded for the origin of the clone, but this incorrectly used a
>    hardcoded name "origin" to name that remote; it has been corrected
>    to honor the "--origin <name>" option.
>  * "git fetch" into a lazy clone forgot to fetch base objects that are
>    necessary to complete delta in a thin packfile, which has been
>    corrected.
>  * The filter_data used in the list-objects-filter (which manages a
>    lazily sparse clone repository) did not use the dynamic array API
>    correctly---'nr' is supposed to point at one past the last element
>    of the array in use.  This has been corrected.
>  * The description about slashes in gitignore patterns (used to
>    indicate things like "anchored to this level only" and "only
>    matches directories") has been revamped.
>  * The URL decoding code has been updated to avoid going past the end
>    of the string while parsing %-<hex>-<hex> sequence.
>  * The list of for-each like macros used by clang-format has been
>    updated.
>  * "git branch --list" learned to show branches that are checked out
>    in other worktrees connected to the same repository prefixed with
>    '+', similar to the way the currently checked out branch is shown
>    with '*' in front.
>    (merge 6e9381469e nb/branch-show-other-worktrees-head later to maint).
>  * Code restructuring during 2.20 period broke fetching tags via
>    "import" based transports.
>  * The commit-graph file is now part of the "files that the runtime
>    may keep open file descriptors on, all of which would need to be
>    closed when done with the object store", and the file descriptor to
>    an existing commit-graph file now is closed before "gc" finalizes a
>    new instance to replace it.
>  * "git checkout -p" needs to selectively apply a patch in reverse,
>    which did not work well.
>  * Code clean-up to avoid signed integer wraparounds during binary search.
>  * "git interpret-trailers" always treated '#' as the comment
>    character, regardless of core.commentChar setting, which has been
>    corrected.
>  * "git stash show 23" used to work, but no more after getting
>    rewritten in C; this regression has been corrected.
>  * "git rebase --abort" used to leave refs/rewritten/ when concluding
>    "git rebase -r", which has been corrected.
>  * An incorrect list of options was cached after command line
>    completion failed (e.g. trying to complete a command that requires
>    a repository outside one), which has been corrected.
>  * The code to parse scaled numbers out of configuration files has
>    been made more robust and also easier to follow.
>  * The codepath to compute delta islands used to spew progress output
>    without giving the callers any way to squelch it, which has been
>    fixed.
>  * Protocol capabilities that go over wire should never be translated,
>    but it was incorrectly marked for translation, which has been
>    corrected.  The output of protocol capabilities for debugging has
>    been tweaked a bit.
>  * Use "Erase in Line" CSI sequence that is already used in the editor
>    support to clear cruft in the progress output.
>  * "git submodule foreach" did not protect command line options passed
>    to the command to be run in each submodule correctly, when the
>    "--recursive" option was in use.
>  * The configuration variable rebase.rescheduleFailedExec should be
>    effective only while running an interactive rebase and should not
>    affect anything when running a non-interactive one, which was not
>    the case.  This has been corrected.
>  * The "git clone" documentation refers to command line options in its
>    description in the short form; they have been replaced with long
>    forms to make them more recognisable.
>  * Generation of pack bitmaps are now disabled when .keep files exist,
>    as these are mutually exclusive features.
>    (merge 7328482253 ew/repack-with-bitmaps-by-default later to maint).
>  * "git rm" to resolve a conflicted path leaked an internal message
>    "needs merge" before actually removing the path, which was
>    confusing.  This has been corrected.
>  * "git stash --keep-index" did not work correctly on paths that have
>    been removed, which has been fixed.
>    (merge b932f6a5e8 tg/stash-keep-index-with-removed-paths later to maint).
>  * Window 7 update ;-)
>  * A codepath that reads from GPG for signed object verification read
>    past the end of allocated buffer, which has been fixed.
>  * "git clean" silently skipped a path when it cannot lstat() it; now
>    it gives a warning.
>  * "git push --atomic" that goes over the transport-helper (namely,
>    the smart http transport) failed to prevent refs to be pushed when
>    it can locally tell that one of the ref update will fail without
>    having to consult the other end, which has been corrected.
>  * The internal diff machinery can be made to read out of bounds while
>    looking for --function-context line in a corner case, which has been
>    corrected.
>    (merge b777f3fd61 jk/xdiff-clamp-funcname-context-index later to maint).
>  * Other code cleanup, docfix, build fix, etc.
>    (merge fbec05c210 cc/test-oidmap later to maint).
>    (merge 7a06fb038c jk/no-system-includes-in-dot-c later to maint).
>    (merge 81ed2b405c cb/xdiff-no-system-includes-in-dot-c later to maint).
>    (merge d61e6ce1dd sg/fsck-config-in-doc later to maint).
> ----------------------------------------------------------------
> Changes since v2.22.0 are as follows:
> Ariadne Conill (3):
>       log: add warning for unspecified log.mailmap setting
>       documentation: mention --no-use-mailmap and log.mailmap false setting
>       tests: defang pager tests by explicitly disabling the log.mailmap 
> warning
> Barret Rhoden (8):
>       fsck: rename and touch up init_skiplist()
>       Move oidset_parse_file() to oidset.c
>       blame: use a helper function in blame_chunk()
>       blame: add the ability to ignore commits and their changes
>       blame: add config options for the output of ignored or unblamable lines
>       blame: optionally track line fingerprints during fill_blame_origin()
>       blame: use the fingerprint heuristic to match ignored lines
>       blame: add a test to cover blame_coalesce()
> Beat Bolli (2):
>       unicode: update the width tables to Unicode 12.1
>       grep: print the pcre2_jit_on value
> Ben Avison (1):
>       clone: add `--remote-submodules` flag
> Boxuan Li (2):
>       userdiff: add Octave
>       userdiff: fix grammar and style issues
> Carlo Marcelo Arenas Belón (6):
>       fsmonitor: avoid signed integer overflow / infinite loop
>       wrapper: avoid undefined behaviour in macOS
>       trace2: correct typo in technical documentation
>       xdiff: drop system includes in xutils.c
>       xdiff: remove duplicate headers from xhistogram.c
>       xdiff: remove duplicate headers from xpatience.c
> Cesar Eduardo Barros (1):
>       mingw: embed a manifest to trick UAC into Doing The Right Thing
> Chris Mayo (1):
>       send-email: update documentation of required Perl modules
> Christian Couder (7):
>       t/helper: add test-oidmap.c
>       t: add
>       oidmap: use sha1hash() instead of static hash() function
>       test-hashmap: remove 'hash' command
>       doc: improve usage string in MyFirstContribution
>       test-oidmap: remove 'add' subcommand
>       t0016: add 'remove' subcommand test
> Daniel Ferreira (1):
>       dir-iterator: add tests for dir-iterator API
> Denton Liu (5):
>       git-format-patch.txt: document --no-notes option
>       format-patch: teach format.notes config option
>       config: learn the "onbranch:" includeIf condition
>       config/alias.txt: change " and ' to `
>       config/alias.txt: document alias accepting non-command first word
> Derrick Stolee (51):
>       commit-graph: fix the_repository reference
>       revision: use generation for A..B --topo-order queries
>       revision: keep topo-walk free of unintersting commits
>       sha1-file: split OBJECT_INFO_FOR_PREFETCH
>       repack: refactor pack deletion for future use
>       Docs: rearrange subcommands for multi-pack-index
>       multi-pack-index: prepare for 'expire' subcommand
>       midx: simplify computation of pack name lengths
>       midx: refactor permutation logic and pack sorting
>       multi-pack-index: implement 'expire' subcommand
>       multi-pack-index: prepare 'repack' subcommand
>       midx: implement midx_repack()
>       multi-pack-index: test expire while adding packs
>       midx: add test that 'expire' respects .keep files
> test batch size zero
>       commit-graph: return with errors during write
>       commit-graph: collapse parameters into flags
>       commit-graph: remove Future Work section
>       commit-graph: create write_commit_graph_context
>       commit-graph: extract fill_oids_from_packs()
>       commit-graph: extract fill_oids_from_commit_hex()
>       commit-graph: extract fill_oids_from_all_packs()
>       commit-graph: extract count_distinct_commits()
>       commit-graph: extract copy_oids_to_commits()
>       commit-graph: extract write_commit_graph_file()
>       commit-graph: use raw_object_store when closing
>       packfile: close commit-graph in close_all_packs
>       packfile: rename close_all_packs to close_object_store
>       commit-graph: document commit-graph chains
>       commit-graph: prepare for commit-graph chains
>       commit-graph: rename commit_compare to oid_compare
>       commit-graph: load commit-graph chains
>       commit-graph: add base graphs chunk
>       commit-graph: rearrange chunk count logic
>       commit-graph: write commit-graph chains
>       commit-graph: add --split option to builtin
>       commit-graph: merge commit-graph chains
>       commit-graph: allow cross-alternate chains
>       commit-graph: expire commit-graph files
>       commit-graph: create options for split files
>       commit-graph: verify chains with --shallow mode
>       commit-graph: clean up chains after flattened write
>       commit-graph: test octopus merges with --split
>       commit-graph: test --split across alternate without --split
>       commit-graph: normalize commit-graph filenames
>       commit-graph: test verify across alternates
>       fetch: add --[no-]show-forced-updates argument
>       fetch: warn about forced updates in branch listing
>       pull: add --[no-]show-forced-updates passthrough
>       t5319: use 'test-tool path-utils' instead of 'ls -l'
>       commit-graph: fix bug around octopus merges
> Dimitriy Ryazantcev (1):
>       l10n: localizable upload progress messages
> Doug Ilijev (1):
>       README: fix rendering of text in angle brackets
> Dr. Adam Nielsen (1):
>       gitignore.txt: make slash-rules more readable
> Edmundo Carmona Antoranz (1):
>       builtin/merge.c - cleanup of code in for-cycle that tests strategies
> Elijah Newren (6):
>       t9350: fix encoding test to actually test reencoding
>       fast-import: support 'encoding' commit header
>       fast-export: avoid stripping encoding header if we cannot reencode
>       fast-export: differentiate between explicitly UTF-8 and implicitly UTF-8
>       fast-export: do automatic reencoding of commit messages only if 
> requested
>       merge-recursive: avoid directory rename detection in recursive case
> Emily Shaffer (7):
>       documentation: add tutorial for first contribution
>       documentation: add anchors to MyFirstContribution
>       grep: fail if call could output and name is null
>       doc: hint about GIT_DEBUGGER in CodingGuidelines
>       doc: add some nit fixes to MyFirstContribution
>       rev-list: teach --no-object-names to enable piping
>       transport-helper: enforce atomic in push_refs_with_push
> Eric Wong (3):
>       update-server-info: avoid needless overwrites
>       server-info: do not list unlinked packs
>       repack: disable bitmaps-by-default if .keep files exist
> Felipe Contreras (5):
>       t5801 (remote-helpers): cleanup refspec stuff
>       t5801 (remote-helpers): add test to fetch tags
>       fetch: trivial cleanup
>       fetch: make the code more understandable
>       fetch: fix regression with transport helpers
> Jakub Wilk (1):
>       doc: don't use as example gitweb URL
> Jean-Noël Avila (1):
>       l10n: reformat some localized strings for v2.23.0
> Jeff Hostetler (13):
>       cache-tree/blame: avoid reusing the DEBUG constant
>       msvc: mark a variable as non-const
>       msvc: do not re-declare the timespec struct
>       msvc: define ftello()
>       msvc: fix detect_msys_tty()
>       msvc: update Makefile to allow for spaces in the compiler path
>       status: add status.aheadbehind setting
>       status: warn when a/b calculation takes too long
>       status: ignore status.aheadbehind in porcelain formats
>       msvc: support building Git using MS Visual C++
>       msvc: add a compile-time flag to allow detailed heap debugging
>       msvc: do not pretend to support all signals
>       msvc: ignore .dll and incremental compile output
> Jeff King (57):
>       cmd_{read,write}_tree: rename "unused" variable that is used
>       builtin: consistently pass cmd_* prefix to parse_options
>       submodule: drop unused prefix parameter from some functions
>       clone: drop dest parameter from copy_alternates()
>       read-cache: drop unused parameter from threaded load
>       wt-status: drop unused status parameter
>       mktree: drop unused length parameter
>       name-rev: drop unused parameters from is_better_name()
>       pack-objects: drop unused rev_info parameters
>       receive-pack: drop unused "commands" from prepare_shallow_update()
>       remove_all_fetch_refspecs(): drop unused "remote" parameter
>       rev-list: drop unused void pointer from finish_commit()
>       show-branch: drop unused parameter from show_independent()
>       verify-commit: simplify parameters to run_gpg_verify()
>       help_unknown_ref(): duplicate collected refnames
>       help_unknown_ref(): check for refname ambiguity
>       upload-pack: strip namespace from symref data
>       am: simplify prompt response handling
>       am: read interactive input from stdin
>       am: drop tty requirement for --interactive
>       am: fix --interactive HEAD tree resolution
>       interpret-trailers: load default config
>       verify-tag: drop signal.h include
>       wt-status.h: drop stdio.h include
>       describe: fix accidental oid/hash type-punning
>       upload-pack: rename a "sha1" variable to "oid"
>       pack-bitmap-write: convert some helpers to use object_id
>       pack-objects: convert packlist_find() to use object_id
>       pack-objects: convert locate_object_entry_hash() to object_id
>       object: convert lookup_unknown_object() to use object_id
>       object: convert lookup_object() to use object_id
>       object: convert internal hash_obj() to object_id
>       object: convert create_object() to use object_id
>       khash: drop broken oid_map typedef
>       khash: rename kh_oid_t to kh_oid_set
>       delta-islands: convert island_marks khash to use oids
>       pack-bitmap: convert khash_sha1 maps into kh_oid_map
>       khash: drop sha1-specific map types
>       khash: rename oid helper functions
>       hash.h: move object_id definition from cache.h
>       hashmap: convert sha1hash() to oidhash()
>       delta-islands: respect progress flag
>       blame: drop some unused function parameters
>       object-store.h: move for_each_alternate_ref() from transport.h
>       check_everything_connected: assume alternate ref tips are valid
>       test-lib: introduce test_commit_bulk
>       t5310: increase the number of bitmapped commits
>       t3311: use test_commit_bulk
>       t5702: use test_commit_bulk
>       t5703: use test_commit_bulk
>       t6200: use test_commit_bulk
>       xdiff: clamp function context indices in post-image
>       t: sort output of hashmap iteration
>       t7700: clean up .keep file in bitmap-writing test
>       repack: silence warnings when auto-enabled bitmaps cannot be built
>       repack: simplify handling of auto-bitmaps and .keep files
>       t0000: reword comments for "local" test
> Johannes Schindelin (47):
>       Drop unused
>       t3400: stop referring to the scripted rebase
>       .gitignore: there is no longer a built-in `git-rebase--interactive`
>       sequencer: the `am` and `rebase--interactive` scripts are gone
>       rebase: fold git-rebase--common into the -p backend
>       bisect--helper: verify HEAD could be parsed before continuing
>       fill_stat_cache_info(): prepare for an fsmonitor fix
>       mark_fsmonitor_valid(): mark the index as changed if needed
>       bundle verify: error out if called without an object database
>       poll (mingw): allow compiling with GCC 8 and DEVELOPER=1
>       kwset: allow building with GCC 8
>       winansi: simplify loading the GetCurrentConsoleFontEx() function
>       config: avoid calling `labs()` on too-large data type
>       t3404: fix a typo
>       mingw: fix a typo in the msysGit-specific section
>       Mark .bat files as requiring CR/LF endings
>       t0001 (mingw): do not expect a specific order of stdout/stderr
>       obstack: fix compiler warning
>       mingw: replace mingw_startup() hack
>       msvc: fix dependencies of compat/msvc.c
>       t0001: fix on case-insensitive filesystems
>       msvc: avoid debug assertion windows in Debug Mode
>       mingw: enable stack smashing protector
>       mingw: get pw_name in UTF-8 format
>       mingw: use Unicode functions explicitly
>       rebase --am: ignore rebase.rescheduleFailedExec
>       mingw: fix possible buffer overrun when calling `GetUserNameW()`
>       diff: munmap() file contents before running external diff
>       mingw: support spawning programs containing spaces in their names
>       clean: show an error message when the path is too long
>       rebase: fix white-space
>       git: mark cmd_rebase as requiring a worktree
> auto-generate GUIDs
> do not configure VCWebServiceProxyGeneratorTool
> urlencode '<' and '>' when generating VC projects
>       contrib/buildsystems: ignore irrelevant files in Generators/
>       contrib/buildsystems: error out on unknown option
>       contrib/buildsystems: handle libiconv, too
>       contrib/buildsystems: also handle -lexpat
>       contrib/buildsystems: handle options starting with a slash
>       contrib/buildsystems: add a backend for modern Visual Studio versions
>       msvc: add a Makefile target to pre-generate the Visual Studio solution
>       vcxproj: also link-or-copy builtins
>       .gitignore: ignore Visual Studio's temporary/generated files
>       bin-wrappers: append `.exe` to target paths if necessary
>       git: avoid calling aliased builtins via their dashed form
>       config: work around bug with includeif:onbranch and early config
> Johannes Sixt (5):
>       userdiff: two simplifications of patterns for rust
>       t7610-mergetool: do not place pipelines headed by `yes` in subshells
>       t7610-mergetool: use test_cmp instead of test $(cat file) = $txt
>       mergetool: dissect strings with shell variable magic instead of `expr`
>       mergetool: use shell variable magic instead of `awk`
> John Lin (1):
>       status: remove the empty line after hints
> Jonathan Nieder (1):
>       t: decrease nesting in test_oid_to_path
> Jonathan Tan (5):
>       t5616: refactor packfile replacement
>       index-pack: prefetch missing REF_DELTA bases
>       t5616: use correct flag to check object is missing
>       t5616: cover case of client having delta base
>       t5551: test usage of chunked encoding explicitly
> Josh Steadmon (1):
>       trace2: correct trace2 field name documentation
> Junio C Hamano (19):
>       The first batch after 2.22
>       The second batch
>       The third batch
>       The fourth batch
>       The fifth batch
>       transport-helper: avoid var decl in for () loop control
>       rm: resolving by removal is not a warning-worthy event
>       CodingGuidelines: spell out post-C89 rules
>       The sixth batch
>       The seventh batch
>       Flush fixes up to the third batch post 2.22.0
>       Merge fixes made on the 'master' front
>       Git 2.23-rc0
>       test-dir-iterator: do not assume errno values
>       A few more last-minute fixes
>       log: flip the --mailmap default unconditionally
>       log: really flip the --mailmap default
>       Git 2.23-rc1
>       Git 2.23-rc2
> Karsten Blees (2):
>       gettext: always use UTF-8 on native Windows
>       mingw: initialize HOME on startup
> Marc-André Lureau (1):
>       userdiff: add built-in pattern for rust
> Mark Rushakoff (1):
>       doc: typo: s/can not/cannot/ and s/is does/does/
> Martin Ågren (3):
>       ref-filter: fix memory leak in `free_array_item()`
>       RelNotes/2.21.1: typofix
>       RelNotes/2.23.0: fix a few typos and other minor issues
> Matheus Tavares (8):
>       clone: better handle symlinked files at .git/objects/
>       dir-iterator: use warning_errno when possible
>       dir-iterator: refactor state machine model
>       dir-iterator: add flags parameter to dir_iterator_begin
>       clone: copy hidden paths at local clone
>       clone: extract function from copy_or_link_directory
>       clone: use dir-iterator to avoid explicit dir traversal
>       clone: replace strcmp by fspathcmp
> Matthew DeVore (5):
>       list-objects-filter-options: error is localizeable
>       list-objects-filter: correct usage of ALLOC_GROW
>       url: do not read past end of buffer
>       url: do not allow %00 to represent NUL in URLs
>       ref-filter: sort detached HEAD lines firstly
> Mazo, Andrey (8):
>       git-p4: detect/prevent infinite loop in gitCommitByP4Change()
>       git-p4: add failing test for "git-p4: match branches case insensitively 
> if configured"
>       git-p4: match branches case insensitively if configured
>       git-p4: don't groom exclude path list on every commit
>       git-p4: add failing test for "don't exclude other files with same 
> prefix"
>       git-p4: don't exclude other files with same prefix
>       git-p4: add failing test for "git-p4: respect excluded paths when 
> detecting branches"
>       git-p4: respect excluded paths when detecting branches
> Michael Osipov (1):
>       configure: Detect linking style for HP aCC on HP-UX
> Michael Platings (2):
>       blame: add a fingerprint heuristic to match ignored lines
>       t8014: remove unnecessary braces
> Miguel Ojeda (1):
>       clang-format: use git grep to generate the ForEachMacros list
> Mike Hommey (2):
>       dup() the input fd for fast-import used for remote helpers
>       Use xmmap_gently instead of xmmap in use_pack
> Mike Mueller (1):
>       p4 unshelve: fix "Not a valid object name HEAD0" on Windows
> Morian Sonnet (1):
>       submodule foreach: fix recursion of options
> Nguyễn Thái Ngọc Duy (63):
>       git-checkout.txt: spell out --no-option
>       git-checkout.txt: fix one syntax line
>       doc: document --overwrite-ignore
>       git-checkout.txt: fix monospace typeset
>       t: rename to
>       checkout: advice how to get out of detached HEAD mode
>       checkout: inform the user when removing branch state
>       checkout: keep most #include sorted
>       checkout: factor out some code in parse_branchname_arg()
>       checkout: make "opts" in cmd_checkout() a pointer
>       checkout: move 'confict_style' and 'dwim_..' to checkout_opts
>       checkout: split options[] array in three pieces
>       checkout: split part of it to new command 'switch'
>       switch: better names for -b and -B
>       switch: add --discard-changes
>       switch: remove -l
>       switch: stop accepting pathspec
>       switch: reject "do nothing" case
>       switch: only allow explicit detached HEAD
>       switch: add short option for --detach
>       switch: implicit dwim, use --no-guess to disable it
>       switch: no worktree status unless real branch switch happens
>       switch: reject if some operation is in progress
>       switch: make --orphan switch to an empty tree
>       t: add tests for switch
>       completion: support switch
>       doc: promote "git switch"
>       checkout: split part of it to new command 'restore'
>       restore: take tree-ish from --source option instead
>       restore: make pathspec mandatory
>       restore: disable overlay mode by default
>       checkout: factor out worktree checkout code
>       restore: add --worktree and --staged
>       restore: reject invalid combinations with --staged
>       restore: default to --source=HEAD when only --staged is specified
>       restore: replace --force with --ignore-unmerged
>       restore: support --patch
>       t: add tests for restore
>       completion: support restore
>       user-manual.txt: prefer 'merge --abort' over 'reset --hard'
>       doc: promote "git restore"
>       help: move git-diff and git-reset to different groups
>       Declare both git-switch and git-restore experimental
>       merge: remove drop_save() in favor of remove_merge_branch_state()
>       init: make --template path relative to $CWD
>       worktree add: sanitize worktree names
>       worktree add: be tolerant of corrupt worktrees
>       merge: add --quit
>       completion: do not cache if --git-completion-helper fails
>       fetch: only run 'gc' once when fetching multiple remotes
>       t2027: use test_must_be_empty
>       switch: allow to switch in the middle of bisect
>       completion: disable dwim on "git switch -d"
>       fetch-pack: move capability names out of i18n strings
>       fetch-pack: print all relevant supported capabilities with -v -v
>       fetch-pack: print server version at the top in -v -v
>       sha1-file.c: remove the_repo from read_object_with_reference()
>       tree-walk.c: remove the_repo from fill_tree_descriptor()
>       tree-walk.c: remove the_repo from get_tree_entry()
>       tree-walk.c: remove the_repo from get_tree_entry_follow_symlinks()
>       match-trees.c: remove the_repo from shift_tree*()
>       Use the right 'struct repository' instead of the_repository
>       t7814: do not generate same commits in different repos
> Nickolai Belakovski (3):
>       ref-filter: add worktreepath atom
>       branch: update output to include worktree info
>       branch: add worktree info on verbose output
> Paolo Bonzini (2):
>       request-pull: quote regex metacharacters in local ref
>       request-pull: warn if the remote object is not the same as the local one
> Philip Oakley (15):
>       git.c: show usage for accessing the git(1) help page
>       Doc: git.txt: remove backticks from link and add
>       doc branch: provide examples for listing remote tracking branches
>       msvc: include sigset_t definition
>       msvc: define O_ACCMODE
>       msvc: add pragmas for common warnings
> list git.exe first to be startup project
>       contrib/buildsystems: ignore invalidcontinue.obj
>       contrib/buildsystems: fix misleading error message
>       contrib/buildsystems: handle quoted spaces in filenames
>       contrib/buildsystems: ignore gettext stuff
>       contrib/buildsystems: redirect errors of the dry run into a log file
>       contrib/buildsystems: optionally capture the dry-run in a file
>       contrib/buildsystems: handle the curl library option
>       .gitignore: touch up the entries regarding Visual Studio
> Phillip Wood (12):
>       rebase: fix a memory leak
>       rebase: warn if state directory cannot be removed
>       sequencer: return errors from sequencer_remove_state()
>       rebase --abort/--quit: cleanup refs/rewritten
>       rebase -r: always reword merge -c
>       add -p: fix checkout -p with pathological context
>       show --continue/skip etc. consistently in synopsis
>       sequencer: always allow tab after command name
>       sequencer: factor out todo command name parsing
>       status: do not report errors in sequencer/todo
>       git-prompt: improve cherry-pick/revert detection
>       t3420: remove progress lines before comparing output
> Quentin Nerden (2):
>       docs: git-clone: refer to long form of options
>       docs: git-clone: list short form of options first
> Ramsay Jones (1):
>       env--helper: mark a file-local symbol as static
> René Scharfe (10):
>       cleanup: fix possible overflow errors in binary search, part 2
>       coccinelle: use COPY_ARRAY for copying arrays
>       use COPY_ARRAY for copying arrays
>       config: use unsigned_mult_overflows to check for overflows
>       config: don't multiply in parse_unit_factor()
>       config: simplify parsing of unit factors
>       commit-graph: release strbufs after use
>       dir-iterator: release strbuf after use
>       test-dir-iterator: use path argument directly
>       sha1-file: release strbuf after use
> Robert Morgan (1):
>       gpg(docs): use correct --verify syntax
> Rohit Ashiwal (5):
>       sequencer: add advice for revert
>       sequencer: rename reset_for_rollback to reset_merge
>       sequencer: use argv_array in reset_merge
>       cherry-pick/revert: add --skip option
>       cherry-pick/revert: advise using --skip
> SZEDER Gábor (12):
>       t3404: modernize here doc style
>       t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused
>       pager: add a helper function to clear the last line in the terminal
>       t5551: use 'test_i18ngrep' to check translated output
>       rebase: fix garbled progress display with '-x'
>       progress: use term_clear_line()
>       Document that 'git -C ""' works and doesn't change directory
>       ci: don't update Homebrew
>       ci: disable Homebrew's auto cleanup
>       ci/ update a comment about installed P4 and Git-LFS versions
>       travis-ci: build with GCC 4.8 as well
>       Documentation/git-fsck.txt: include fsck.* config variables
> Simon Williams (1):
>       git-p4: allow unshelving of branched files
> Stephen Boyd (2):
>       format-patch: inform user that patch-id generation is unstable
>       format-patch: make --base patch-id output stable
> Steven Roberts (1):
>       gpg-interface: do not scan past the end of buffer
> Taylor Blau (1):
>       ref-filter.c: find disjoint pattern prefixes
> Thomas Gummerer (16):
>       stash: fix show referencing stash index
>       apply: replace link with public-inbox
>       apply: only pass required data to skip_tree_prefix
>       apply: only pass required data to git_header_name
>       apply: only pass required data to check_header_line
>       apply: only pass required data to find_name_*
>       apply: only pass required data to gitdiff_* functions
>       apply: make parse_git_diff_header public
>       range-diff: fix function parameter indentation
>       range-diff: split lines manually
>       range-diff: don't remove funcname from inner diff
>       range-diff: suppress line count in outer diff
>       range-diff: add section header instead of diff header
>       range-diff: add filename to inner diff
>       range-diff: add headers to the outer hunk header
>       stash: fix handling removed files with --keep-index
> Tigran Mkrtchyan (1):
>       tag: add tag.gpgSign config option to force all tags be GPG-signed
> Varun Naik (1):
>       read-cache.c: do not die if mmap fails
> Vishal Verma (1):
>       merge: refuse --commit with --squash
> William Chargin (1):
>       restore: fix typo in docs
> Xin Li (1):
>       clone: respect user supplied origin name when setting up partial clone
> brian m. carlson (10):
>       t: add helper to convert object IDs to paths
>       t1410: make hash size independent
>       t1450: make hash size independent
>       t5000: make hash independent
>       t6030: make test work with SHA-256
>       t0027: make hash size independent
>       t0090: make test pass with SHA-256
>       t1007: remove SHA1 prerequisites
>       t1710: make hash independent
>       t2203: avoid hard-coded object ID values
> Ævar Arnfjörð Bjarmason (21):
>       send-email: move the read_config() function above getopts
>       send-email: rename the @bcclist variable for consistency
>       send-email: do defaults -> config -> getopt in that order
>       tests: add a special setup where prerequisites fail
>       Makefile: remove the NO_R_TO_GCC_LINKER flag
>       send-email: remove cargo-culted multi-patch pattern in tests
>       send-email: fix broken transferEncoding tests
>       send-email: document --no-[to|cc|bcc]
>       hash-object doc: stop mentioning git-cvsimport
>       send-email: fix regression in sendemail.identity parsing
>       Revert "test-lib: whitelist GIT_TR2_* in the environment"
>       config tests: simplify include cycle test
>       env--helper: new undocumented builtin wrapping git_env_*()
>       config.c: refactor die_bad_number() to not call gettext() early
>       t6040 test: stop using global "script" variable
>       tests: make GIT_TEST_GETTEXT_POISON a boolean
>       tests README: re-flow a previously changed paragraph
>       tests: replace test_tristate with "git env--helper"
>       tests: make GIT_TEST_FAIL_PREREQS a boolean
>       tests: mark two failing tests under FAIL_PREREQS
>       clone: test for our behavior on odd objects/* content
> --
> You received this message because you are subscribed to the Google Groups 
> "git-packagers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to
> To view this discussion on the web visit 

Reply via email to