From: Junio C Hamano Date: Fri, 05 Jan 2018 23:30:59 GMT Subject: What's cooking in git.git (Jan 2018, #01; Fri, 5) Message-ID: Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. The tip of 'master' has been tagged as 2.16-rc1; I am aware that a handful of larger topics are on the list, yet to be picked up, but now we are pretty much in feature-freeze mode before the release; please shift your attention to fixes from shiny new toys. You can find the changes described here in the integration branches of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- [Graduated to "master"] * bp/fsmonitor (2017-12-18) 1 commit (merged to 'next' on 2017-12-27 at ce216e2978) + p7519: improve check for prerequisite WATCHMAN Test fix. * bw/path-doc (2017-12-13) 1 commit (merged to 'next' on 2017-12-19 at 2cddee77ca) + path: document path functions Doc updates. * cc/skip-to-optional-val (2017-12-11) 7 commits (merged to 'next' on 2017-12-27 at 1b189d8556) + t4045: reindent to make helpers readable + diff: add tests for --relative without optional prefix value + diff: use skip_to_optional_arg_default() in parsing --relative + diff: use skip_to_optional_arg_default() + diff: use skip_to_optional_arg() + index-pack: use skip_to_optional_arg() + git-compat-util: introduce skip_to_optional_arg() Introduce a helper to simplify code to parse a common pattern that expects either "--key" or "--key=". * db/doc-config-section-names-with-bs (2017-12-22) 1 commit (merged to 'next' on 2017-12-28 at e744b99449) + config.txt: document behavior of backslashes in subsections Doc update. * ew/empty-merge-with-dirty-index (2017-12-22) 1 commit (merged to 'next' on 2017-12-28 at 17aa5ec010) + Merge branch 'ew/empty-merge-with-dirty-index-maint' into ew/empty-merge-with-dirty-index (this branch uses ew/empty-merge-with-dirty-index-maint.) "git merge -s recursive" did not correctly abort when the index is dirty, if the merged tree happened to be the same as the current HEAD, which has been fixed. * ew/empty-merge-with-dirty-index-maint (2017-12-22) 3 commits + merge-recursive: avoid incorporating uncommitted changes in a merge + move index_has_changes() from builtin/am.c to merge.c for reuse + t6044: recursive can silently incorporate dirty changes in a merge (this branch is used by ew/empty-merge-with-dirty-index.) "git merge -s recursive" did not correctly abort when the index is dirty, if the merged tree happened to be the same as the current HEAD, which has been fixed. * ew/svn-crlf (2017-12-14) 2 commits (merged to 'next' on 2017-12-27 at 1b81bd634d) + Merge branch 'svn-crlf' of git://bogomips.org/git-svn into ew/svn-crlf + git-svn: convert CRLF to LF in commit message to SVN "git svn" has been updated to strip CRs in the commit messages, as recent versions of Subversion rejects them. * hi/merge-verify-sig-config (2017-12-19) 3 commits (merged to 'next' on 2017-12-27 at 34360fb1c1) + t5573, t7612: clean up after unexpected success of 'pull' and 'merge' (merged to 'next' on 2017-12-14 at cdc511dc36) + t: add tests for pull --verify-signatures + merge: add config option for verifySignatures "git merge" learned to pay attention to merge.verifySignatures configuration variable and pretend as if '--verify-signatures' option was given from the command line. * jd/fix-strbuf-add-urlencode-bytes (2017-12-22) 1 commit (merged to 'next' on 2017-12-28 at 7f4f291966) + strbuf: fix urlencode format string on signed char Bytes with high-bit set were encoded incorrectly and made credential helper fail. * jh/memihash-opt (2017-12-22) 1 commit (merged to 'next' on 2017-12-28 at bf96e0d849) + t/helper/test-lazy-name-hash: fix compilation Squelch compiler warning. * jh/partial-clone-doc (2017-12-14) 1 commit (merged to 'next' on 2017-12-27 at 3695847773) + partial-clone: design doc * jk/test-suite-tracing (2017-12-08) 4 commits (merged to 'next' on 2017-12-27 at 7034a51474) + t/Makefile: introduce TEST_SHELL_PATH + test-lib: make "-x" work with "--verbose-log" + t5615: avoid re-using descriptor 4 + test-lib: silence "-x" cleanup under bash Assorted fixes around running tests with "-x" tracing option. * js/enhanced-version-info (2017-12-14) 2 commits (merged to 'next' on 2017-12-27 at a95dd96a78) + version --build-options: report commit, too, if possible + version --build-options: also report host CPU "git version --build-options" learned to report the host CPU and the exact commit object name the binary was built from. * js/sequencer-cleanups (2017-12-27) 5 commits (merged to 'next' on 2017-12-28 at 23c10afb09) + sequencer: do not invent whitespace when transforming OIDs + sequencer: report when noop has an argument + sequencer: remove superfluous conditional + sequencer: strip bogus LF at end of error messages + rebase: do not continue when the todo list generation failed Code cleanup. * jt/transport-hide-vtable (2017-12-14) 2 commits (merged to 'next' on 2017-12-27 at 8dc27cfb53) + transport: make transport vtable more private + clone, fetch: remove redundant transport check Code clean-up. * ks/doc-previous-checkout (2017-12-19) 1 commit (merged to 'next' on 2017-12-27 at c706239a69) + Doc/check-ref-format: clarify information about @{-N} syntax Doc update. * ks/rebase-error-messages (2017-12-19) 3 commits (merged to 'next' on 2017-12-27 at 80c62260ad) + rebase: rebasing can also be done when HEAD is detached + rebase: distinguish user input by quoting it + rebase: consistently use branch_name variable Error messages from "git rebase" have been somewhat cleaned up. * ld/p4-multiple-shelves (2017-12-22) 1 commit (merged to 'next' on 2017-12-28 at 6c29703427) + git-p4: update multiple shelved change lists "git p4" update. * nm/imap-send-quote-server-folder-name (2017-12-18) 1 commit (merged to 'next' on 2017-12-27 at 79326a0b77) + imap-send: URI encode server folder "git imap-send" did not correctly quote the folder name when making a request to the server, which has been corrected. * ra/prompt-eread-fix (2017-12-06) 2 commits (merged to 'next' on 2017-12-27 at ae870af11d) + git-prompt: fix reading files with windows line endings + git-prompt: make __git_eread intended use explicit Update the shell prompt script (in contrib/) to strip trailing CR from strings read from various "state" files. * rs/use-argv-array-in-child-process (2017-12-22) 2 commits (merged to 'next' on 2017-12-28 at 829a621ace) + send-pack: use internal argv_array of struct child_process + http: use internal argv_array of struct child_process Code cleanup. * sb/describe-blob (2017-12-19) 7 commits (merged to 'next' on 2017-12-27 at 1249ca9213) + builtin/describe.c: describe a blob + builtin/describe.c: factor out describe_commit + builtin/describe.c: print debug statements earlier + builtin/describe.c: rename `oid` to avoid variable shadowing + revision.h: introduce blob/tree walking in order of the commits + list-objects.c: factor out traverse_trees_and_blobs + t6120: fix typo in test name "git describe" was taught to dig trees deeper to find a : that refers to a given blob object. * sr/http-sslverify-config-doc (2017-12-18) 1 commit (merged to 'next' on 2017-12-27 at 84a461c4b5) + config: document default value of http.sslVerify Docfix. * tb/test-lint-wc-l (2017-12-22) 1 commit (merged to 'next' on 2017-12-28 at 4d91ed6d51) + check-non-portable-shell.pl: `wc -l` may have leading WS Test update. * tz/lib-git-svn-svnserve-tests (2017-12-14) 2 commits (merged to 'next' on 2017-12-27 at 54513f6e20) + t/lib-git-svn.sh: improve svnserve tests with parallel make test + t/lib-git-svn: cleanup inconsistent tab/space usage * ws/curl-http-proxy-over-https (2017-12-19) 1 commit (merged to 'next' on 2017-12-27 at 895bf2f94b) + http: support CURLPROXY_HTTPS Git has been taught to support an https:// URL used for http.proxy when using recent versions of libcurl. -------------------------------------------------- [New Topics] * ab/dc-sha1-loose-ends (2017-12-28) 1 commit (merged to 'next' on 2018-01-05 at 7186e81793) + Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1 Tying loose ends for the recent integration work of collision-detecting SHA-1 implementation. Will merge to 'master'. * ab/wildmatch-tests (2018-01-04) 7 commits - wildmatch test: create & test files on disk in addition to in-memory - wildmatch test: perform all tests under all wildmatch() modes - wildmatch test: remove dead fnmatch() test code - wildmatch test: use a paranoia pattern from nul_match() - wildmatch test: don't try to vertically align our output - wildmatch test: use more standard shell style - wildmatch test: indent with tabs, not spaces More tests for wildmatch functions. Will merge to 'next'. * cc/codespeed (2018-01-05) 7 commits - perf/run: read GIT_PERF_REPO_NAME from perf.repoName - perf/run: learn to send output to codespeed server - perf/run: learn about perf.codespeedOutput - perf/run: add conf_opts argument to get_var_from_env_or_config() - perf/aggregate: implement codespeed JSON output - perf/aggregate: refactor printing results - perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION} "perf" test output can be sent to codespeed server. Will merge to 'next'. * rs/lose-leak-pending (2017-12-28) 9 commits (merged to 'next' on 2018-01-05 at 05305f7f2f) + commit: remove unused function clear_commit_marks_for_object_array() + revision: remove the unused flag leak_pending + checkout: avoid using the rev_info flag leak_pending + bundle: avoid using the rev_info flag leak_pending + bisect: avoid using the rev_info flag leak_pending + object: add clear_commit_marks_all() + ref-filter: use clear_commit_marks_many() in do_merge_filter() + commit: use clear_commit_marks_many() in remove_redundant() + commit: avoid allocation in clear_commit_marks_many() API clean-up around revision traversal. Will cook in 'next'. * sb/diff-blobfind-pickaxe (2018-01-04) 6 commits - diff: use HAS_MULTI_BITS instead of counting bits manually - diff: properly error out when combining multiple pickaxe options - diffcore: add a pickaxe option to find a specific blob - diff: introduce DIFF_PICKAXE_KINDS_MASK - diff: migrate diff_flags.pickaxe_ignore_case to a pickaxe_opts bit - diff.h: make pickaxe_opts an unsigned bit field "diff" family of commands learned "--find-object=" option to limit the findings to changes that involve the named object. Will merge to 'next'. * ab/perf-grep-threads (2018-01-04) 1 commit - perf: amend the grep tests to test grep.threads More perf tests for threaded grep Will merge to 'next'. * bc/submitting-patches-in-asciidoc (2018-01-03) 1 commit (merged to 'next' on 2018-01-05 at 92dd960a56) + doc/SubmittingPatches: improve text formatting Doc readability update. Will merge to 'master'. * bw/protocol-v1 (2018-01-04) 1 commit (merged to 'next' on 2018-01-05 at 47a5e0039a) + http: fix v1 protocol tests with apache httpd < 2.4 Test fix for a topic already in 'master'. Will merge to 'master'. * bw/protocol-v2 (2018-01-04) 26 commits - remote-curl: implement connect-half-duplex command - remote-curl: create copy of the service name - pkt-line: add packet_buf_write_len function - transport-helper: introduce connect-half-duplex - transport-helper: refactor process_connect_service - transport-helper: remove name parameter - fetch-pack: perform a fetch using v2 - upload-pack: introduce fetch server command - push: pass ref patterns when pushing - fetch: pass ref patterns when fetching - ls-remote: pass ref patterns when requesting a remote's refs - transport: convert transport_get_remote_refs to take a list of ref patterns - transport: convert get_refs_list to take a list of ref patterns - connect: request remote refs using v2 - ls-refs: introduce ls-refs server command - serve: introduce git-serve - protocol: introduce enum protocol_version value protocol_v2 - transport: store protocol version - connect: discover protocol version outside of get_remote_heads - connect: convert get_remote_heads to use struct packet_reader - transport: use get_refs_via_connect to get refs - upload-pack: factor out processing lines - upload-pack: convert to a builtin - pkt-line: add delim packet support - pkt-line: introduce struct packet_reader - pkt-line: introduce packet_read_with_status * jh/status-no-ahead-behind (2018-01-04) 4 commits - status: support --no-ahead-behind in long format - status: update short status to respect --no-ahead-behind - status: add --[no-]ahead-behind to status and commit for V2 format. - stat_tracking_info: return +1 when branches not equal * jk/abort-clone-with-existing-dest (2018-01-03) 4 commits - clone: do not clean up directories we didn't create - clone: factor out dir_exists() helper - t5600: modernize style - t5600: fix outdated comment about unborn HEAD * jk/doc-diff-options (2018-01-04) 1 commit (merged to 'next' on 2018-01-05 at 11a42ea807) + docs/diff-options: clarify scope of diff-filter types Doc update. Will merge to 'master'. * js/test-with-ws-in-path (2018-01-03) 2 commits (merged to 'next' on 2018-01-05 at 6438e1c186) + t0302 & t3900: add forgotten quotes + Allow the test suite to pass in a directory whose name contains spaces Test fixes. Will merge to 'master'. * ls/checkout-encoding (2018-01-04) 6 commits - utf8.c: mark utf{16,32}_{be,le}_bom symbols static - convert: add support for 'checkout-encoding' attribute - utf8: add function to detect a missing UTF-16/32 BOM - utf8: add function to detect prohibited UTF-16/32 BOM - strbuf: add xstrdup_toupper() - convert_to_git(): checksafe becomes an integer The new "checkout-encoding" attribute can ask Git to convert the contents to the specified encoding when checking out to the working tree (and the other way around when checking in). * ma/bisect-leakfix (2018-01-03) 1 commit - bisect: fix a regression causing a segfault Will merge to 'next'. * mm/send-email-fallback-to-local-mail-address (2018-01-05) 3 commits - send-email: add test for Linux's get_maintainer.pl - Remove now useless email-address parsing code - send-email: add and use a local copy of Mail::Address Instead of maintaining home-grown email address parsing code, ship a copy of reasonably recent Mail::Address to be used as a fallback in 'git send-email' when the platform lacks it. * sb/submodule-update-reset-fix (2018-01-05) 4 commits - submodule: submodule_move_head omits old argument in forced case - unpack-trees: oneway_merge to update submodules - t/lib-submodule-update.sh: fix test ignoring ignored files in submodules - t/lib-submodule-update.sh: clarify test When resetting the working tree files recursively, the working tree of submodules are now also reset to match. * sg/travis-check-untracked (2018-01-03) 2 commits (merged to 'next' on 2018-01-05 at 424bed2fb0) + travis-ci: check that all build artifacts are .gitignore-d + travis-ci: don't store P4 and Git LFS in the working tree (this branch uses sg/travis-fixes and sg/travis-skip-identical-test.) Will merge to 'master'. * js/fix-merge-arg-quoting-in-rebase-p (2018-01-05) 1 commit - rebase -p: fix quoting when calling `git merge` "git rebase -p -X