diff --git a/whats-cooking.txt b/whats-cooking.txt index cc0c79f2e1..3d2f7ba60f 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 (Nov 2018, #05; Sat, 17) -X-master-at: d166e6afe5f257217836ef24a73764eba390c58d -X-next-at: 2fe598284e7f22561137927e87b2ef6d70e8ab2c +Subject: What's cooking in git.git (Nov 2018, #06; Wed, 21) +X-master-at: bb75be6cb916297f271c846f2f9caa3daaaec718 +X-next-at: 68bc7959f8dc2d629c09be1a52f1b95b977b3a13 -What's cooking in git.git (Nov 2018, #05; Sat, 17) +What's cooking in git.git (Nov 2018, #06; Wed, 21) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -18,495 +18,17 @@ of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- -[New Topics] +[Graduated to "master"] -* ab/push-example-in-doc (2018-11-14) 1 commit - - push: change needlessly ambiguous example in error +* ab/dynamic-gettext-poison (2018-11-09) 2 commits + (merged to 'next' on 2018-11-18 at 13247a3be6) + + Makefile: ease dynamic-gettext-poison transition + + i18n: make GETTEXT_POISON a runtime option - An error message that sugggests how to give correct arguments to - "git push" has been updated. - - Will merge to 'next'. - - -* dd/poll-dot-h (2018-11-14) 1 commit - - git-compat-util: prefer poll.h to sys/poll.h - - A build update. - - Will merge to 'next'. - - -* en/fast-export-import (2018-11-17) 11 commits - - 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 - - Small fixes and features for fast-export and fast-import, mostly on - the fast-export side. - - Will merge to 'next'. - - -* js/mingw-create-hard-link (2018-11-14) 1 commit - (merged to 'next' on 2018-11-17 at 27f866db16) - + mingw: use `CreateHardLink()` directly - - Windows update. - - Will merge to 'master'. - - -* js/test-git-installed (2018-11-16) 5 commits - - tests: explicitly use `git.exe` on Windows - - tests: do not require Git to be built when testing an installed Git - - t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is set - - tests: respect GIT_TEST_INSTALLED when initializing repositories - - tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/ - - Update the "test installed Git" mode of our test suite to work better. - - Will merge to 'next'. - - -* lj/mingw-pthread-cond (2018-11-14) 1 commit - (merged to 'next' on 2018-11-17 at 46abe4100d) - + win32: replace pthread_cond_*() with much simpler code - - Code simplification. - - Will merge to 'master'. - - -* nd/checkout-dwim-fix (2018-11-14) 1 commit - - checkout: disambiguate dwim tracking branches and local files - - "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 'next'. - - -* nd/checkout-noisy (2018-11-14) 1 commit - - checkout: print something when checking out paths - - "git checkout [] 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. - - -* ab/rebase-in-c-escape-hatch (2018-11-16) 2 commits - (merged to 'next' on 2018-11-17 at a01be221c7) - + tests: add a special setup where rebase.useBuiltin is off - + rebase doc: document rebase.useBuiltin - - The recently merged "rebase in C" has an escape hatch to use the - scripted version when necessary, but it hasn't been documented, - which has been corrected. - - Will merge to 'master'. - - -* js/config-sequence (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at fefca0bbe8) - + config: report a bug if git_dir exists without commondir - - A sanity check for start-up sequence has been added in the config - API codepath. - - Will merge to 'master'. - - -* js/fuzz-cxxflags (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at 5e589a5237) - + Makefile: use FUZZ_CXXFLAGS for linking fuzzers - - The build procedure to link for fuzzing test has been made - customizable with a new Makefile variable. - - Will merge to 'master'. - - -* js/mingw-msdn-url (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at a6a9afddbf) - + mingw: replace an obsolete link with the superseding one - - The URL to an MSDN page in a comment has been updated. - - Will merge to 'master'. - - -* js/rebase-am-options (2018-11-16) 2 commits - (merged to 'next' on 2018-11-17 at f956d9b948) - + rebase: validate -C and --whitespace= parameters early - + rebase: really just passthru the `git am` options - - The way "git rebase" parses and forwards the command line options - meant for underlying "git am" has been revamped, which fixed for - options with parameters that were not passed correctly. - - Will merge to 'master'. - - -* nd/doc-extensions (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at 09306064d5) - + doc: move extensions.worktreeConfig to the right place - - Doc update. - - Will merge to 'master'. - - -* sg/clone-initial-fetch-configuration (2018-11-16) 3 commits - - 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 - - Refspecs configured with "git -c var=val clone" did not propagate - to the resulting repository, which has been corrected. - - Will merge to 'next'. - - -* sg/ref-filter-wo-repository (2018-11-16) 1 commit - (merged to 'next' on 2018-11-17 at c0bec63990) - + ref-filter: don't look for objects when outside of a repository - - "git ls-remote --sort=" 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. - - Will merge to 'master'. - - -* cc/shared-index-permbits (2018-11-17) 1 commit - - read-cache: write all indexes with the same permissions - - 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. - - Expecting a reroll. - - -* jk/close-duped-fd-before-unlock-for-bundle (2018-11-17) 1 commit - (merged to 'next' on 2018-11-17 at 2fe598284e) - + bundle: dup() output descriptor closer to point-of-use - - 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. - - Will merge to 'master'. - --------------------------------------------------- -[Stalled] - -* lt/date-human (2018-07-09) 1 commit - - 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. - --------------------------------------------------- -[Cooking] - -* js/rebase-autostash-detach-fix (2018-11-08) 2 commits - (merged to 'next' on 2018-11-17 at 15957b4a5a) - + built-in rebase --autostash: leave the current branch alone if possible - + built-in rebase: demonstrate regression with --autostash - - "git rebase --autostash" did not correctly re-attach the HEAD at times. - - Will merge to 'master'. - - -* en/rebase-merge-on-sequencer (2018-11-08) 2 commits - - rebase: implement --merge via git-rebase--interactive - - git-rebase, sequencer: extend --quiet option for the interactive machinery - - "git rebase --merge" as been reimplemented by reusing the internal - machinery used for "git rebase -i". - - -* js/mailmap (2018-11-12) 1 commit - (merged to 'next' on 2018-11-17 at 673bfc4cfa) - + Update .mailmap - - Update the mailmap to unify multiple entries for the authors with - commits since v2.10. - - Will merge to 'master'. - - -* fc/http-version (2018-11-09) 1 commit - - http: add support selecting http version - - 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 'next'. - - -* ag/p3400-force-checkout (2018-11-12) 1 commit - (merged to 'next' on 2018-11-17 at 87ff48d52a) - + p3400: replace calls to `git checkout -b' by `git checkout -B' - - Perf test tweak. - - Will merge to 'master'. - - -* cb/notes-freeing-always-null-fix (2018-11-13) 1 commit - (merged to 'next' on 2018-11-17 at 47aeec5fc9) - + builtin/notes: remove unnecessary free - - Code cleanup. - - Will merge to 'master'. - - -* dl/remote-save-to-push (2018-11-13) 1 commit - - remote: add --save-to-push option to git remote set-url - - "git remote set-url" learned a new option that moves existing value - of the URL field to pushURL field of the remote before replacing - the URL field with a new value. - - Undecided. - - -* jk/loose-object-cache (2018-11-13) 9 commits - - 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 - - Code clean-up with optimization for the codepath that checks - (non-)existence of loose objects. - - Will merge to 'next'. - - -* js/apply-recount-allow-noop (2018-11-13) 1 commit - (merged to 'next' on 2018-11-17 at e413fa105f) - + apply --recount: allow "no-op hunks" - - 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. - - Will merge to 'master'. - - -* js/builtin-rebase-perf-fix (2018-11-13) 3 commits - (merged to 'next' on 2018-11-17 at 9e9db8c8e1) - + built-in rebase: reinstate `checkout -q` behavior where appropriate - + rebase: prepare reset_head() for more flags - + rebase: consolidate clean-up code before leaving reset_head() - - Code clean-up with correction to make the reimplemented "git - rebase" a more faithful rewrite of the original, which also regains - performance. - - Will merge to 'master'. - - -* js/protocol-advertise-multi (2018-11-17) 1 commit - - protocol: advertise multiple supported versions - - The transport layer has been updated so that the protocol version - used can be negotiated between the parties, by the initiator - listing the protocol versions it is willing to talk, and the other - side choosing from one of them. - - -* js/rebase-r-and-merge-head (2018-11-13) 5 commits - (merged to 'next' on 2018-11-17 at 6bb27df7b1) - + status: rebase and merge can be in progress at the same time - + built-in rebase --skip/--abort: clean up stale .git/ files - + rebase -i: include MERGE_HEAD into files to clean up - + rebase -r: do not write MERGE_HEAD unless needed - + rebase -r: demonstrate bug with conflicting merges - - Bugfix for the recently graduated "git rebase --rebase-merges". - - Will merge to 'master'. - - -* js/smart-http-detect-remote-error (2018-11-17) 3 commits - - remote-curl: die on server-side errors - - remote-curl: tighten "version 2" check for smart-http - - remote-curl: refactor smart-http discovery - - 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 - - "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/command-list-gen-fix (2018-11-12) 1 commit - (merged to 'next' on 2018-11-17 at a6ff6baa0b) - + build: fix broken command-list.h generation with core.autocrlf - - Build tweak. - - Will merge to 'master'. - - -* nd/format-patch-cover-letter-stat-width (2018-11-13) 1 commit - - format-patch: respect --stat in cover letter's diffstat - - "git format-patch --stat=" can be used to specify the width - used by the diffstat (shown in the cover letter). - - Will merge to 'next'. - - -* nd/the-index (2018-11-12) 22 commits - - 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 - - More codepaths become aware of working with in-core repository - instance other than the default "the_repository". - - Will merge to 'next'. - - -* ot/ref-filter-object-info (2018-11-12) 5 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 objectsize:disk option - - The "--format=" 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. - - Will merge to 'next'. - - -* ra/rev-parse-exclude-glob (2018-11-13) 2 commits - (merged to 'next' on 2018-11-17 at 396dd7a2c2) - + refs: fix some exclude patterns being ignored - + refs: show --exclude failure with --branches/tags/remotes=glob - - "rev-parse --exclude= --branches=" etc. did not - quite work, which has been corrected. - - Will merge to 'master'. - - -* sb/cocci-pending (2018-11-14) 1 commit - - coccicheck: introduce 'pending' semantic patches - - A coding convention around the Coccinelle semantic patches to have - two classes to ease code migration process has been proposed and - its support has been added to the Makefile. - - Will merge to 'next'. - - -* tb/print-size-t-with-uintmax-format (2018-11-12) 1 commit - - Upcast size_t variables to uintmax_t when printing - - Code preparation to replace ulong vars with size_t vars where - appropriate. - - Will merge to 'next'. - - -* tb/xcurl-off-t (2018-11-12) 1 commit - - remote-curl.c: xcurl_off_t is not portable (on 32 bit platfoms) - - The xcurl_off_t() helper function is used to cast size_t to - curl_off_t, but some compilers gave warnings against the code to - ensure the casting is done without wraparound, when size_t is - narrower than curl_off_t. This warning has been squelched. - - Will merge to 'next'. - - -* jk/curl-ldflags (2018-11-05) 1 commit - (merged to 'next' on 2018-11-13 at d1387a3aa0) - + build: link with curl-defined linker flags - - The way -lcurl library gets linked has been simplified by taking - advantage of the fact that we can just ask curl-config command how. - - Will merge to 'master'. - - -* mg/gpg-fingerprint-test (2018-11-05) 2 commits - (merged to 'next' on 2018-11-13 at 71f11020c4) - + t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key - + t/t7510-signed-commit.sh: Add %GP to custom format checks - - Add a few tests for a topic already in 'master'. - - Will merge to 'master'. - - -* sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit - - diff: align move detection error handling with other options + Our testing framework uses a special i18n "poisoned localization" + feature to find messages that ought to stay constant but are + incorrectly marked to be translated. This feature has been made + into a runtime option (it used to be a compile-time option). * ab/range-diff-no-patch (2018-11-14) 3 commits @@ -520,7 +42,79 @@ of the repositories listed at the "range-diff" command was earlier broken, which has been corrected. - Will merge to 'master'. + +* ab/rebase-in-c-escape-hatch (2018-11-16) 2 commits + (merged to 'next' on 2018-11-17 at a01be221c7) + + tests: add a special setup where rebase.useBuiltin is off + + rebase doc: document rebase.useBuiltin + + The recently merged "rebase in C" has an escape hatch to use the + scripted version when necessary, but it hasn't been documented, + which has been corrected. + + +* ag/p3400-force-checkout (2018-11-12) 1 commit + (merged to 'next' on 2018-11-17 at 87ff48d52a) + + p3400: replace calls to `git checkout -b' by `git checkout -B' + + Perf test tweak. + + +* cb/notes-freeing-always-null-fix (2018-11-13) 1 commit + (merged to 'next' on 2018-11-17 at 47aeec5fc9) + + builtin/notes: remove unnecessary free + + Code cleanup. + + +* dd/poll-dot-h (2018-11-14) 1 commit + (merged to 'next' on 2018-11-18 at b6745f3308) + + git-compat-util: prefer poll.h to sys/poll.h + + A build update. + + +* ds/push-squelch-ambig-warning (2018-11-07) 1 commit + (merged to 'next' on 2018-11-18 at 5e8b3db129) + + pack-objects: ignore ambiguous object warnings + + "git push" used to check ambiguities between object-names and + refnames while processing the list of refs' old and new values, + which was unnecessary (as it knew that it is feeding raw object + names). This has been optimized out. + + +* ds/reachable-topo-order (2018-11-02) 7 commits + (merged to 'next' on 2018-11-13 at 4155d01aee) + + t6012: make rev-list tests more interesting + + revision.c: generation-based topo-order algorithm + + commit/revisions: bookkeeping before refactoring + + revision.c: begin refactoring --topo-order logic + + test-reach: add rev-list tests + + test-reach: add run_three_modes method + + prio-queue: add 'peek' operation + + The revision walker machinery learned to take advantage of the + commit generation numbers stored in the commit-graph file. + + +* jk/close-duped-fd-before-unlock-for-bundle (2018-11-17) 1 commit + (merged to 'next' on 2018-11-17 at 2fe598284e) + + bundle: dup() output descriptor closer to point-of-use + + 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. + + +* jk/curl-ldflags (2018-11-05) 1 commit + (merged to 'next' on 2018-11-13 at d1387a3aa0) + + build: link with curl-defined linker flags + + The way -lcurl library gets linked has been simplified by taking + advantage of the fact that we can just ask curl-config command how. * jk/unused-parameter-fixes (2018-11-06) 14 commits @@ -543,19 +137,6 @@ of the repositories listed at Various functions have been audited for "-Wunused-parameter" warnings and bugs in them got fixed. - Will merge to 'master'. - - -* ds/push-squelch-ambig-warning (2018-11-07) 1 commit - - pack-objects: ignore ambiguous object warnings - - "git push" used to check ambiguities between object-names and - refnames while processing the list of refs' old and new values, - which was unnecessary (as it knew that it is feeding raw object - names). This has been optimized out. - - Will merge to 'next'. - * jk/verify-sig-merge-into-void (2018-11-07) 3 commits (merged to 'next' on 2018-11-13 at a207be60ed) @@ -567,7 +148,64 @@ of the repositories listed at to completely ignore "--verify-signatures", which has been corrected. - Will merge to 'master'. + +* js/apply-recount-allow-noop (2018-11-13) 1 commit + (merged to 'next' on 2018-11-17 at e413fa105f) + + apply --recount: allow "no-op hunks" + + 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. + + +* js/builtin-rebase-perf-fix (2018-11-13) 3 commits + (merged to 'next' on 2018-11-17 at 9e9db8c8e1) + + built-in rebase: reinstate `checkout -q` behavior where appropriate + + rebase: prepare reset_head() for more flags + + rebase: consolidate clean-up code before leaving reset_head() + + Code clean-up with correction to make the reimplemented "git + rebase" a more faithful rewrite of the original, which also regains + performance. + + +* js/config-sequence (2018-11-16) 1 commit + (merged to 'next' on 2018-11-17 at fefca0bbe8) + + config: report a bug if git_dir exists without commondir + + A sanity check for start-up sequence has been added in the config + API codepath. + + +* js/fuzz-cxxflags (2018-11-16) 1 commit + (merged to 'next' on 2018-11-17 at 5e589a5237) + + Makefile: use FUZZ_CXXFLAGS for linking fuzzers + + The build procedure to link for fuzzing test has been made + customizable with a new Makefile variable. + + +* js/mailmap (2018-11-12) 1 commit + (merged to 'next' on 2018-11-17 at 673bfc4cfa) + + Update .mailmap + + Update the mailmap to unify multiple entries for the authors with + commits since v2.10. + + +* js/mingw-create-hard-link (2018-11-14) 1 commit + (merged to 'next' on 2018-11-17 at 27f866db16) + + mingw: use `CreateHardLink()` directly + + Windows update. + + +* js/mingw-msdn-url (2018-11-16) 1 commit + (merged to 'next' on 2018-11-17 at a6a9afddbf) + + mingw: replace an obsolete link with the superseding one + + The URL to an MSDN page in a comment has been updated. * js/mingw-res-rebuild (2018-11-07) 1 commit @@ -576,73 +214,82 @@ of the repositories listed at Windows build update. - Will merge to 'master'. + +* js/rebase-am-options (2018-11-16) 2 commits + (merged to 'next' on 2018-11-17 at f956d9b948) + + rebase: validate -C and --whitespace= parameters early + + rebase: really just passthru the `git am` options + + The way "git rebase" parses and forwards the command line options + meant for underlying "git am" has been revamped, which fixed for + options with parameters that were not passed correctly. -* ab/dynamic-gettext-poison (2018-11-09) 2 commits - - Makefile: ease dynamic-gettext-poison transition - - i18n: make GETTEXT_POISON a runtime option +* js/rebase-autostash-detach-fix (2018-11-08) 2 commits + (merged to 'next' on 2018-11-17 at 15957b4a5a) + + built-in rebase --autostash: leave the current branch alone if possible + + built-in rebase: demonstrate regression with --autostash - Our testing framework uses a special i18n "poisoned localization" - feature to find messages that ought to stay constant but are - incorrectly marked to be translated. This feature has been made - into a runtime option (it used to be a compile-time option). - - Will merge to 'next'. + "git rebase --autostash" did not correctly re-attach the HEAD at times. -* ab/push-dwim-dst (2018-11-14) 7 commits - - push doc: document the DWYM behavior pushing to unqualified - - push: test that doesn't DWYM if is unqualified - - push: add an advice on unqualified push - - push: move unqualified refname error into a function - - push: improve the error shown on unqualified push - - i18n: remote.c: mark error(...) messages for translation - - remote.c: add braces in anticipation of a follow-up change +* js/rebase-r-and-merge-head (2018-11-13) 5 commits + (merged to 'next' on 2018-11-17 at 6bb27df7b1) + + status: rebase and merge can be in progress at the same time + + built-in rebase --skip/--abort: clean up stale .git/ files + + rebase -i: include MERGE_HEAD into files to clean up + + rebase -r: do not write MERGE_HEAD unless needed + + rebase -r: demonstrate bug with conflicting merges - "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 'next'. + Bugfix for the recently graduated "git rebase --rebase-merges". -* md/list-lazy-objects-fix (2018-10-29) 1 commit - - list-objects.c: don't segfault for missing cmdline objects +* js/test-git-installed (2018-11-16) 5 commits + (merged to 'next' on 2018-11-18 at 61474ba19e) + + tests: explicitly use `git.exe` on Windows + + tests: do not require Git to be built when testing an installed Git + + t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is set + + tests: respect GIT_TEST_INSTALLED when initializing repositories + + tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/ - "git rev-list --exclude-promissor-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. - - That sympotom may be worth addressing, but I think the "fix" is - overly broad and is wrong. Giving a missing object should be - diagnosed as an error, not swept under the rug silently. + Update the "test installed Git" mode of our test suite to work better. -* nd/i18n (2018-11-12) 16 commits - - 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 +* lj/mingw-pthread-cond (2018-11-14) 1 commit + (merged to 'next' on 2018-11-17 at 46abe4100d) + + win32: replace pthread_cond_*() with much simpler code - More _("i18n") markings. + Code simplification. - Will merge to 'next'. + +* mg/gpg-fingerprint-test (2018-11-05) 2 commits + (merged to 'next' on 2018-11-13 at 71f11020c4) + + t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key + + t/t7510-signed-commit.sh: Add %GP to custom format checks + + Add a few tests for a topic already in 'master'. + + +* nd/command-list-gen-fix (2018-11-12) 1 commit + (merged to 'next' on 2018-11-17 at a6ff6baa0b) + + build: fix broken command-list.h generation with core.autocrlf + + Build tweak. + + +* nd/doc-extensions (2018-11-16) 1 commit + (merged to 'next' on 2018-11-17 at 09306064d5) + + doc: move extensions.worktreeConfig to the right place + + Doc update. + + +* nd/format-patch-cover-letter-stat-width (2018-11-13) 1 commit + (merged to 'next' on 2018-11-18 at 65a464977d) + + format-patch: respect --stat in cover letter's diffstat + + "git format-patch --stat=" can be used to specify the width + used by the diffstat (shown in the cover letter). * nd/pthreads (2018-11-05) 14 commits @@ -664,66 +311,537 @@ of the repositories listed at The codebase has been cleaned up to reduce "#ifndef NO_PTHREADS". + +* ra/rev-parse-exclude-glob (2018-11-13) 2 commits + (merged to 'next' on 2018-11-17 at 396dd7a2c2) + + refs: fix some exclude patterns being ignored + + refs: show --exclude failure with --branches/tags/remotes=glob + + "rev-parse --exclude= --branches=" etc. did not + quite work, which has been corrected. + + +* sb/cocci-pending (2018-11-14) 1 commit + (merged to 'next' on 2018-11-18 at dd271722d3) + + coccicheck: introduce 'pending' semantic patches + + A coding convention around the Coccinelle semantic patches to have + two classes to ease code migration process has been proposed and + its support has been added to the Makefile. + + +* sg/ref-filter-wo-repository (2018-11-16) 1 commit + (merged to 'next' on 2018-11-17 at c0bec63990) + + ref-filter: don't look for objects when outside of a repository + + "git ls-remote --sort=" 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. + + +* tb/print-size-t-with-uintmax-format (2018-11-12) 1 commit + (merged to 'next' on 2018-11-18 at 752e51c7ed) + + Upcast size_t variables to uintmax_t when printing + + Code preparation to replace ulong vars with size_t vars where + appropriate. + + +* tb/xcurl-off-t (2018-11-12) 1 commit + (merged to 'next' on 2018-11-18 at ac2a4bc14a) + + remote-curl.c: xcurl_off_t is not portable (on 32 bit platfoms) + + The xcurl_off_t() helper function is used to cast size_t to + curl_off_t, but some compilers gave warnings against the code to + ensure the casting is done without wraparound, when size_t is + narrower than curl_off_t. This warning has been squelched. + +-------------------------------------------------- +[New Topics] + +* dl/merge-cleanup-scissors-fix (2018-11-21) 2 commits + - merge: add scissors line on merge conflict + - t7600: clean up 'merge --squash c3 with c7' test + + The list of conflicted paths shown in the editor while concluding a + conflicted merge was shown above the scissors line when the + clean-up mode is set to "scissors", even though it was commented + out just like the list of updated paths and other information to + help the user explain the merge better. + + Will merge to 'next'. + + +* aw/pretty-trailers (2018-11-19) 5 commits + - pretty: add support for separator option in %(trailers) + - strbuf: separate callback for strbuf_expand:ing literals + - pretty: add support for "valueonly" option in %(trailers) + - pretty: allow showing specific trailers + - pretty: single return path in %(trailers) handling + + The %(trailers) formatter in "git log --format=..." now allows to + optionally pick trailers selectively by keyword, show only values, + etc. + + +* 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 *' + + The traversal over tree objects has learned to honor + ":(attr:label)" pathspec match, which has been implemented only for + enumerating paths on the filesystem. + + +* ab/commit-graph-progress-fix (2018-11-20) 1 commit + - commit-graph: split up close_reachable() progress output + + +* sg/test-BUG (2018-11-20) 1 commit + - tests: send "bug in the test script" errors to the script's stderr + + test framework has been updated to make a bug in the test script + (as opposed to bugs in Git that are discovered by running the + tests) stand out more prominently. + + Will merge to 'next'. + + +* sg/test-cmp-rev (2018-11-20) 1 commit + - test-lib-functions: make 'test_cmp_rev' more informative on failure + + Test framework update. + + Will merge to 'next'. + + +* ss/msvc-strcasecmp (2018-11-20) 1 commit + - msvc: directly use MS version (_stricmp) of strcasecmp + + MSVC update. + + Will merge to 'next'. + + +* cc/delta-islands (2018-11-21) 3 commits + (merged to 'next' on 2018-11-21 at 3bac399f83) + + pack-objects: fix off-by-one in delta-island tree-depth computation + + pack-objects: zero-initialize tree_depth/layer arrays + + pack-objects: fix tree_depth and layer invariants + + A few issues in the implementation of "delta-islands" feature has + been corrected. + Will merge to 'master'. +* jn/eoie-ieot (2018-11-21) 3 commits + (merged to 'next' on 2018-11-21 at 9eb98a38f0) + + index: make index.threads=true enable ieot and eoie + + ieot: default to not writing IEOT section + + eoie: default to not writing EOIE section + (this branch is used by jn/unknown-index-extensions.) + + As the warning message shown by existing versions of Git for + unknown index extensions is a bit too alarming, two new extensions + are held back and not written by default for the upcoming release. + + Will merge to 'master'. + + +* jn/unknown-index-extensions (2018-11-21) 2 commits + - index: offer advice for unknown index extensions + - index: do not warn about unrecognized extensions + (this branch uses jn/eoie-ieot.) + + A bit too alarming warning given when unknown index extensions + exist is getting revamped. + + Expecting a reroll. + + +* js/builtin-rebase-perf-fix-err-fix (2018-11-21) 1 commit + (merged to 'next' on 2018-11-21 at 9c351cfc4a) + + rebase: warn about the correct tree's OID + + The object name of the tree reported in a recently added error + message was wrong, which has been corrected. + + Will merge to 'master'. + + +* js/rebase-am-options-fix (2018-11-21) 1 commit + (merged to 'next' on 2018-11-21 at 4da85e17c2) + + legacy-rebase: backport -C and --whitespace=