From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-4.0 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by dcvr.yhbt.net (Postfix) with ESMTP id A80361F87F for ; Wed, 21 Nov 2018 15:20:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730328AbeKVBzX (ORCPT ); Wed, 21 Nov 2018 20:55:23 -0500 Received: from pb-smtp2.pobox.com ([64.147.108.71]:56274 "EHLO pb-smtp2.pobox.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729656AbeKVBzW (ORCPT ); Wed, 21 Nov 2018 20:55:22 -0500 Received: from pb-smtp2.pobox.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 7D20710F2DE; Wed, 21 Nov 2018 10:20:25 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=sasl; bh=ql4MagRRWD/LFaY+jTZ64hlWK qE=; b=HlFV4jPljTfjeBfkXkOAvZgA87wpOyxN8ou5ym04GZZTwGFttT1RykBam 73Pi2mwa9gmssoPMQyy+0NqklEFYq6W5Nr6XMGmRHMHrVje3WhNvFevQXUqfYLVG NnmzkNb0aZxjb75+JNvX9vlLxZb1XBg77DnA7HRk4oWfa9TK8o= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:date:message-id:mime-version:content-type :content-transfer-encoding; q=dns; s=sasl; b=RQxjGAS73LXh1f02+B+ 7qo62EdxxNAUpTuGz/HfBjbHFv26EMut+Q8JI33Rx047sEtoRg2qfNmzmWgpcOyg 2v7SNiDcNqIYtXygil3rZJ2xW2WHjw5U3sBX7LMSR2DWOia5ercLpbcJfme41a0c uDFHdtult4v5aKrkOOScRnKQ= Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp2.pobox.com (Postfix) with ESMTP id 748ED10F2DD; Wed, 21 Nov 2018 10:20:25 -0500 (EST) Received: from pobox.com (unknown [35.187.50.168]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 9BDA110F2DC; Wed, 21 Nov 2018 10:20:24 -0500 (EST) From: Junio C Hamano To: git@vger.kernel.org Cc: Linux Kernel , git-packagers@googlegroups.com Subject: [ANNOUNCE] Git v2.20.0-rc1 Date: Thu, 22 Nov 2018 00:20:23 +0900 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-Pobox-Relay-ID: F8072F6C-EDA0-11E8-B7FE-BFB3E64BB12D-77302942!pb-smtp2.pobox.com Content-Transfer-Encoding: quoted-printable Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org A release candidate Git v2.20.0-rc1 is now available for testing at the usual places. It is comprised of 915 non-merge commits since v2.19.0, contributed by 73 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.20.0-rc1' tag and the 'master' branch that the tag points at: url =3D https://kernel.googlesource.com/pub/scm/git/git url =3D git://repo.or.cz/alt-git.git url =3D https://github.com/gitster/git New contributors whose contributions weren't in v2.19.0 are as follows. Welcome to the Git development community! Aaron Lindsay, Alexander Pyhalov, Anton Serbulov, Brendan Forster, Carlo Marcelo Arenas Bel=C3=B3n, Daniels Umanovskis, David Zych, =C4=90o=C3=A0n Tr=E1=BA=A7n C=C3=B4ng Danh, Frederick Eaton, Jame= s Knight, Jann Horn, Joshua Watt, Loo Rong Jie, Lucas De Marchi, Matthew DeVore, Mihir Mehta, Nickolai Belakovski, Roger Strain, Sam McKelvie, Saulius Gurklys, Shulhan, Steven Fernandez, Strain, Roger L, and Tim Schumacher. Returning contributors who helped this release are as follows. Thanks for your continued support. =C3=86var Arnfj=C3=B6r=C3=B0 Bjarmason, Alban Gruin, Andreas Gruenbache= r, Andreas Heiduk, Antonio Ospite, Ben Peart, Brandon Williams, brian m. carlson, Christian Couder, Christian Hesse, Denton Liu, Derrick Stolee, Elijah Newren, Eric Sunshine, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Steadmon, Junio C Hamano, Karsten Blees, Luke Diamand, Martin =C3=85gren, Max Kirillov, Michael Witten, Micha=C5=82 G=C3=B3rny, Nguy=E1=BB=85n Th=C3=A1i Ng=E1=BB=8Dc Duy, Noam= Postavsky, Olga Telezhnaya, Phillip Wood, Pratik Karki, Rafael Ascens=C3=A3o, Ralf Thielow, Ramsay Jones, Rasmus Villemoes, Ren=C3=A9 Scharfe, Sebastian Staudt, Stefan Beller, Stephen P. Smith, Steve Hoelzer, SZEDER G=C3=A1bor, Tao Qingyun, Taylor Blau, Thomas Gummerer, Todd Zullinger, Torsten B=C3=B6gershausen, and Uwe Kleine-K=C3=B6nig. ---------------------------------------------------------------- Git 2.20 Release Notes (draft) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D Backward Compatibility Notes ---------------------------- * "git branch -l " used to be a way to ask a reflog to be created while creating a new branch, but that is no longer the case. It is a short-hand for "git branch --list " now. * "git push" into refs/tags/* hierarchy is rejected without getting forced, but "git fetch" (misguidedly) used the "fast forwarding" rule used for the refs/heads/* hierarchy; this has been corrected, which means some fetches of tags that did not fail with older version of Git will fail without "--force" with this version. * "git help -a" now gives verbose output (same as "git help -av"). Those who want the old output may say "git help --no-verbose -a".. * "git cpn --help", when "cpn" is an alias to, say, "cherry-pick -n", reported only the alias expansion of "cpn" in earlier versions of Git. It now runs "git cherry-pick --help" to show the manual page of the command, while sending the alias expansion to the standard error stream. * "git send-email" learned to grab address-looking string on any trailer whose name ends with "-by". This is a backward-incompatible change. Adding "--suppress-cc=3Dmisc-by" on the command line, or setting sendemail.suppresscc configuration variable to "misc-by", can be used to disable this behaviour. Updates since v2.19 ------------------- UI, Workflows & Features * Running "git clone" against a project that contain two files with pathnames that differ only in cases on a case insensitive filesystem would result in one of the files lost because the underlying filesystem is incapable of holding both at the same time. An attempt is made to detect such a case and warn. * "git checkout -b newbranch [HEAD]" should not have to do as much as checking out a commit different from HEAD. An attempt is made to optimize this special case. * "git rev-list --stdin --branches=3D" etc. did not quite work, which has been corrected. (merge 9ab9b5df0e ra/rev-parse-exclude-glob later to maint). * When editing a patch in a "git add -i" session, a hunk could be made to no-op. The "git apply" program used to reject a patch with such a no-op hunk to catch user mistakes, but it is now updated to explicitly allow a no-op hunk in an edited patch. (merge 22cb3835b9 js/apply-recount-allow-noop later to maint). * The URL to an MSDN page in a comment has been updated. (merge 2ef2ae2917 js/mingw-msdn-url later to maint). * "git ls-remote --sort=3D" can feed an object that is not yet available into the comparison machinery and segfault, which has been corrected to check such a request upfront and reject it. * When "git bundle" aborts due to an empty commit ranges (i.e. resulting in an empty pack), it left a file descriptor to an lockfile open, which resulted in leftover lockfile on Windows where you cannot remove a file with an open file descriptor. This has been corrected. (merge 2c8ee1f53c jk/close-duped-fd-before-unlock-for-bundle later to = maint). * "git format-patch --stat=3D" can be used to specify the width used by the diffstat (shown in the cover letter). (merge 284aeb7e60 nd/format-patch-cover-letter-stat-width later to mai= nt). * The way .git/index and .git/sharedindex* files were initially created gave these files different perm bits until they were adjusted for shared repository settings. This was made consistent. (merge c9d6c78870 cc/shared-index-permbits later to maint). * Code cleanup, docfix, build fix, etc. (merge 96a7501aad ts/doc-build-manpage-xsl-quietly later to maint). (merge b9b07efdb2 tg/conflict-marker-size later to maint). (merge fa0aeea770 sg/doc-trace-appends later to maint). (merge d64324cb60 tb/void-check-attr later to maint). (merge c3b9bc94b9 en/double-semicolon-fix later to maint). (merge 79336116f5 sg/t3701-tighten-trace later to maint). (merge 801fa63a90 jk/dev-build-format-security later to maint). (merge 0597dd62ba sb/string-list-remove-unused later to maint). (merge db2d36fad8 bw/protocol-v2 later to maint). (merge 456d7cd3a9 sg/split-index-test later to maint). (merge 7b6057c852 tq/refs-internal-comment-fix later to maint). (merge 29e8dc50ad tg/t5551-with-curl-7.61.1 later to maint). (merge 55f6bce2c9 fe/doc-updates later to maint). (merge 7987d2232d jk/check-everything-connected-is-long-gone later to = maint). (merge 4ba3c9be47 dz/credential-doc-url-matching-rules later to maint)= . (merge 4c399442f7 ma/commit-graph-docs later to maint). (merge fc0503b04e ma/t1400-undebug-test later to maint). (merge e56b53553a nd/packobjectshook-doc-fix later to maint). (merge c56170a0c4 ma/mailing-list-address-in-git-help later to maint). (merge 6e8fc70fce rs/sequencer-oidset-insert-avoids-dups later to main= t). (merge ad0b8f9575 mw/doc-typofixes later to maint). (merge d9f079ad1a jc/how-to-document-api later to maint). (merge b1492bf315 ma/t7005-bash-workaround later to maint). (merge ac1f98a0df du/rev-parse-is-plumbing later to maint). (merge ca8ed443a5 mm/doc-no-dashed-git later to maint). (merge ce366a8144 du/get-tar-commit-id-is-plumbing later to maint). (merge 61018fe9e0 du/cherry-is-plumbing later to maint). (merge c7e5fe79b9 sb/strbuf-h-update later to maint). (merge 8d2008196b tq/branch-create-wo-branch-get later to maint). (merge 2e3c894f4b tq/branch-style-fix later to maint). (merge c5d844af9c sg/doc-show-branch-typofix later to maint). (merge 081d91618b ah/doc-updates later to maint). (merge b84c783882 jc/cocci-preincr later to maint). (merge 5e495f8122 uk/merge-subtree-doc-update later to maint). (merge aaaa881822 jk/uploadpack-packobjectshook-fix later to maint). (merge 3063477445 tb/char-may-be-unsigned later to maint). (merge 8c64bc9420 sg/test-rebase-editor-fix later to maint). (merge 71571cd7d6 ma/sequencer-do-reset-saner-loop-termination later t= o maint). (merge 9a4cb8781e cb/notes-freeing-always-null-fix later to maint). ---------------------------------------------------------------- Changes since v2.19.0 are as follows: Aaron Lindsay (1): send-email: avoid empty transfer encoding header Alban Gruin (21): sequencer: make three functions and an enum from sequencer.c public rebase -i: rewrite append_todo_help() in C editor: add a function to launch the sequence editor rebase -i: rewrite the edit-todo functionality in C sequencer: add a new function to silence a command, except if it fa= ils rebase -i: rewrite setup_reflog_action() in C rebase -i: rewrite checkout_onto() in C sequencer: refactor append_todo_help() to write its message to a bu= ffer sequencer: change the way skip_unnecessary_picks() returns its resu= lt t3404: todo list with commented-out commands only aborts rebase -i: rewrite complete_action() in C rebase -i: remove unused modes and functions rebase -i: implement the logic to initialize $revisions in C rebase -i: rewrite the rest of init_revisions_and_shortrevisions() = in C rebase -i: rewrite write_basic_state() in C rebase -i: rewrite init_basic_state() in C rebase -i: implement the main part of interactive rebase as a built= in rebase--interactive2: rewrite the submodes of interactive rebase in= C rebase -i: remove git-rebase--interactive.sh rebase -i: move rebase--helper modes to rebase--interactive p3400: replace calls to `git checkout -b' by `git checkout -B' Alexander Pyhalov (1): t7005-editor: quote filename to fix whitespace-issue Andreas Gruenbacher (1): rev-parse: clear --exclude list after 'git rev-parse --all' Andreas Heiduk (6): doc: clarify boundaries of 'git worktree list --porcelain' doc: fix ASCII art tab spacing doc: fix inappropriate monospace formatting doc: fix descripion for 'git tag --format' doc: fix indentation of listing blocks in gitweb.conf.txt doc: fix formatting in git-update-ref Anton Serbulov (1): mingw: fix getcwd when the parent directory cannot be queried Antonio Ospite (10): submodule: add a print_config_from_gitmodules() helper submodule: factor out a config_set_in_gitmodules_file_gently functi= on t7411: merge tests 5 and 6 t7411: be nicer to future tests and really clean things up submodule--helper: add a new 'config' subcommand submodule: use the 'submodule--helper config' command t7506: clean up .gitmodules properly before setting up new scenario submodule: add a helper to check if it is safe to write to .gitmodu= les submodule: support reading .gitmodules when it's not in the working= tree t/helper: add test-submodule-nested-repo-config Ben Peart (19): checkout: optimize "git checkout -b " git-mv: allow submodules and fsmonitor to work together t/README: correct spelling of "uncommon" preload-index: use git_env_bool() not getenv() for customization fsmonitor: update GIT_TEST_FSMONITOR support read-cache: update TEST_GIT_INDEX_VERSION support preload-index: update GIT_FORCE_PRELOAD_TEST support read-cache: clean up casting and byte decoding eoie: add End of Index Entry (EOIE) extension config: add new index.threads config setting read-cache: load cache extensions on a worker thread ieot: add Index Entry Offset Table (IEOT) extension read-cache: load cache entries on worker threads reset: don't compute unstaged changes after reset when --quiet reset: add new reset.quiet config setting reset: warn when refresh_index() takes more than 2 seconds speed up refresh_index() by utilizing preload_index() add: speed up cmd_add() by utilizing read_cache_preload() refresh_index: remove unnecessary calls to preload_index() Brandon Williams (1): config: document value 2 for protocol.version Brendan Forster (1): http: add support for disabling SSL revocation checks in cURL Carlo Marcelo Arenas Bel=C3=B3n (8): unpack-trees: avoid dead store for struct progress multi-pack-index: avoid dead store for struct progress read-cache: use of memory after it is freed commit-slabs: move MAYBE_UNUSED out khash: silence -Wunused-function for delta-islands compat: make sure git_mmap is not expected to write sequencer: cleanup for gcc warning in non developer mode builtin/notes: remove unnecessary free Christian Couder (3): pack-objects: refactor code into compute_layer_order() pack-objects: move tree_depth into 'struct packing_data' pack-objects: move 'layer' into 'struct packing_data' Christian Hesse (2): subtree: add build targets 'man' and 'html' subtree: make install targets depend on build targets Daniels Umanovskis (3): doc: move git-rev-parse from porcelain to plumbing doc: move git-get-tar-commit-id to plumbing doc: move git-cherry to plumbing David Zych (1): doc: clarify gitcredentials path component matching Denton Liu (3): mergetool: accept -g/--[no-]gui as arguments completion: support `git mergetool --[no-]gui` doc: document diff/merge.guitool config keys Derrick Stolee (93): multi-pack-index: add design document multi-pack-index: add format details multi-pack-index: add builtin multi-pack-index: add 'write' verb midx: write header information to lockfile multi-pack-index: load into memory t5319: expand test data packfile: generalize pack directory list multi-pack-index: read packfile list multi-pack-index: write pack names in chunk midx: read pack names into array midx: sort and deduplicate objects from packfiles midx: write object ids in a chunk midx: write object id fanout chunk midx: write object offsets config: create core.multiPackIndex setting midx: read objects from multi-pack-index midx: use midx in abbreviation calculations midx: use existing midx when writing new one midx: use midx in approximate_object_count midx: prevent duplicate packfile loads packfile: skip loading index if in multi-pack-index midx: clear midx on repack commit-reach: move walk methods from commit.c commit.h: remove method declarations commit-reach: move ref_newer from remote.c commit-reach: move commit_contains from ref-filter upload-pack: make reachable() more generic upload-pack: refactor ok_to_give_up() upload-pack: generalize commit date cutoff commit-reach: move can_all_from_reach_with_flags test-reach: create new test tool for ref_newer test-reach: test in_merge_bases test-reach: test is_descendant_of test-reach: test get_merge_bases_many test-reach: test reduce_heads test-reach: test can_all_from_reach_with_flags test-reach: test commit_contains commit-reach: replace ref_newer logic commit-reach: make can_all_from_reach... linear commit-reach: use can_all_from_reach multi-pack-index: provide more helpful usage info multi-pack-index: store local property midx: mark bad packed objects midx: stop reporting garbage midx: fix bug that skips midx with alternates packfile: add all_packs list treewide: use get_all_packs midx: test a few commands that use get_all_packs pack-objects: consider packs in multi-pack-index commit-graph: update design document test-repository: properly init repo commit-graph: not compatible with replace objects commit-graph: not compatible with grafts commit-graph: not compatible with uninitialized repo commit-graph: close_commit_graph before shallow walk commit-graph: define GIT_TEST_COMMIT_GRAPH t3206-range-diff.sh: cover single-patch case t5318: use test_oid for HASH_LEN multi-pack-index: add 'verify' verb multi-pack-index: verify bad header multi-pack-index: verify corrupt chunk lookup table multi-pack-index: verify packname order multi-pack-index: verify missing pack multi-pack-index: verify oid fanout order multi-pack-index: verify oid lookup order multi-pack-index: fix 32-bit vs 64-bit size check multi-pack-index: verify object offsets multi-pack-index: report progress during 'verify' fsck: verify multi-pack-index commit-reach: properly peel tags commit-reach: fix memory and flag leaks commit-reach: cleanups in can_all_from_reach... commit-graph: clean up leaked memory during write commit-graph: reduce initial oid allocation midx: fix broken free() in close_midx() contrib: add coverage-diff script ci: add optional test variables commit-reach: fix first-parent heuristic midx: close multi-pack-index on repack multi-pack-index: define GIT_TEST_MULTI_PACK_INDEX packfile: close multi-pack-index in close_all_packs prio-queue: add 'peek' operation test-reach: add run_three_modes method test-reach: add rev-list tests revision.c: begin refactoring --topo-order logic commit/revisions: bookkeeping before refactoring revision.c: generation-based topo-order algorithm t6012: make rev-list tests more interesting commit-reach: implement get_reachable_subset test-reach: test get_reachable_subset remote: make add_missing_tags() linear pack-objects: ignore ambiguous object warnings Elijah Newren (14): Remove superfluous trailing semicolons t4200: demonstrate rerere segfault on specially crafted merge rerere: avoid buffer overrun update-ref: fix type of update_flags variable to match its usage update-ref: allow --no-deref with --stdin sequencer: fix --allow-empty-message behavior, make it smarter merge-recursive: set paths correctly when three-way merging content merge-recursive: avoid wrapper function when unnecessary and wastef= ul merge-recursive: remove final remaining caller of merge_file_one() merge-recursive: rename merge_file_1() and merge_content() commit: fix erroneous BUG, 'multiple renames on the same target? ho= w?' merge-recursive: improve auto-merging messages with path collisions merge-recursive: avoid showing conflicts with merge branch before H= EAD fsck: move fsck_head_link() to get_default_heads() to avoid some gl= obals Eric Sunshine (26): format-patch: allow additional generated content in make_cover_lett= er() format-patch: add --interdiff option to embed diff in cover letter format-patch: teach --interdiff to respect -v/--reroll-count interdiff: teach show_interdiff() to indent interdiff log-tree: show_log: make commentary block delimiting reusable format-patch: allow --interdiff to apply to a lone-patch range-diff: respect diff_option.file rather than assuming 'stdout' range-diff: publish default creation factor range-diff: relieve callers of low-level configuration burden format-patch: add --range-diff option to embed diff in cover letter format-patch: extend --range-diff to accept revision range format-patch: teach --range-diff to respect -v/--reroll-count format-patch: add --creation-factor tweak for --range-diff format-patch: allow --range-diff to apply to a lone-patch worktree: don't die() in library function find_worktree() worktree: move delete_git_dir() earlier in file for upcoming new ca= llers worktree: generalize delete_git_dir() to reduce code duplication worktree: prepare for more checks of whether path can become worktr= ee worktree: disallow adding same path multiple times worktree: teach 'add' to respect --force for registered but missing= path worktree: teach 'move' to override lock when --force given twice worktree: teach 'remove' to override lock when --force given twice worktree: delete .git/worktrees if empty after 'remove' doc-diff: fix non-portable 'man' invocation doc-diff: add --clean mode to remove temporary working gunk doc/Makefile: drop doc-diff worktree and temporary files on "make c= lean" Frederick Eaton (3): git-archimport.1: specify what kind of Arch we're talking about git-column.1: clarify initial description, provide examples git-describe.1: clarify that "human readable" is also git-readable James Knight (1): build: link with curl-defined linker flags Jann Horn (2): patch-delta: fix oob read patch-delta: consistently report corruption Jeff Hostetler (2): t0051: test GIT_TRACE to a windows named pipe mingw: fix mingw_open_append to work with named pipes Jeff King (97): branch: make "-l" a synonym for "--list" Add delta-islands.{c,h} pack-objects: add delta-islands support repack: add delta-islands support t5320: tests for delta islands t/perf: factor boilerplate out of test_perf t/perf: factor out percent calculations t/perf: add infrastructure for measuring sizes t/perf: add perf tests for fetches from a bitmapped server pack-bitmap: save "have" bitmap from walk pack-objects: reuse on-disk deltas for thin "have" objects SubmittingPatches: mention doc-diff rev-list: make empty --stdin not an error trailer: use size_t for string offsets trailer: use size_t for iterating trailer list trailer: pass process_trailer_opts to trailer_info_get() interpret-trailers: tighten check for "---" patch boundary interpret-trailers: allow suppressing "---" divider pretty, ref-filter: format %(trailers) with no_divider option sequencer: ignore "---" divider when parsing trailers append_signoff: use size_t for string offsets coccinelle: use <...> for function exclusion introduce hasheq() and oideq() convert "oidcmp() =3D=3D 0" to oideq() convert "hashcmp() =3D=3D 0" to hasheq() convert "oidcmp() !=3D 0" to "!oideq()" convert "hashcmp() !=3D 0" to "!hasheq()" convert hashmap comparison functions to oideq() read-cache: use oideq() in ce_compare functions show_dirstat: simplify same-content check doc-diff: always use oids inside worktree test-delta: read input into a heap buffer t5303: test some corrupt deltas patch-delta: handle truncated copy parameters t5303: use printf to generate delta bases doc/git-branch: remove obsolete "-l" references bitmap_has_sha1_in_uninteresting(): drop BUG check t5310: test delta reuse with bitmaps traverse_bitmap_commit_list(): don't free result pack-bitmap: drop "loaded" flag reopen_tempfile(): truncate opened file doc-diff: force worktree add config.mak.dev: add -Wformat-security pack-objects: handle island check for "external" delta base receive-pack: update comment with check_everything_connected submodule--helper: use "--" to signal end of clone options submodule-config: ban submodule urls that start with dash submodule-config: ban submodule paths that start with a dash fsck: detect submodule urls starting with dash fsck: detect submodule paths starting with dash more oideq/hasheq conversions transport: drop refnames from for_each_alternate_ref test-tool: show tool list on error config.mak.dev: enable -Wunused-function run-command: mark path lookup errors with ENOENT t5410: use longer path for sample script upload-pack: fix broken if/else chain in config callback t1450: check large blob in trailing-garbage test check_stream_sha1(): handle input underflow cat-file: handle streaming failures consistently ls-remote: do not send ref prefixes for patterns ls-remote: pass heads/tags prefixes to transport read_istream_pack_non_delta(): document input handling xdiff: provide a separate emit callback for hunks xdiff-interface: provide a separate consume callback for hunks rev-list: handle flags for --indexed-objects approxidate: handle pending number for "specials" pathspec: handle non-terminated strings with :(attr) diff: avoid generating unused hunk header lines diff: discard hunk headers for patch-ids earlier diff: use hunk callback for word-diff combine-diff: use an xdiff hunk callback diff: convert --check to use a hunk callback range-diff: use a hunk callback xdiff-interface: drop parse_hunk_header() apply: mark include/exclude options as NONEG am: handle --no-patch-format option ls-files: mark exclude options as NONEG pack-objects: mark index-version option as NONEG cat-file: mark batch options with NONEG status: mark --find-renames option with NONEG format-patch: mark "--no-numbered" option with NONEG show-branch: mark --reflog option as NONEG tag: mark "--message" option with NONEG cat-file: report an error on multiple --batch options apply: return -1 from option callback instead of calling exit(1) parse-options: drop OPT_DATE() assert NOARG/NONEG behavior of parse-options callbacks midx: double-check large object write loop merge: extract verify_merge_signature() helper merge: handle --verify-signatures for unborn branch pull: handle --verify-signatures for unborn branch approxidate: fix NULL dereference in date_time() bundle: dup() output descriptor closer to point-of-use pack-objects: fix tree_depth and layer invariants pack-objects: zero-initialize tree_depth/layer arrays pack-objects: fix off-by-one in delta-island tree-depth computation Johannes Schindelin (62): rebase -i --autosquash: demonstrate a problem skipping the last squ= ash rebase -i: be careful to wrap up fixup/squash chains compat/poll: prepare for targeting Windows Vista mingw: set _WIN32_WINNT explicitly for Git for Windows mingw: bump the minimum Windows version to Vista builtin rebase: prepare for builtin rebase -i rebase -i: clarify what happens on a failed `exec` rebase -i: introduce the 'break' command getpwuid(mingw): initialize the structure only once getpwuid(mingw): provide a better default for the user name mingw: use domain information for default email http: add support for selecting SSL backends at runtime pack-objects: fix typo 'detla' -> 'delta' pack-objects (mingw): demonstrate a segmentation fault with large d= eltas pack-objects (mingw): initialize `packing_data` mutex in the correc= t spot rebase (autostash): avoid duplicate call to state_dir_path() rebase (autostash): store the full OID in /autostash rebase (autostash): use an explicit OID to apply the stash mingw: factor out code to set stat() data rebase --autostash: demonstrate a problem with dirty submodules rebase --autostash: fix issue with dirty submodules mingw: load system libraries the recommended way mingw: ensure `getcwd()` reports the correct case repack: point out a bug handling stale shallow info shallow: offer to prune only non-existing entries repack -ad: prune the list of shallow commits http: when using Secure Channel, ignore sslCAInfo by default t7800: fix quoting mingw: reencode environment variables on the fly (UTF-16 <-> UTF-8) config: rename `dummy` parameter to `cb` in git_default_config() config: allow for platform-specific core.* config settings config: move Windows-specific config settings into compat/mingw.c mingw: unset PERL5LIB by default mingw: fix isatty() after dup2() t3404: decouple some test cases from outcomes of previous test case= s t3418: decouple test cases from a previous `rebase -p` test case tests: optionally skip `git rebase -p` tests Windows: force-recompile git.res for differing architectures built-in rebase: demonstrate regression with --autostash built-in rebase --autostash: leave the current branch alone if poss= ible Update .mailmap rebase -r: demonstrate bug with conflicting merges rebase -r: do not write MERGE_HEAD unless needed rebase -i: include MERGE_HEAD into files to clean up built-in rebase --skip/--abort: clean up stale .git/ files status: rebase and merge can be in progress at the same time apply --recount: allow "no-op hunks" rebase: consolidate clean-up code before leaving reset_head() rebase: prepare reset_head() for more flags built-in rebase: reinstate `checkout -q` behavior where appropriate tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/ tests: respect GIT_TEST_INSTALLED when initializing repositories t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is = set mingw: use `CreateHardLink()` directly rebase: really just passthru the `git am` options rebase: validate -C and --whitespace=3D parameters early config: report a bug if git_dir exists without commondir tests: do not require Git to be built when testing an installed Git tests: explicitly use `git.exe` on Windows mingw: replace an obsolete link with the superseding one legacy-rebase: backport -C and --whitespace=3D