diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-01-07 23:33:15 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-01-07 23:33:15 (GMT) |
commit | 0596e1ad5143dab167e62bf39387d2b4e06cadb6 (patch) | |
tree | 5e64c957cc7c0bf2537972aa56afeba23c1585d3 | |
parent | 818f89aa0be44f5aded2ce9e9a52a550266f9cdc (diff) | |
download | git-0596e1ad5143dab167e62bf39387d2b4e06cadb6.zip git-0596e1ad5143dab167e62bf39387d2b4e06cadb6.tar.gz git-0596e1ad5143dab167e62bf39387d2b4e06cadb6.tar.bz2 |
What's cooking (2019/01 #01)
-rw-r--r-- | whats-cooking.txt | 1031 |
1 files changed, 656 insertions, 375 deletions
diff --git a/whats-cooking.txt b/whats-cooking.txt index ac648cb..d275707 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Dec 2018, #02; Fri, 28) -X-master-at: b21ebb671bb7dea8d342225f0d66c41f4e54d5ca -X-next-at: 81188d93c3fce477216ba905bd37ab453a74b11d +Subject: What's cooking in git.git (Jan 2019, #01; Mon, 7) +X-master-at: ecbdaf0899161c067986e9d9d564586d4b045d62 +X-next-at: d81d796ee0c49eae40e3f85467a8e6b18022bcea -What's cooking in git.git (Dec 2018, #02; Fri, 28) +What's cooking in git.git (Jan 2019, #01; Mon, 7) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,15 +12,8 @@ Here are the topics that have been cooking. 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 current state is that 'next' has been rewound, a few topics have -been updated, and almost no new topics have been picked up (yet), -even though many of them seem to have been reviewed on-list and I've -also looked at some of them. - -Sorry for being slow to recover from the year-end slowness; the 2.20 -release being rather large-ish and needed brown-paper-bag fixes soon -after it, my temporary trans-pacific migration, or me catching cold -that I haven't shaken off, did not help X-<. +The 'master' branch now has the first batch of topics (many of which +have been cooking in 'next' during the pre-release freeze). You can find the changes described here in the integration branches of the repositories listed at @@ -30,48 +23,528 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ds/hash-independent-tests-fix (2018-12-12) 1 commit - + .gitattributes: ensure t/oid-info/* has eol=lf +* ab/push-dwim-dst (2018-11-14) 7 commits + (merged to 'next' on 2018-12-28 at d9f618de10) + + push doc: document the DWYM behavior pushing to unqualified <dst> + + push: test that <src> doesn't DWYM if <dst> is unqualified + + push: add an advice on unqualified <dst> push + + push: move unqualified refname error into a function + + push: improve the error shown on unqualified <dst> push + + i18n: remote.c: mark error(...) messages for translation + + remote.c: add braces in anticipation of a follow-up change + + Originally merged to 'next' on 2018-11-18 + + "git push $there $src:$dst" rejects when $dst is not a fully + qualified refname and not clear what the end user meant. The + codepath has been taught to give a clearer error message, and also + guess where the push should go by taking the type of the pushed + object into account (e.g. a tag object would want to go under + refs/tags/). + + +* en/fast-export-import (2018-11-17) 11 commits + (merged to 'next' on 2018-12-28 at a1b09cf515) + + fast-export: add a --show-original-ids option to show original names + + fast-import: remove unmaintained duplicate documentation + + fast-export: add --reference-excluded-parents option + + fast-export: ensure we export requested refs + + fast-export: when using paths, avoid corrupt stream with non-existent mark + + fast-export: move commit rewriting logic into a function for reuse + + fast-export: avoid dying when filtering by paths and old tags exist + + fast-export: use value from correct enum + + git-fast-export.txt: clarify misleading documentation about rev-list args + + git-fast-import.txt: fix documentation for --quiet option + + fast-export: convert sha1 to oid + + Originally merged to 'next' on 2018-11-18 + + Small fixes and features for fast-export and fast-import, mostly on + the fast-export side. + + +* en/merge-path-collision (2018-12-01) 11 commits + (merged to 'next' on 2018-12-28 at b50d3eee25) + + t6036: avoid non-portable "cp -a" + + merge-recursive: combine error handling + + t6036, t6043: increase code coverage for file collision handling + + merge-recursive: improve rename/rename(1to2)/add[/add] handling + + merge-recursive: use handle_file_collision for add/add conflicts + + merge-recursive: improve handling for rename/rename(2to1) conflicts + + merge-recursive: fix rename/add conflict handling + + merge-recursive: new function for better colliding conflict resolutions + + merge-recursive: increase marker length with depth of recursion + + t6036, t6042: testcases for rename collision of already conflicting files + + t6042: add tests for consistency in file collision conflict handling + + Originally merged to 'next' on 2018-12-01 + + Updates for corner cases in merge-recursive. + + +* fc/http-version (2018-11-09) 1 commit + (merged to 'next' on 2018-12-28 at 56bcbb0fa9) + + http: add support selecting http version + + Originally merged to 'next' on 2018-11-18 + + The "http.version" configuration variable can be used with recent + enough cURL library to force the version of HTTP used to talk when + fetching and pushing. + + +* jk/loose-object-cache (2018-11-24) 10 commits + (merged to 'next' on 2018-12-28 at 5a5faf384e) + + odb_load_loose_cache: fix strbuf leak + + fetch-pack: drop custom loose object cache + + sha1-file: use loose object cache for quick existence check + + object-store: provide helpers for loose_objects_cache + + sha1-file: use an object_directory for the main object dir + + handle alternates paths the same as the main object dir + + sha1_file_name(): overwrite buffer instead of appending + + rename "alternate_object_database" to "object_directory" + + submodule--helper: prefer strip_suffix() to ends_with() + + fsck: do not reuse child_process structs + + Originally merged to 'next' on 2018-11-24 - Test portability fix. + Code clean-up with optimization for the codepath that checks + (non-)existence of loose objects. -* jc/run-command-report-exec-failure-fix (2018-12-12) 1 commit - + run-command: report exec failure +* mk/http-backend-kill-children-before-exit (2018-11-26) 1 commit + (merged to 'next' on 2018-12-28 at 81188d93c3) + + http-backend: enable cleaning up forked upload/receive-pack on exit - A recent update accidentally squelched an error message when the - run_command API failed to run a missing command, which has been - corrected. + Originally merged to 'next' on 2018-11-29 + The http-backend CGI process did not correctly clean up the child + processes it spawns to run upload-pack etc. when it dies itself, + which has been corrected. -* js/help-commands-verbose-by-default-fix (2018-12-12) 2 commits - + help -a: handle aliases with long names gracefully - + help.h: fix coding style - "git help -a" did not work well when an overly long alias is - defined, which has been corrected. +* nd/checkout-dwim-fix (2018-11-14) 1 commit + (merged to 'next' on 2018-12-28 at 3183c9305b) + + checkout: disambiguate dwim tracking branches and local files + Originally merged to 'next' on 2018-11-18 -* js/mailinfo-format-flowed-fix (2018-12-13) 1 commit - + t4256: mark support files as LF-only + "git checkout frotz" (without any double-dash) avoids ambiguity by + making sure 'frotz' cannot be interpreted as a revision and as a + path at the same time. This safety has been updated to check also + a unique remote-tracking branch 'frotz' in a remote, when dwimming + to create a local branch 'frotz' out of a remote-tracking branch + 'frotz' from a remote. - Test portability fix. +* nd/i18n (2018-11-12) 16 commits + (merged to 'next' on 2018-12-28 at 8e2de8338e) + + fsck: mark strings for translation + + fsck: reduce word legos to help i18n + + parse-options.c: mark more strings for translation + + parse-options.c: turn some die() to BUG() + + parse-options: replace opterror() with optname() + + repack: mark more strings for translation + + remote.c: mark messages for translation + + remote.c: turn some error() or die() to BUG() + + reflog: mark strings for translation + + read-cache.c: add missing colon separators + + read-cache.c: mark more strings for translation + + read-cache.c: turn die("internal error") to BUG() + + attr.c: mark more string for translation + + archive.c: mark more strings for translation + + alias.c: mark split_cmdline_strerror() strings for translation + + git.c: mark more strings for translation + + Originally merged to 'next' on 2018-11-18 + + More _("i18n") markings. -* nd/show-gitcomp-compilation-fix (2018-12-12) 1 commit - + parse-options: fix SunCC compiler warning - Portability fix for a recent update to parse-options API. +* nd/the-index (2018-11-12) 22 commits + (merged to 'next' on 2018-12-28 at 6bbd3befbe) + + rebase-interactive.c: remove the_repository references + + rerere.c: remove the_repository references + + pack-*.c: remove the_repository references + + pack-check.c: remove the_repository references + + notes-cache.c: remove the_repository references + + line-log.c: remove the_repository reference + + diff-lib.c: remove the_repository references + + delta-islands.c: remove the_repository references + + cache-tree.c: remove the_repository references + + bundle.c: remove the_repository references + + branch.c: remove the_repository reference + + bisect.c: remove the_repository reference + + blame.c: remove implicit dependency the_repository + + sequencer.c: remove implicit dependency on the_repository + + sequencer.c: remove implicit dependency on the_index + + transport.c: remove implicit dependency on the_index + + notes-merge.c: remove implicit dependency the_repository + + notes-merge.c: remove implicit dependency on the_index + + list-objects.c: reduce the_repository references + + list-objects-filter.c: remove implicit dependency on the_index + + wt-status.c: remove implicit dependency the_repository + + wt-status.c: remove implicit dependency on the_index + (this branch is used by md/list-objects-filter-by-depth.) + + Originally merged to 'next' on 2018-11-18 + + More codepaths become aware of working with in-core repository + instance other than the default "the_repository". + + +* sd/stash-wo-user-name (2018-11-19) 1 commit + (merged to 'next' on 2018-12-28 at 99197ef5a1) + + stash: tolerate missing user identity + (this branch is used by ps/stash-in-c.) + + Originally merged to 'next' on 2018-11-19 + + A properly configured username/email is required under + user.useConfigOnly in order to create commits; now "git stash" + (even though it creates commit objects to represent stash entries) + command is exempt from the requirement. + + +* sg/clone-initial-fetch-configuration (2018-11-16) 3 commits + (merged to 'next' on 2018-12-28 at 82e104f221) + + Documentation/clone: document ignored configuration variables + + clone: respect additional configured fetch refspecs during initial fetch + + clone: use a more appropriate variable name for the default refspec + + Originally merged to 'next' on 2018-11-18 + + Refspecs configured with "git -c var=val clone" did not propagate + to the resulting repository, which has been corrected. -------------------------------------------------- [New Topics] -* ds/midx-expire-repack (2018-12-11) 5 commits - - multi-pack-index: implement midx_repack() - - multi-pack-index: prepare 'repack' verb +* ab/proto-v2-fixes (2018-12-14) 5 commits + - tests: mark tests broken under GIT_TEST_PROTOCOL_VERSION=2 + - builtin/fetch-pack: support protocol version 2 + - tests: mark & fix tests broken under GIT_TEST_PROTOCOL_VERSION=1 + - tests: add a special setup where for protocol.version + - tests: add a check for unportable env --unset + + This is (just a part of) v2, and I see v3 posted on the list, but + it seems that v3 needs further updates. + cf. <20181218124852.GD30471@sigill.intra.peff.net> + + I'll drop the whole thing and wait for an update. + + +* jn/stripspace-wo-repository (2018-12-26) 1 commit + - stripspace: allow -s/-c outside git repository + + "git stripspace" should be usable outside a git repository, but + under the "-s" or "-c" mode, it didn't. + + Will merge to 'next'. + + +* ma/asciidoctor (2018-12-26) 3 commits + - git-status.txt: render tables correctly under Asciidoctor + - Documentation: do not nest open blocks + - git-column.txt: fix section header + + Some of the documentation pages formatted incorrectly with + Asciidoctor, which have been fixed. + + Will merge to 'next'. + + +* nd/worktree-remove-with-uninitialized-submodules (2019-01-07) 1 commit + - worktree: allow to (re)move worktrees with uninitialized submodules + + "git worktree remove" and "git worktree move" refused to work when + there is a submodule involved. This has been loosened to ignore + uninitialized submodules. + + Will merge to 'next'. + + +* sb/submodule-unset-core-worktree-when-worktree-is-lost (2018-12-26) 4 commits + - submodule deinit: unset core.worktree + - submodule--helper: fix BUG message in ensure_core_worktree + - submodule: unset core.worktree if no working tree is present + - submodule update: add regression test with old style setups + + The core.worktree setting in a submodule repository should not be + pointing at a directory when the submodule loses its working tree + (e.g. getting deinit'ed), but the code did not properly maintain + this invariant. + + Will merge to 'next'. + + +* so/cherry-pick-always-allow-m1 (2019-01-07) 4 commits + - t3506: validate '-m 1 -ff' is now accepted for non-merge commits + - t3502: validate '-m 1' argument is now accepted for non-merge commits + - cherry-pick: do not error on non-merge commits when '-m 1' is specified + - t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks + + "git cherry-pick -m1" was forbidden when picking a non-merge + commit, even though there _is_ parent number 1 for such a commit. + This was done to avoid mistakes back when "cherry-pick" was about + picking a single commit, but is no longer useful with "cherry-pick" + that can pick a range of commits. Now the "-m$num" option is + allowed when picking any commit, as long as $num names an existing + parent of the commit. + + Technically this is a backward incompatible change; hopefully + nobody is relying on the error-checking behaviour. + + Will merge to 'next'. + + +* cy/completion-typofix (2019-01-03) 1 commit + - completion: fix typo in git-completion.bash + + Typofix. + + Will merge to 'next'. + + +* cy/zsh-completion-SP-in-path (2019-01-03) 2 commits + - completion: treat results of git ls-tree as file paths + - zsh: complete unquoted paths with spaces correctly + + With zsh, "git cmd path<TAB>" was completed to "git cmd path name" + when the completed path has a special character like SP in it, + without any attempt to keep "path name" a single filename. This + has been fixed to complete it to "git cmd path\ name" just like + Bash completion does. + + Will merge to 'next'. + + +* ds/commit-graph-assert-missing-parents (2019-01-02) 1 commit + - commit-graph: writing missing parents is a BUG + + Tightening error checking in commit-graph writer. + + Will merge to 'next'. + + +* ed/simplify-setup-git-dir (2019-01-03) 1 commit + - Simplify handling of setup_git_directory_gently() failure cases. + + Code simplification. + + Will merge to 'next'. + + +* es/doc-worktree-guessremote-config (2018-12-28) 1 commit + - doc/config: do a better job of introducing 'worktree.guessRemote' + + Doc clarification. + + Will merge to 'next'. + + +* ew/ban-strncat (2019-01-02) 1 commit + - banned.h: mark strncat() as banned + + The "strncat()" function is now among the banned functions. + + Will merge to 'next'. + + +* jk/dev-build-format-security (2019-01-07) 1 commit + - config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users + + Earlier we added "-Wformat-security" to developer builds, assuming + that "-Wall" (which includes "-Wformat" which in turn is required + to use "-Wformat-security") is always in effect. This is not true + when config.mak.autogen is in use, unfortunately. This has been + fixed by unconditionally adding "-Wall" to developer builds. + + Will merge to 'next'. + + +* jp/author-committer-config (2019-01-02) 2 commits + - DONTMERGE + - Add author and committer configuration settings + + Four new configuration variables {author,committer}.{name,email} + have been introduced to override user.{name,email} in more specific + cases. + + Expecting a reroll. + cf. <xmqq1s5uk6qh.fsf@gitster-ct.c.googlers.com> + + +* js/rebase-am (2019-01-03) 4 commits + - built-in rebase: call `git am` directly + - rebase: teach `reset_head()` to optionally skip the worktree + - rebase: avoid double reflog entry when switching branches + - rebase: move `reset_head()` into a better spot + + Instead of going through "git-rebase--am" scriptlet to use the "am" + backend, the built-in version of "git rebase" learned to drive the + "am" backend directly. + + Waiting for a review response. + Looked almost ready. + + +* ms/packet-err-check (2019-01-02) 2 commits + - pack-protocol.txt: accept error packets in any context + - Use packet_reader instead of packet_read_line + + Error checking of data sent over the pack-protocol has been + revamped so that error packets are always diagnosed properly. + + +* os/rebase-runs-post-checkout-hook (2019-01-02) 2 commits + - rebase: run post-checkout hook on checkout + - t5403: simplify by using a single repository + + "git rebase" internally runs "checkout" to switch between branches, + and the command used to call the post-checkout hook, but the + reimplementation stopped doing so, which is getting fixed. + + +* rb/hpe (2019-01-03) 5 commits + - compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop + - git-compat-util.h: add FLOSS headers for HPE NonStop + - config.mak.uname: support for modern HPE NonStop config. + - transport-helper: drop read/write errno checks + - transport-helper: use xread instead of read + + Portability updates for the HPE NonStop platform. + + Will merge to 'next'. + + +* sg/test-bash-version-fix (2019-01-03) 2 commits + - Merge branch 'sg/test-bash-version-fix' + - test-lib: check Bash version for '-x' without using shell arrays + (this branch is used by sg/stress-test.) + + The test suite tried to see if it is run under bash, but the check + itself failed under some other implementations of shell (notably + under NetBSD). This has been corrected. + + Will merge to 'next'. + + +* sm/http-no-more-failonerror (2019-01-03) 2 commits + - Unset CURLOPT_FAILONERROR + - Change how HTTP response body is returned + + Waiting for clarifications. + + +* tg/t5570-drop-racy-test (2019-01-07) 2 commits + - Revert "t/lib-git-daemon: record daemon log" + - t5570: drop racy test + + An inherently racy test that caused intermittent failures has been + removed. + + Will merge to 'next'. + + +* tt/bisect-in-c (2019-01-02) 7 commits + - bisect--helper: `bisect_start` shell function partially in C + - bisect--helper: `get_terms` & `bisect_terms` shell function in C + - bisect--helper: `bisect_next_check` shell function in C + - bisect--helper: `check_and_set_terms` shell function in C + - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file() + - bisect--helper: `bisect_write` shell function in C + - bisect--helper: `bisect_reset` shell function in C + + More code in "git bisect" has been rewritten in C. + + +* ja/doc-build-l10n (2019-01-07) 1 commit + - Documentation/Makefile add optional targets for l10n + + Prepare Documentation/Makefile so that manpage localization can + reuse it by overriding and tweaking the list of build products. + + Will merge to 'next'. + + +* jk/loose-object-cache-oid (2019-01-07) 5 commits + - sha1-file: modernize loose header/stream functions + - sha1-file: modernize loose object file functions + - http: use struct object_id instead of bare sha1 + - update comment references to sha1_object_info() + - sha1-file: fix outdated sha1 comment references + (this branch uses rs/loose-object-cache-perffix.) + + Code clean-up. + + Will merge to 'next'. + + +* mm/multimail-1.5 (2019-01-07) 1 commit + - git-multimail: update to release 1.5.0 + + Update "git multimail" from the upstream. + + Will merge to 'next'. + + +* po/git-p4-wo-login (2019-01-07) 1 commit + - git-p4: fix problem when p4 login is not necessary + + "git p4" update. + + Will merge to 'next'. + + +* rs/loose-object-cache-perffix (2019-01-07) 4 commits + - object-store: retire odb_load_loose_cache() + - object-store: use one oid_array per subdirectory for loose cache + - object-store: factor out odb_clear_loose_cache() + - object-store: factor out odb_loose_cache() + (this branch is used by jk/loose-object-cache-oid.) + + The loose object cache used to optimize existence look-up has been + updated. + + Will merge to 'next'. + + +* rs/sha1-file-close-mapped-file-on-error (2019-01-07) 1 commit + - sha1-file: close fd of empty file in map_sha1_file_1() + + Code clean-up. + + Will merge to 'next'. + +-------------------------------------------------- +[Cooking] + +* lt/date-human (2019-01-02) 3 commits + - t0006-date.sh: add `human` date format tests. + - Add 'human' date format documentation + - Add 'human' date format + + A new date format "--date=human" that morphs its output depending + on how far the time is from the current time has been introduced. + "--date=auto" can be used to use this new format when the output is + goint to the pager or to the terminal and otherwise the default + format. + + The design around "auto" may need to be rethought. + The tests need to be updated, too. + cf. <20190104075034.GA26014@sigill.intra.peff.net> + cf. <a5412274-028f-3662-e4f5-dbbcad4d9a40@iee.org> + + +* ds/midx-expire-repack (2019-01-02) 7 commits + - midx: implement midx_repack() + - multi-pack-index: prepare 'repack' subcommand - multi-pack-index: implement 'expire' verb - - multi-pack-index: refactor permutation logic - - multi-pack-index: prepare for 'expire' verb + - midx: refactor permutation logic + - multi-pack-index: prepare for 'expire' subcommand + - Docs: rearrange subcommands for multi-pack-index + - repack: refactor pack deletion for future use * ds/push-sparse-tree-walk (2018-12-11) 6 commits @@ -89,14 +562,12 @@ of the repositories listed at - rebase: introduce --reschedule-failed-exec -* md/list-objects-filter-by-depth (2018-12-11) 4 commits +* md/list-objects-filter-by-depth (2018-12-28) 4 commits - tree:<depth>: skip some trees even when collecting omits - list-objects-filter: teach tree:# how to handle >0 - Merge branch 'nd/the-index' into md/list-objects-filter-by-depth - Merge branch 'sb/more-repo-in-api' into md/list-objects-filter-by-depth - (this branch uses nd/the-index and sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.) - - Needs to be rebuilt when sb/more-repo-in-api is rewound. + (this branch uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.) * nd/backup-log (2018-12-10) 24 commits @@ -131,91 +602,111 @@ of the repositories listed at Code clean-up. + Will merge to 'next'. + -* sg/stress-test (2018-12-10) 8 commits - - fixup! test-lib: add the '--stress' option to run a test repeatedly under load +* sg/stress-test (2019-01-07) 8 commits - test-lib: add the '--stress' option to run a test repeatedly under load - test-lib-functions: introduce the 'test_set_port' helper function - - test-lib: extract Bash version check for '-x' tracing - test-lib: set $TRASH_DIRECTORY earlier - test-lib: consolidate naming of test-results paths - - test-lib: parse some --options earlier + - test-lib: parse command line options earlier + - test-lib: parse options in a for loop to keep $@ intact + - test-lib: extract Bash version check for '-x' tracing - test-lib: translate SIGTERM and SIGHUP to an exit + (this branch uses sg/test-bash-version-fix.) + + Flaky tests can now be repeatedly run under load with the + "--stress" option. + + Will merge to 'next'. -* tg/checkout-no-overlay (2018-12-10) 8 commits - - stash: use git checkout --no-overlay - - checkout: allow ignoring unmatched pathspec - - checkout: add --cached option +* tg/checkout-no-overlay (2019-01-02) 8 commits + - checkout: introduce checkout.overlayMode config - checkout: introduce --{,no-}overlay option + - checkout: factor out mark_cache_entry_for_checkout function + - checkout: clarify comment - read-cache: add invalidate parameter to remove_marked_cache_entries - entry: support CE_WT_REMOVE flag in checkout_entry - entry: factor out unlink_entry function - move worktree tests to t24* + "git checkout --no-overlay" can be used to trigger a new mode of + checking out paths out of the tree-ish, that allows paths that + match the pathspec that are in the current index and working tree + and are not in the tree-ish. + + Will merge to 'next'. + * jk/proto-v2-hidden-refs-fix (2018-12-14) 3 commits - upload-pack: support hidden refs with protocol v2 - parse_hide_refs_config: handle NULL section - serve: pass "config context" through to individual commands + The v2 upload-pack protocol implementation failed to honor + hidden-ref configuration, which has been corrected. + + Will merge to 'next'. + * la/quiltimport-keep-non-patch (2018-12-14) 1 commit - git-quiltimport: Add --keep-non-patch option + "git quiltimport" learned "--keep-non-patch" option. + + Will merge to 'next'. + * sb/submodule-fetchjobs-default-to-one (2018-12-14) 1 commit - submodule update: run at most one fetch job unless otherwise set --------------------------------------------------- -[Stalled] - -* lt/date-human (2018-07-09) 1 commit - - Add 'human' date format + "git submodule update" ought to use a single job unless asked, but + by mistake used multiple jobs, which has been fixed. - A new date format "--date=human" that morphs its output depending - on how far the time is from the current time has been introduced. - "--date=auto" can be used to use this new format when the output is - goint to the pager or to the terminal and otherwise the default - format. + Will merge to 'next'. --------------------------------------------------- -[Cooking] * cb/openbsd-allows-reading-directory (2018-12-03) 1 commit - - config.mak.uname: OpenBSD uses BSD semantics with fread for directories + (merged to 'next' on 2019-01-04 at 9d865107fd) + + config.mak.uname: OpenBSD uses BSD semantics with fread for directories BSD port update. - Will merge to 'next'. + Will merge to 'master'. * cb/t5004-empty-tar-archive-fix (2018-12-03) 1 commit - - t5004: avoid using tar for empty packages + (merged to 'next' on 2019-01-04 at 39f4cf94ce) + + t5004: avoid using tar for empty packages BSD port update. - Will merge to 'next'. + Will merge to 'master'. * cb/test-lint-cp-a (2018-12-03) 1 commit - - tests: add lint for non portable cp -a + (merged to 'next' on 2019-01-04 at d13e6cfcb0) + + tests: add lint for non portable cp -a BSD port update. - Will merge to 'next'. + Will merge to 'master'. * hb/t0061-dot-in-path-fix (2018-12-03) 1 commit - - t0061: do not fail test if '.' is part of $PATH + (merged to 'next' on 2019-01-04 at 789f990c4e) + + t0061: do not fail test if '.' is part of $PATH Test update. - Will merge to 'next'. + Will merge to 'master'. * hn/highlight-sideband-keywords (2018-12-04) 1 commit - - sideband: color lines with keyword only + (merged to 'next' on 2019-01-04 at b039601533) + + sideband: color lines with keyword only Lines that begin with a certain keyword that come over the wire, as well as lines that consist only of one of these keywords, ought to @@ -223,7 +714,7 @@ of the repositories listed at broken ever since the feature was introduced in 2.19, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. * js/commit-graph-chunk-table-fix (2018-12-14) 3 commits @@ -235,7 +726,7 @@ of the repositories listed at past the end of it when the file's table-of-contents was corrupt. -* jt/get-reference-with-commit-graph (2018-12-06) 1 commit +* jt/get-reference-with-commit-graph (2018-12-28) 1 commit - revision: use commit graph in get_reference() (this branch uses sb/more-repo-in-api; is tangled with md/list-objects-filter-by-depth.) @@ -246,82 +737,78 @@ of the repositories listed at * md/exclude-promisor-objects-fix-cleanup (2018-12-06) 1 commit - - revision.c: put promisor option in specialized struct + (merged to 'next' on 2019-01-04 at c15362832d) + + revision.c: put promisor option in specialized struct Code clean-up. - Will merge to 'next'. + Will merge to 'master'. * bw/mailmap (2018-12-09) 1 commit - - mailmap: update brandon williams's email address + (merged to 'next' on 2019-01-04 at 02b6e83231) + + mailmap: update brandon williams's email address - Will merge to 'next'. + Will merge to 'master'. * do/gitweb-strict-export-conf-doc (2018-12-09) 1 commit - - docs: fix $strict_export text in gitweb.conf.txt + (merged to 'next' on 2019-01-04 at 5249c9386a) + + docs: fix $strict_export text in gitweb.conf.txt Doc update. - Will merge to 'next'. + Will merge to 'master'. * en/directory-renames-nothanks-doc-update (2018-12-09) 1 commit - - git-rebase.txt: update note about directory rename detection and am + (merged to 'next' on 2019-01-04 at cb7134b54c) + + git-rebase.txt: update note about directory rename detection and am Doc update. - Will merge to 'next'. + Will merge to 'master'. * fd/gitweb-snapshot-conf-doc-fix (2018-12-09) 1 commit - - docs/gitweb.conf: config variable typo + (merged to 'next' on 2019-01-04 at 7ba71fca17) + + docs/gitweb.conf: config variable typo Doc update. - Will merge to 'next'. + Will merge to 'master'. * km/rebase-doc-typofix (2018-12-10) 1 commit - - rebase docs: drop stray word in merge command description + (merged to 'next' on 2019-01-04 at c89f646e8f) + + rebase docs: drop stray word in merge command description Doc update. - Will merge to 'next'. + Will merge to 'master'. * nd/indentation-fix (2018-12-09) 1 commit - - Indent code with TABs + (merged to 'next' on 2019-01-04 at 738b17d365) + + Indent code with TABs Code cleanup. - Will merge to 'next'. + Will merge to 'master'. * tb/use-common-win32-pathfuncs-on-cygwin (2018-12-26) 1 commit - - git clone <url> C:\cygwin\home\USER\repo' is working (again) + (merged to 'next' on 2019-01-04 at c3b2b1f3c3) + + git clone <url> C:\cygwin\home\USER\repo' is working (again) Cygwin update. - Will merge to 'next'. - - -* mk/http-backend-kill-children-before-exit (2018-11-26) 1 commit - (merged to 'next' on 2018-12-28 at 81188d93c3) - + http-backend: enable cleaning up forked upload/receive-pack on exit - - Originally merged to 'next' on 2018-11-29 - - The http-backend CGI process did not correctly clean up the child - processes it spawns to run upload-pack etc. when it dies itself, - which has been corrected. - Will merge to 'master'. * tb/log-G-binary (2018-12-26) 1 commit - - log -G: ignore binary files + (merged to 'next' on 2019-01-04 at a713ef389c) + + log -G: ignore binary files "git log -G<regex>" looked for a hunk in the "git log -p" patch output that contained a string that matches the given pattern. @@ -329,7 +816,7 @@ of the repositories listed at not show any hunk that would match any pattern (unless textconv or the --text option is in effect, that is). - Will merge to 'next'. + Will merge to 'master'. * dl/merge-cleanup-scissors-fix (2018-11-21) 2 commits @@ -363,23 +850,25 @@ of the repositories listed at * nd/attr-pathspec-in-tree-walk (2018-11-19) 5 commits - - tree-walk: support :(attr) matching - - dir.c: move, rename and export match_attrs() - - pathspec.h: clean up "extern" in function declarations - - tree-walk.c: make tree_entry_interesting() take an index - - tree.c: make read_tree*() take 'struct repository *' + (merged to 'next' on 2019-01-04 at 6a07e5b905) + + tree-walk: support :(attr) matching + + dir.c: move, rename and export match_attrs() + + pathspec.h: clean up "extern" in function declarations + + tree-walk.c: make tree_entry_interesting() take an index + + tree.c: make read_tree*() take 'struct repository *' The traversal over tree objects has learned to honor ":(attr:label)" pathspec match, which has been implemented only for enumerating paths on the filesystem. - Will merge to 'next'. + Will merge to 'master'. * ab/commit-graph-progress-fix (2018-11-20) 1 commit - - commit-graph: split up close_reachable() progress output + (merged to 'next' on 2019-01-04 at 405a1a2cf5) + + commit-graph: split up close_reachable() progress output - Will merge to 'next'. + Will merge to 'master'. * jn/unknown-index-extensions (2018-11-21) 2 commits @@ -392,93 +881,32 @@ of the repositories listed at Expecting a reroll. -* en/fast-export-import (2018-11-17) 11 commits - (merged to 'next' on 2018-12-28 at a1b09cf515) - + fast-export: add a --show-original-ids option to show original names - + fast-import: remove unmaintained duplicate documentation - + fast-export: add --reference-excluded-parents option - + fast-export: ensure we export requested refs - + fast-export: when using paths, avoid corrupt stream with non-existent mark - + fast-export: move commit rewriting logic into a function for reuse - + fast-export: avoid dying when filtering by paths and old tags exist - + fast-export: use value from correct enum - + git-fast-export.txt: clarify misleading documentation about rev-list args - + git-fast-import.txt: fix documentation for --quiet option - + fast-export: convert sha1 to oid - - Originally merged to 'next' on 2018-11-18 - - Small fixes and features for fast-export and fast-import, mostly on - the fast-export side. - - Will merge to 'master'. - - -* nd/checkout-dwim-fix (2018-11-14) 1 commit - (merged to 'next' on 2018-12-28 at 3183c9305b) - + checkout: disambiguate dwim tracking branches and local files - - Originally merged to 'next' on 2018-11-18 - - "git checkout frotz" (without any double-dash) avoids ambiguity by - making sure 'frotz' cannot be interpreted as a revision and as a - path at the same time. This safety has been updated to check also - a unique remote-tracking branch 'frotz' in a remote, when dwimming - to create a local branch 'frotz' out of a remote-tracking branch - 'frotz' from a remote. - - Will merge to 'master'. - - * nd/checkout-noisy (2018-11-20) 2 commits - - t0027: squelch checkout path run outside test_expect_* block - - checkout: print something when checking out paths + (merged to 'next' on 2019-01-04 at 480172d3d7) + + t0027: squelch checkout path run outside test_expect_* block + + checkout: print something when checking out paths "git checkout [<tree-ish>] path..." learned to report the number of paths that have been checked out of the index or the tree-ish, which gives it the same degree of noisy-ness as the case in which the command checks out a branch. - Will merge to 'next'. - - -* sg/clone-initial-fetch-configuration (2018-11-16) 3 commits - (merged to 'next' on 2018-12-28 at 82e104f221) - + Documentation/clone: document ignored configuration variables - + clone: respect additional configured fetch refspecs during initial fetch - + clone: use a more appropriate variable name for the default refspec - - Originally merged to 'next' on 2018-11-18 - - Refspecs configured with "git -c var=val clone" did not propagate - to the resulting repository, which has been corrected. - Will merge to 'master'. -* en/rebase-merge-on-sequencer (2018-11-08) 2 commits - - rebase: implement --merge via git-rebase--interactive +* en/rebase-merge-on-sequencer (2019-01-07) 8 commits + - rebase: implement --merge via the interactive machinery + - rebase: define linearization ordering and enforce it + - git-legacy-rebase: simplify unnecessary triply-nested if - git-rebase, sequencer: extend --quiet option for the interactive machinery + - am, rebase--merge: do not overlook --skip'ed commits with post-rewrite + - t5407: add a test demonstrating how interactive handles --skip differently + - rebase: fix incompatible options error message + - rebase: make builtin and legacy script error messages the same "git rebase --merge" as been reimplemented by reusing the internal machinery used for "git rebase -i". - Expecting a reroll. - cf. <CABPp-BF8RupyfP69iqAVTXxEhBGyzVd-wUgp3y0pf+CbBFAQeg@mail.gmail.com> - - -* fc/http-version (2018-11-09) 1 commit - (merged to 'next' on 2018-12-28 at 56bcbb0fa9) - + http: add support selecting http version - - Originally merged to 'next' on 2018-11-18 - - The "http.version" configuration variable can be used with recent - enough cURL library to force the version of HTTP used to talk when - fetching and pushing. - - Will merge to 'master'. - * dl/remote-save-to-push (2018-12-11) 1 commit - remote: add --save-to-push option to git remote set-url @@ -490,28 +918,7 @@ of the repositories listed at I am personally not yet quite convinced if this is worth pursuing. -* jk/loose-object-cache (2018-11-24) 10 commits - (merged to 'next' on 2018-12-28 at 5a5faf384e) - + odb_load_loose_cache: fix strbuf leak - + fetch-pack: drop custom loose object cache - + sha1-file: use loose object cache for quick existence check - + object-store: provide helpers for loose_objects_cache - + sha1-file: use an object_directory for the main object dir - + handle alternates paths the same as the main object dir - + sha1_file_name(): overwrite buffer instead of appending - + rename "alternate_object_database" to "object_directory" - + submodule--helper: prefer strip_suffix() to ends_with() - + fsck: do not reuse child_process structs - - Originally merged to 'next' on 2018-11-24 - - Code clean-up with optimization for the codepath that checks - (non-)existence of loose objects. - - Will merge to 'master'. - - -* js/protocol-advertise-multi (2018-11-17) 1 commit +* js/protocol-advertise-multi (2018-12-28) 1 commit - protocol: advertise multiple supported versions The transport layer has been updated so that the protocol version @@ -519,151 +926,64 @@ of the repositories listed at listing the protocol versions it is willing to talk, and the other side choosing from one of them. - Expecting a reroll. - cf. <20181218230514.GH37614@google.com> - -* js/smart-http-detect-remote-error (2018-12-12) 4 commits - - lib-httpd, t5551: check server-side HTTP errors +* js/smart-http-detect-remote-error (2019-01-07) 3 commits + - remote-curl: die on server-side errors - remote-curl: tighten "version 2" check for smart-http - remote-curl: refactor smart-http discovery - - pack-protocol.txt: accept error packets in any context Some errors from the other side coming over smart HTTP transport were not noticed, which has been corrected. - Will merge to 'next'. - -* nb/branch-show-other-worktrees-head (2018-11-12) 2 commits - - branch: mark and colorize a branch differently if it is checked out in a linked worktree - - ref-filter: add worktree atom +* nb/branch-show-other-worktrees-head (2019-01-07) 4 commits + - branch: add an extra verbose output displaying worktree path for checked out branch + - branch: mark and color a branch that is checked out in a linked worktree differently + - SQUASH??? + - ref-filter: add worktreepath atom "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. + - Expecting a reroll. - - -* nd/the-index (2018-11-12) 22 commits - (merged to 'next' on 2018-12-28 at 6bbd3befbe) - + rebase-interactive.c: remove the_repository references - + rerere.c: remove the_repository references - + pack-*.c: remove the_repository references - + pack-check.c: remove the_repository references - + notes-cache.c: remove the_repository references - + line-log.c: remove the_repository reference - + diff-lib.c: remove the_repository references - + delta-islands.c: remove the_repository references - + cache-tree.c: remove the_repository references - + bundle.c: remove the_repository references - + branch.c: remove the_repository reference - + bisect.c: remove the_repository reference - + blame.c: remove implicit dependency the_repository - + sequencer.c: remove implicit dependency on the_repository - + sequencer.c: remove implicit dependency on the_index - + transport.c: remove implicit dependency on the_index - + notes-merge.c: remove implicit dependency the_repository - + notes-merge.c: remove implicit dependency on the_index - + list-objects.c: reduce the_repository references - + list-objects-filter.c: remove implicit dependency on the_index - + wt-status.c: remove implicit dependency the_repository - + wt-status.c: remove implicit dependency on the_index - (this branch is used by md/list-objects-filter-by-depth.) - - Originally merged to 'next' on 2018-11-18 - - More codepaths become aware of working with in-core repository - instance other than the default "the_repository". - - Will merge to 'master'. - - -* ot/ref-filter-object-info (2018-11-24) 6 commits - - ref-filter: replace unportable `%lld` format with %PRIdMAX +* ot/ref-filter-object-info (2018-12-28) 6 commits - ref-filter: add docs for new options - ref-filter: add tests for deltabase - ref-filter: add deltabase option - ref-filter: add tests for objectsize:disk + - ref-filter: add check for negative file size - ref-filter: add objectsize:disk option The "--format=<placeholder>" option of for-each-ref, branch and tag learned to show a few more traits of objects that can be learned by the object_info API. - Kicked out of 'next'; will replace with a reroll. - cf. <01020167e063687c-37a43a09-0a5f-4335-8c21-ec15a0a67882-000000@eu-west-1.amazonses.com> + Will merge to 'next'. * sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit - - diff: align move detection error handling with other options + (merged to 'next' on 2019-01-04 at 46de5f42d1) + + diff: align move detection error handling with other options Minor inconsistency fix. - Will merge to 'next'. - - -* ab/push-dwim-dst (2018-11-14) 7 commits - (merged to 'next' on 2018-12-28 at d9f618de10) - + push doc: document the DWYM behavior pushing to unqualified <dst> - + push: test that <src> doesn't DWYM if <dst> is unqualified - + push: add an advice on unqualified <dst> push - + push: move unqualified refname error into a function - + push: improve the error shown on unqualified <dst> push - + i18n: remote.c: mark error(...) messages for translation - + remote.c: add braces in anticipation of a follow-up change - - Originally merged to 'next' on 2018-11-18 - - "git push $there $src:$dst" rejects when $dst is not a fully - qualified refname and not clear what the end user meant. The - codepath has been taught to give a clearer error message, and also - guess where the push should go by taking the type of the pushed - object into account (e.g. a tag object would want to go under - refs/tags/). - Will merge to 'master'. * md/list-lazy-objects-fix (2018-12-06) 1 commit - - list-objects.c: don't segfault for missing cmdline objects + (merged to 'next' on 2019-01-04 at 93bd38fff9) + + list-objects.c: don't segfault for missing cmdline objects - "git rev-list --exclude-promissor-objects" had to take an object + "git rev-list --exclude-promisor-objects" had to take an object that does not exist locally (and is lazily available) from the command line without barfing, but the code dereferenced NULL. - Will merge to 'next'. - - -* nd/i18n (2018-11-12) 16 commits - (merged to 'next' on 2018-12-28 at 8e2de8338e) - + fsck: mark strings for translation - + fsck: reduce word legos to help i18n - + parse-options.c: mark more strings for translation - + parse-options.c: turn some die() to BUG() - + parse-options: replace opterror() with optname() - + repack: mark more strings for translation - + remote.c: mark messages for translation - + remote.c: turn some error() or die() to BUG() - + reflog: mark strings for translation - + read-cache.c: add missing colon separators - + read-cache.c: mark more strings for translation - + read-cache.c: turn die("internal error") to BUG() - + attr.c: mark more string for translation - + archive.c: mark more strings for translation - + alias.c: mark split_cmdline_strerror() strings for translation - + git.c: mark more strings for translation - - Originally merged to 'next' on 2018-11-18 - - More _("i18n") markings. - Will merge to 'master'. -* sb/more-repo-in-api (2018-11-14) 23 commits +* sb/more-repo-in-api (2018-12-28) 23 commits - t/helper/test-repository: celebrate independence from the_repository - path.h: make REPO_GIT_PATH_FUNC repository agnostic - commit: prepare free_commit_buffer and release_commit_memory for any repo @@ -689,48 +1009,8 @@ of the repositories listed at - sha1_file: allow read_object to read objects in arbitrary repositories (this branch is used by jt/get-reference-with-commit-graph and md/list-objects-filter-by-depth.) - Originally merged to 'next' on 2018-11-19 - The in-core repository instances are passed through more codepaths. - Kicked out of 'next'; will replace with a reroll. - cf. <20181215000942.46033-2-sbeller@google.com> - - -* en/merge-path-collision (2018-12-01) 11 commits - (merged to 'next' on 2018-12-28 at b50d3eee25) - + t6036: avoid non-portable "cp -a" - + merge-recursive: combine error handling - + t6036, t6043: increase code coverage for file collision handling - + merge-recursive: improve rename/rename(1to2)/add[/add] handling - + merge-recursive: use handle_file_collision for add/add conflicts - + merge-recursive: improve handling for rename/rename(2to1) conflicts - + merge-recursive: fix rename/add conflict handling - + merge-recursive: new function for better colliding conflict resolutions - + merge-recursive: increase marker length with depth of recursion - + t6036, t6042: testcases for rename collision of already conflicting files - + t6042: add tests for consistency in file collision conflict handling - - Originally merged to 'next' on 2018-12-01 - - Updates for corner cases in merge-recursive. - - Will merge to 'master'. - - -* sd/stash-wo-user-name (2018-11-19) 1 commit - (merged to 'next' on 2018-12-28 at 99197ef5a1) - + stash: tolerate missing user identity - - Originally merged to 'next' on 2018-11-19 - - A properly configured username/email is required under - user.useConfigOnly in order to create commits; now "git stash" - (even though it creates commit objects to represent stash entries) - command is excempt from the requirement. - - Will merge to 'master'. - * bc/sha-256 (2018-11-14) 12 commits - hash: add an SHA-256 implementation using OpenSSL @@ -849,36 +1129,37 @@ of the repositories listed at cf. <e5b2900a-0558-d3bf-8ea1-d526b078bbc2@talktalk.net> -* ps/stash-in-c (2018-11-26) 22 commits - . stash: replace all `write-tree` child processes with API calls - . stash: optimize `get_untracked_files()` and `check_changes()` - . stash: convert `stash--helper.c` into `stash.c` - . stash: convert save to builtin - . stash: make push -q quiet - . stash: convert push to builtin - . stash: convert create to builtin - . stash: convert store to builtin - . stash: convert show to builtin - . stash: convert list to builtin - . stash: convert pop to builtin - . stash: convert branch to builtin - . stash: convert drop and clear to builtin - . stash: convert apply to builtin - . stash: mention options in `show` synopsis - . stash: add tests for `git stash show` config - . stash: rename test cases to be more descriptive - . t3903: modernize style - . stash: improve option parsing test coverage - . strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()` - . strbuf.c: add `strbuf_join_argv()` - . sha1-name.c: add `get_oidf()` which acts like `get_oid()` +* ps/stash-in-c (2019-01-04) 27 commits + - tests: add a special setup where stash.useBuiltin is off + - stash: optionally use the scripted version again + - stash: add back the original, scripted `git stash` + - stash: convert `stash--helper.c` into `stash.c` + - stash: replace all `write-tree` child processes with API calls + - stash: optimize `get_untracked_files()` and `check_changes()` + - stash: convert save to builtin + - stash: make push -q quiet + - stash: convert push to builtin + - stash: convert create to builtin + - stash: convert store to builtin + - stash: convert show to builtin + - stash: convert list to builtin + - stash: convert pop to builtin + - stash: convert branch to builtin + - stash: convert drop and clear to builtin + - stash: convert apply to builtin + - stash: mention options in `show` synopsis + - stash: add tests for `git stash show` config + - stash: rename test cases to be more descriptive + - t3903: modernize style + - stash: improve option parsing test coverage + - ident: add the ability to provide a "fallback identity" + - strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()` + - strbuf.c: add `strbuf_join_argv()` + - sha1-name.c: add `get_oidf()` which acts like `get_oid()` + - Merge branch 'sd/stash-wo-user-name' "git stash" rewritten in C. - Expecting a reroll, probably on top of the sd/stash-wo-user-name - topic after it stabilizes, with an escape hatch like the one in - "rebase in C". - * pw/add-p-select (2018-07-26) 4 commits - add -p: optimize line selection for short hunks |