From: Junio C Hamano Date: Tue, 5 Feb 2019 23:34:00 +0000 (-0800) Subject: What's cooking (2019/02 #01) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c6144425156039892134b282c7ead83637d4417;p=thirdparty%2Fgit.git What's cooking (2019/02 #01) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 20e3b1161e..b079b2dc8c 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 (Jan 2019, #05; Tue, 29) -X-master-at: b5101f929789889c2e536d915698f58d5c5c6b7a -X-next-at: fbb209baf1b5c34e4ec52fb4a5a73b00cfbecec1 +Subject: What's cooking in git.git (Feb 2019, #01; Tue, 5) +X-master-at: 8feddda32cc50e928404788d7b9377c0b5f73f50 +X-next-at: b4d0f1c61aafd6cb5c3d9e6ee6bd99a036e3f21d -What's cooking in git.git (Jan 2019, #05; Tue, 29) +What's cooking in git.git (Feb 2019, #01; Tue, 5) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,265 +12,246 @@ 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. +A handful more topics have been merged to 'master' and 'next' +respectively. I have been hoping to keep this cycle short compared +to other recent cycles but there are a few smallish changes that we +should have in the upcoming release but are still not in 'next'. We +will see what happens. + 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 -------------------------------------------------- -[New Topics] - -* ds/commit-graph-format-v2 (2019-01-29) 8 commits - - SQUASH : misnamed variables and style fix - - commit-graph: test verifying a corrupt v2 header - - commit-graph: implement file format version 2 - - commit-graph: add --version= option - - commit-graph: create new version flags - - commit-graph: collapse parameters into flags - - commit-graph: return with errors during write - - Merge branch 'bc/sha-256' into ds/commit-graph-format-v2 - (this branch uses ab/commit-graph-write-optim and ab/commit-graph-write-progress.) - - Introduce version 2 of the commit-graph format to correct - deficiency in the initial version. +[Graduated to "master"] +* ab/commit-graph-write-optim (2019-01-22) 1 commit + (merged to 'next' on 2019-01-29 at 17c894dfec) + + commit-graph write: use pack order when finding commits + (this branch is used by ab/commit-graph-write-progress and ds/commit-graph-format-v2.) -* ds/coverage-prove (2019-01-29) 1 commit - - Makefile: add coverage-prove target + The codepath to write out commit-graph has been optimized by + following the usual pattern of visiting objects in in-pack order. - A new target "coverage-prove" to run the coverage test under - "prove" has been added. - Will merge to 'next'. +* ab/commit-graph-write-progress (2019-01-23) 9 commits + (merged to 'next' on 2019-01-29 at e086b1cba6) + + commit-graph write: emit a percentage for all progress + + commit-graph write: add itermediate progress + + commit-graph write: remove empty line for readability + + commit-graph write: add more descriptive progress output + + commit-graph write: show progress for object search + + commit-graph write: more descriptive "writing out" output + + commit-graph write: add "Writing out" progress output + + commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily + + commit-graph: rename "large edges" to "extra edges" + (this branch is used by ds/commit-graph-format-v2; uses ab/commit-graph-write-optim.) --------------------------------------------------- -[Graduated to "master"] + The codepath to show progress meter while writing out commit-graph + file has been improved. -* md/list-objects-filter-by-depth (2019-01-15) 4 commits - + tree:: 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 is used by js/filter-options-should-use-plain-int; uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.) - The objects-filter machinery learned "tree:" to filter - objects up to a given depth; earlier it only supported depth=0, - i.e. usable to create a commit-only lazy clone. +* az/instaweb-py3-http-server (2019-01-28) 1 commit + (merged to 'next' on 2019-01-29 at 82f06b6774) + + git-instaweb: add Python builtin http.server support - Will merge to 'next'. + "git instaweb" learned to drive http.server that comes with + "batteries included" Python installation (both Python2 & 3). -* bc/sha-256 (2018-11-14) 12 commits - (merged to 'next' on 2019-01-18 at 3f161d31bb) - + hash: add an SHA-256 implementation using OpenSSL - + sha256: add an SHA-256 implementation using libgcrypt - + Add a base implementation of SHA-256 support - + commit-graph: convert to using the_hash_algo - + t/helper: add a test helper to compute hash speed - + sha1-file: add a constant for hash block size - + t: make the sha1 test-tool helper generic - + t: add basic tests for our SHA-1 implementation - + cache: make hashcmp and hasheq work with larger hashes - + hex: introduce functions to print arbitrary hashes - + sha1-file: provide functions to look up hash algorithms - + sha1-file: rename algorithm to "sha1" - (this branch is used by ds/commit-graph-format-v2.) +* bp/checkout-new-branch-optim (2019-01-23) 2 commits + (merged to 'next' on 2019-01-29 at 89d690634d) + + checkout: fix regression in checkout -b on intitial checkout + + checkout: add test demonstrating regression with checkout -b on initial commit - Add sha-256 hash and plug it through the code to allow building Git - with the "NewHash". + "git checkout -b [HEAD]" to create a new branch from the + current commit and check it out ought to be a no-op in the index + and the working tree in normal cases, but there are corner cases + that do require updates to the index and the working tree. Running + it immediately after "git clone --no-checkout" is one of these + cases that an earlier optimization kicked in incorrectly, which has + been fixed. -* bc/tree-walk-oid (2019-01-15) 5 commits - (merged to 'next' on 2019-01-18 at 60c38b9e4a) - + cache: make oidcpy always copy GIT_MAX_RAWSZ bytes - + tree-walk: store object_id in a separate member - + match-trees: use hashcpy to splice trees - + match-trees: compute buffer offset correctly when splicing - + tree-walk: copy object ID before use +* cc/test-ref-store-typofix (2019-01-17) 1 commit + (merged to 'next' on 2019-01-29 at 0cd264f864) + + helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo - The code to walk tree objects has been taught that we may be - working with object names that are not computed with SHA-1. + An obvious typo in an assertion error message has been fixed. -* cc/fetch-error-message-fix (2019-01-14) 1 commit - (merged to 'next' on 2019-01-14 at 81078f86c0) - + fetch: fix extensions.partialclone name in error message +* ja/doc-style-fix (2019-01-23) 1 commit + (merged to 'next' on 2019-01-29 at 5b520a6fd3) + + doc: tidy asciidoc style - Error message fix. + Doc typo/stylo fixes. -* cc/partial-clone-doc-typofix (2019-01-14) 1 commit - (merged to 'next' on 2019-01-14 at 0395de767e) - + partial-clone: add missing 'is' in doc +* jk/add-ignore-errors-bit-assignment-fix (2019-01-17) 1 commit + (merged to 'next' on 2019-01-29 at a4ac7ccd4f) + + add: use separate ADD_CACHE_RENORMALIZE flag - Doc fix. + "git add --ignore-errors" did not work as advertised and instead + worked as an unintended synonym for "git add --renormalize", which + has been fixed. -* it/log-format-source (2019-01-11) 1 commit - (merged to 'next' on 2019-01-18 at d660044e93) - + log: add %S option (like --source) to log --format +* jk/attr-macro-fix (2019-01-22) 1 commit + (merged to 'next' on 2019-01-29 at 740df172e1) + + attr: do not mark queried macros as unset - Custom userformat "log --format" learned %S atom that stands for - the tip the traversal reached the commit from, i.e. --source. + Asking "git check-attr" about a macro (e.g. "binary") on a specific + path did not work correctly, even though "git check-attr -a" listed + such a macro correctly. This has been corrected. -* ja/doc-build-l10n (2019-01-07) 1 commit - (merged to 'next' on 2019-01-18 at 5dbe5ad3d7) - + Documentation/Makefile add optional targets for l10n +* jk/diff-cc-stat-fixes (2019-01-24) 6 commits + (merged to 'next' on 2019-01-29 at 8bd04f1749) + + combine-diff: treat --dirstat like --stat + + combine-diff: treat --summary like --stat + + combine-diff: treat --shortstat like --stat + + combine-diff: factor out stat-format mask + + diff: clear emitted_symbols flag after use + + t4006: resurrect commented-out tests - Prepare Documentation/Makefile so that manpage localization can - reuse it by overriding and tweaking the list of build products. + "git diff --color-moved --cc --stat -p" did not work well due to + funny interaction between a bug in color-moved and the rest, which + has been fixed. -* jk/proto-v2-hidden-refs-fix (2019-01-10) 1 commit - (merged to 'next' on 2019-01-18 at 875dbbc71f) - + upload-pack: support hidden refs with protocol v2 +* js/abspath-part-inside-repo (2019-01-18) 1 commit + (merged to 'next' on 2019-01-29 at ac642158ec) + + abspath_part_inside_repo: respect core.ignoreCase - The v2 upload-pack protocol implementation failed to honor - hidden-ref configuration, which has been corrected. - An earlier attempt reverted out of 'next'. + On a case-insensitive filesystem, we failed to compare the part of + the path that is above the worktree directory in an absolute + pathname, which has been corrected. -* jk/remote-insteadof-cleanup (2019-01-11) 1 commit - (merged to 'next' on 2019-01-18 at 112c93eef3) - + remote: check config validity before creating rewrite struct +* js/commit-graph-chunk-table-fix (2019-01-15) 3 commits + (merged to 'next' on 2019-01-29 at 65ea01d4f2) + + Makefile: correct example fuzz build + + commit-graph: fix buffer read-overflow + + commit-graph, fuzz: add fuzzer for commit-graph - Code clean-up. + The codepath to read from the commit-graph file attempted to read + past the end of it when the file's table-of-contents was corrupt. -* jk/save-getenv-result (2019-01-11) 6 commits - (merged to 'next' on 2019-01-18 at 429c77402a) - + builtin_diff(): read $GIT_DIFF_OPTS closer to use - + merge-recursive: copy $GITHEAD strings - + init: make a copy of $GIT_DIR string - + config: make a copy of $GIT_CONFIG string - + commit: copy saved getenv() result - + get_super_prefix(): copy getenv() result +* js/filter-options-should-use-plain-int (2019-01-15) 1 commit + (merged to 'next' on 2019-01-18 at 6714547e6d) + + filter-options: expand scaled numbers + (this branch uses md/list-objects-filter-by-depth and sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.) - There were many places the code relied on the string returned from - getenv() to be non-volatile, which is not true, that have been - corrected. + Update the protocol message specification to allow only the limited + use of scaled quantities. This is ensure potential compatibility + issues will not go out of hand. -* js/add-e-clear-patch-before-stating (2019-01-15) 1 commit - (merged to 'next' on 2019-01-18 at 9ea7fc4b49) - + add --edit: truncate the patch file +* js/mingw-unc-path-w-backslashes (2019-01-18) 2 commits + (merged to 'next' on 2019-01-29 at 3adc177c1e) + + mingw: special-case arguments to `sh` + + mingw (t5580): document bug when cloning from backslashed UNC paths - "git add -e" got confused when the change it wants to let the user - edit is smaller than the previous change that was left over in a - temporary file. + In Git for Windows, "git clone \\server\share\path" etc. that uses + UNC paths from command line had bad interaction with its shell + emulation. -* js/rebase-i-redo-exec (2018-12-11) 3 commits - (merged to 'next' on 2019-01-18 at 71be3fedb7) - + rebase: introduce a shortcut for --reschedule-failed-exec - + rebase: add a config option to default to --reschedule-failed-exec - + rebase: introduce --reschedule-failed-exec +* js/t6042-timing-fix (2019-01-17) 1 commit + (merged to 'next' on 2019-01-29 at 9543c96249) + + t6042: work around speed optimization on Windows - "git rebase -i" learned to re-execute a command given with 'exec' - to run after it failed the last time. + Test update. -* jt/fetch-pack-v2 (2019-01-10) 1 commit - (merged to 'next' on 2019-01-18 at 75ceb55ff8) - + fetch-pack: support protocol version 2 +* js/test-git-installed (2019-01-22) 1 commit + (merged to 'next' on 2019-01-29 at bab6eabb20) + + tests: explicitly use `test-tool.exe` on Windows - "git fetch-pack" now can talk the version 2 protocol. + Test fix for Windows. -* jt/upload-pack-deepen-relative-proto-v2 (2019-01-10) 2 commits - (merged to 'next' on 2019-01-18 at 1483ad21db) - + upload-pack: teach deepen-relative in protocol v2 - + fetch-pack: do not take shallow lock unnecessarily +* jt/fetch-v2-sideband (2019-01-17) 5 commits + (merged to 'next' on 2019-01-29 at c8c6f11f77) + + tests: define GIT_TEST_SIDEBAND_ALL + + {fetch,upload}-pack: sideband v2 fetch response + + sideband: reverse its dependency on pkt-line + + pkt-line: introduce struct packet_writer + + Merge branch 'ms/packet-err-check' into jt/fetch-v2-sideband + (this branch uses ms/packet-err-check.) - "git fetch --deepen=" has been corrected to work over v2 - protocol. + "git fetch" and "git upload-pack" learned to send all exchange over + the sideband channel while talking the v2 protocol. -* kg/external-diff-save-env (2019-01-11) 1 commit - (merged to 'next' on 2019-01-14 at 8281bbd48b) - + diff: ensure correct lifetime of external_diff_cmd +* jt/get-reference-with-commit-graph (2018-12-28) 1 commit + (merged to 'next' on 2019-01-18 at bfc4eb9411) + + revision: use commit graph in get_reference() + (this branch uses sb/more-repo-in-api; is tangled with js/filter-options-should-use-plain-int and md/list-objects-filter-by-depth.) - The code to drive GIT_EXTERNAL_DIFF command relied on the string - returned from getenv() to be non-volatile, which is not true, that - has been corrected. + Micro-optimize the code that prepares commit objects to be walked + by "git rev-list" when the commit-graph is available. -* ms/http-no-more-failonerror (2019-01-10) 5 commits - (merged to 'next' on 2019-01-18 at 8938d70b6d) - + test: test GIT_CURL_VERBOSE=1 shows an error - + remote-curl: unset CURLOPT_FAILONERROR - + remote-curl: define struct for CURLOPT_WRITEFUNCTION - + http: enable keep_error for HTTP requests - + http: support file handles for HTTP_KEEP_ERROR +* jt/namespaced-ls-refs-fix (2019-01-18) 1 commit + (merged to 'next' on 2019-01-29 at 049530f499) + + ls-refs: filter refs using namespace-stripped name - Debugging help for http transport. + Fix namespace support in protocol v2. -* os/rebase-runs-post-checkout-hook (2019-01-02) 2 commits - (merged to 'next' on 2019-01-18 at a03d536318) - + rebase: run post-checkout hook on checkout - + t5403: simplify by using a single repository +* ld/git-p4-shelve-update-fix (2019-01-18) 2 commits + (merged to 'next' on 2019-01-29 at 02e8752ec8) + + git-p4: handle update of moved/copied files when updating a shelve + + git-p4: add failing test for shelved CL update involving move/copy - "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. + "git p4" failed to update a shelved change when there were moved + files, which has been corrected. -* pw/diff-color-moved-ws-fix (2019-01-10) 9 commits - (merged to 'next' on 2019-01-18 at e19713c82f) - + diff --color-moved-ws: handle blank lines - + diff --color-moved-ws: modify allow-indentation-change - + diff --color-moved-ws: optimize allow-indentation-change - + diff --color-moved=zebra: be stricter with color alternation - + diff --color-moved-ws: fix false positives - + diff --color-moved-ws: demonstrate false positives - + diff: allow --no-color-moved-ws - + Use "whitespace" consistently - + diff: document --no-color-moved +* md/list-objects-filter-by-depth (2019-01-15) 4 commits + + tree:: 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 is used by js/filter-options-should-use-plain-int; uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.) - "git diff --color-moved-ws" updates. +* 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 + (this branch is used by jt/fetch-v2-sideband.) -* sb/submodule-recursive-fetch-gets-the-tip (2018-12-09) 9 commits - (merged to 'next' on 2019-01-18 at 79a2809fbc) - + fetch: ensure submodule objects fetched - + submodule.c: fetch in submodules git directory instead of in worktree - + submodule: migrate get_next_submodule to use repository structs - + repository: repo_submodule_init to take a submodule struct - + submodule: store OIDs in changed_submodule_names - + submodule.c: tighten scope of changed_submodule_names struct - + submodule.c: sort changed_submodule_names before searching it - + submodule.c: fix indentation - + sha1-array: provide oid_array_filter + Error checking of data sent over the pack-protocol has been + revamped so that error packets are always diagnosed properly. - "git fetch --recurse-submodules" may not fetch the necessary commit - that is bound to the superproject, which is getting corrected. --------------------------------------------------- -[Cooking] +* nd/fetch-compact-update (2019-01-27) 1 commit + (merged to 'next' on 2019-01-29 at b78e8841b0) + + fetch: prefer suffix substitution in compact fetch.output -* js/filter-options-should-use-plain-int (2019-01-15) 1 commit - (merged to 'next' on 2019-01-18 at 6714547e6d) - + filter-options: expand scaled numbers - (this branch uses md/list-objects-filter-by-depth and sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.) + "git fetch" output cleanup. - Update the protocol message specification to allow only the limited - use of scaled quantities. This is ensure potential compatibility - issues will not go out of hand. - Will merge to 'master'. +* ph/pack-objects-mutex-fix (2019-01-28) 2 commits + (merged to 'next' on 2019-01-29 at 7c886f6c33) + + pack-objects: merge read_lock and lock in packing_data struct + + pack-objects: move read mutex to packing_data struct + "git pack-objects" incorrectly used uninitialized mutex, which has + been corrected. -* jt/get-reference-with-commit-graph (2018-12-28) 1 commit - (merged to 'next' on 2019-01-18 at bfc4eb9411) - + revision: use commit graph in get_reference() - (this branch uses sb/more-repo-in-api; is tangled with js/filter-options-should-use-plain-int and md/list-objects-filter-by-depth.) - Micro-optimize the code that prepares commit objects to be walked - by "git rev-list" when the commit-graph is available. +* pw/no-editor-in-rebase-i-implicit (2019-01-28) 1 commit + (merged to 'next' on 2019-01-29 at 9d06993725) + + implicit interactive rebase: don't run sequence editor - Will merge to 'master'. + When GIT_SEQUENCE_EDITOR is set, the command was incorrectly + started when modes of "git rebase" that implicitly uses the + machinery for the interactive rebase are run, which has been + corrected. * sb/more-repo-in-api (2018-12-28) 23 commits @@ -301,324 +282,332 @@ of the repositories listed at The in-core repository instances are passed through more codepaths. - Will merge to 'master'. +* sg/object-as-type-commit-graph-fix (2019-01-27) 1 commit + (merged to 'next' on 2019-01-29 at cc714a044a) + + object_as_type: initialize commit-graph-related fields of 'struct commit' -* br/commit-tree-fully-spelled-gpg-sign-option (2019-01-22) 2 commits - - commit-tree: add missing --gpg-sign flag - - t7510: invoke git as part of &&-chain + The commit-graph facility did not work when in-core objects that + are promoted from unknown type to commit (e.g. a commit that is + accessed via a tag that refers to it) were involved, which has been + corrected. - The documentation of "git commit-tree" said that the command - understands "--gpg-sign" in addition to "-S", but the command line - parser did not know about the longhand, which has been corrected. - Will merge to 'next'. +* sg/obstack-cast-function-type-fix (2019-01-17) 1 commit + (merged to 'next' on 2019-01-29 at 568cafa7f4) + + compat/obstack: fix -Wcast-function-type warnings + The compat/obstack code had casts that -Wcast-function-type + compilation option found questionable. -* dt/cat-file-batch-ambiguous (2019-01-18) 2 commits - - t1512: test ambiguous cat-file --batch and --batch-output - - Do not print 'dangling' for cat-file in case of ambiguity - Needswork on the tip commit. - cf. <20190123111117.GS840@szeder.dev> +* sg/strbuf-addbuf-cocci (2019-01-27) 1 commit + (merged to 'next' on 2019-01-29 at a9f7279d38) + + strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other + Cocci rule update. -* jk/attr-macro-fix (2019-01-22) 1 commit - (merged to 'next' on 2019-01-29 at 740df172e1) - + attr: do not mark queried macros as unset +-------------------------------------------------- +[New Topics] - Asking "git check-attr" about a macro (e.g. "binary") on a specific - path did not work correctly, even though "git check-attr -a" listed - such a macro correctly. This has been corrected. +* ab/diff-tree-doc-fix (2019-02-04) 1 commit + (merged to 'next' on 2019-02-05 at 123f48fa2e) + + diff-tree doc: correct & remove wrong documentation + + Doc fix. Will merge to 'master'. -* js/test-git-installed (2019-01-22) 1 commit - (merged to 'next' on 2019-01-29 at bab6eabb20) - + tests: explicitly use `test-tool.exe` on Windows +* bc/fetch-pack-clear-alternate-shallow (2019-02-04) 1 commit + (merged to 'next' on 2019-02-05 at 14392fb6b2) + + fetch-pack: clear alternate shallow when complete - Test fix for Windows. + "git fetch" over protocol v2 that needs to make a second connection + to backfill tags did not clear a variable that holds shallow + repository information correctly, leading to an access of freed + piece of memory. Will merge to 'master'. -* ph/pack-objects-mutex-fix (2019-01-28) 2 commits - (merged to 'next' on 2019-01-29 at 7c886f6c33) - + pack-objects: merge read_lock and lock in packing_data struct - + pack-objects: move read mutex to packing_data struct +* dm/some-stdio-functions-are-macro-on-freebsd (2019-02-01) 1 commit + - http: cast result to FILE * - "git pack-objects" incorrectly used uninitialized mutex, which has - been corrected. + Variants of BSD define fileno(fh) as a macro, breaking a program + that passes a "void *" to it. - Will merge to 'master'. + Expecting a reroll. + cf. <49B9198C-53E5-42BD-8834-B1EDEB3332CB@usask.ca> -* sb/submodule-abort-update-upon-config-failure (2019-01-18) 1 commit - - git-submodule: abort if core.worktree could not be set correctly +* en/combined-all-paths (2019-02-04) 1 commit + - log,diff-tree: add --combined-all-names option - "git submodule update" learned to abort early when core.worktree - for the submodule is not set correctly to prevent spreading damage. + Output from "diff --cc" did not show the original paths when the + merge involved renames. A new option adds the paths in the + original trees to the output. - Will merge to 'next'. + Expecting a reroll. + cf. -* tb/test-lint-sed-options (2019-01-28) 1 commit - - test-lint: only use only sed [-n] [-e command] [-f command_file] +* js/rebase-i-redo-exec-fix (2019-02-05) 1 commit + - Revert "rebase: introduce a shortcut for --reschedule-failed-exec" - The test lint learned to catch non-portable "sed" options. + For "rebase -i --reschedule-failed-exec", we do not want the "-y" + shortcut after all. - Will merge to 'next'. + Waiting for a clarification for the log message. + cf. -* tb/utf-16-le-with-explicit-bom (2019-01-22) 1 commit - - Support working-tree-encoding "UTF-16LE-BOM" - A new encoding UTF-16LE-BOM has been invented to force encoding to - UTF-16 with BOM in little endian byte order, which cannot be directly - generated by using iconv. +* ma/doc-diff-usage-fix (2019-02-04) 1 commit + (merged to 'next' on 2019-02-05 at 18f3f4bc59) + + doc-diff: don't `cd_to_toplevel` - Hold. - cf. <20190129072228.dcyyjpcgqk7c44j4@tb-raspi4> + Running "Documentation/doc-diff x" from anywhere other than the + top-level of the working tree did not show the usage string + correctly, which has been fixed. + Will merge to 'master'. -* ja/doc-style-fix (2019-01-23) 1 commit - (merged to 'next' on 2019-01-29 at 5b520a6fd3) - + doc: tidy asciidoc style - Doc typo/stylo fixes. +* nd/commit-doc (2019-02-04) 1 commit + (merged to 'next' on 2019-02-05 at 07b341767e) + + git-commit.txt: better description what it does + + Doc update. Will merge to 'master'. -* az/instaweb-py3-http-server (2019-01-28) 1 commit - (merged to 'next' on 2019-01-29 at 82f06b6774) - + git-instaweb: add Python builtin http.server support +* nd/help-align-command-desc (2019-01-31) 1 commit + (merged to 'next' on 2019-02-05 at 8339c1a46e) + + help: align the longest command in the command listing - "git instaweb" learned to drive http.server that comes with - "batteries included" Python installation (both Python2 & 3). + Output from "git help" was not correctly aligned, which has been + fixed. Will merge to 'master'. -* jh/trace2 (2019-01-28) 14 commits - - trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh - - trace2:data: add subverb for rebase - - trace2:data: add subverb to reset command - - trace2:data: add subverb to checkout command - - pack-objects: add trace2 regions - - trace2:data: add trace2 instrumentation to index read/write - - trace2:data: add trace2 hook classification - - trace2:data: add trace2 transport child classification - - trace2:data: add trace2 sub-process classification - - trace2:data: add editor/pager child classification - - trace2:data: add trace2 regions to wt-status - - trace2: collect platform-specific process information - - trace2: create new combined trace facility - - trace2: Documentation/technical/api-trace2.txt +* rj/sparse-flags (2019-02-05) 2 commits + (merged to 'next' on 2019-02-05 at 7c9a7b7ee9) + + Makefile: improve SPARSE_FLAGS customisation + + config.mak.uname: remove obsolete SPARSE_FLAGS setting - A more structured way to obtain execution trace has been added. + Use of the sparse tool got easier to customize from the command + line to help developers. - Ready? + Will merge to 'master'. -* jk/diff-cc-stat-fixes (2019-01-24) 6 commits - (merged to 'next' on 2019-01-29 at 8bd04f1749) - + combine-diff: treat --dirstat like --stat - + combine-diff: treat --summary like --stat - + combine-diff: treat --shortstat like --stat - + combine-diff: factor out stat-format mask - + diff: clear emitted_symbols flag after use - + t4006: resurrect commented-out tests +* sg/travis-osx-brew-breakage-workaround (2019-02-04) 1 commit + (merged to 'next' on 2019-02-05 at 6a1d957040) + + travis-ci: make the OSX build jobs' 'brew update' more quiet - "git diff --color-moved --cc --stat -p" did not work well due to - funny interaction between a bug in color-moved and the rest, which - has been fixed. + The way the OSX build jobs updates its build environment used the + "--quiet" option to "brew update" command, but it wasn't all that + quiet to be useful. The use of the option has been replaced with + an explicit redirection to the /dev/null (which incidentally would + have worked around a breakage by recent updates to homebrew, which + has fixed itself already). Will merge to 'master'. -* jk/unused-parameter-cleanup (2019-01-24) 8 commits - - convert: drop path parameter from actual conversion functions - - convert: drop len parameter from conversion checks - - config: drop unused parameter from maybe_remove_section() - - show_date_relative(): drop unused "tz" parameter - - column: drop unused "opts" parameter in item_length() - - create_bundle(): drop unused "header" parameter - - apply: drop unused "def" parameter from find_name_gnu() - - match-trees: drop unused path parameter from score functions - - Code cleanup. - - Will merge to 'next'. +* sh/submodule-summary-abbrev-fix (2019-02-04) 1 commit + (merged to 'next' on 2019-02-05 at b45b39c30b) + + git-submodule.sh: shorten submodule SHA-1s using rev-parse + The "git submodule summary" subcommand showed shortened commit + object names by mechanically truncating them at 7-hexdigit, which + has been improved to let "rev-parse --short" scale the length of + the abbreviation with the size of the repository. -* nd/fetch-compact-update (2019-01-27) 1 commit - (merged to 'next' on 2019-01-29 at b78e8841b0) - + fetch: prefer suffix substitution in compact fetch.output + Will merge to 'master'. - "git fetch" output cleanup. + +* sl/const (2019-02-04) 1 commit + (merged to 'next' on 2019-02-05 at a085045a37) + + various: tighten constness of some local variables + + Code cleanup. Will merge to 'master'. -* sg/object-as-type-commit-graph-fix (2019-01-27) 1 commit - (merged to 'next' on 2019-01-29 at cc714a044a) - + object_as_type: initialize commit-graph-related fields of 'struct commit' +* ss/describe-dirty-in-the-right-directory (2019-02-04) 2 commits + (merged to 'next' on 2019-02-05 at e4a3303e12) + + t6120: test for describe with a bare repository + + describe: setup working tree for --dirty - The commit-graph facility did not work when in-core objects that - are promoted from unknown type to commit (e.g. a commit that is - accessed via a tag that refers to it) were involved, which has been + "git --work-tree=$there --git-dir=$here describe --dirty" did not + work correctly as it did not pay attention to the location of the + worktree specified by the user by mistake, which has been corrected. Will merge to 'master'. +-------------------------------------------------- +[Cooking] -* sg/strbuf-addbuf-cocci (2019-01-27) 1 commit - (merged to 'next' on 2019-01-29 at a9f7279d38) - + strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other +* km/init-doc-typofix (2019-01-31) 1 commit + (merged to 'next' on 2019-02-05 at ee90a62a1c) + + init docs: correct a punctuation typo - Cocci rule update. + Docfix. Will merge to 'master'. -* sx/evolve (2019-01-27) 8 commits - . evolve: add the 'git change list' command - . evolve: implement the 'git change' command - . evolve: add support for writing metacommits - . evolve: add the change-table structure - . evolve: add support for parsing metacommits - . ref-filter: add the metas namespace to ref-filter - . sha1-array: implement oid_array_readonly_contains() - . technical doc: add a design doc for the evolve command +* ds/commit-graph-format-v2 (2019-01-29) 8 commits + - SQUASH : misnamed variables and style fix + - commit-graph: test verifying a corrupt v2 header + - commit-graph: implement file format version 2 + - commit-graph: add --version= option + - commit-graph: create new version flags + - commit-graph: collapse parameters into flags + - commit-graph: return with errors during write + - Merge branch 'bc/sha-256' into ds/commit-graph-format-v2 - The beginning of "hg evolve" mimicry. + Introduce version 2 of the commit-graph format to correct + deficiency in the initial version. -* jk/autocrlf-overrides-eol-doc (2019-01-29) 2 commits - - docs/config: clarify "text property" in core.eol - - doc/gitattributes: clarify "autocrlf overrides eol" +* ds/coverage-prove (2019-01-29) 1 commit + - Makefile: add coverage-prove target - Documentation around core.crlf has been updated. + A new target "coverage-prove" to run the coverage test under + "prove" has been added. Will merge to 'next'. -* pw/no-editor-in-rebase-i-implicit (2019-01-28) 1 commit - (merged to 'next' on 2019-01-29 at 9d06993725) - + implicit interactive rebase: don't run sequence editor +* br/commit-tree-fully-spelled-gpg-sign-option (2019-01-22) 2 commits + (merged to 'next' on 2019-02-05 at a0a1e30471) + + commit-tree: add missing --gpg-sign flag + + t7510: invoke git as part of &&-chain - When GIT_SEQUENCE_EDITOR is set, the command was incorrectly - started when modes of "git rebase" that implicitly uses the - machinery for the interactive rebase are run, which has been - corrected. + The documentation of "git commit-tree" said that the command + understands "--gpg-sign" in addition to "-S", but the command line + parser did not know about the longhand, which has been corrected. Will merge to 'master'. -* pw/rebase-x-sanity-check (2019-01-29) 1 commit - - rebase -x: sanity check command +* dt/cat-file-batch-ambiguous (2019-01-31) 2 commits + (merged to 'next' on 2019-02-05 at 121d162945) + + t1512: test ambiguous cat-file --batch and --batch-output + + Do not print 'dangling' for cat-file in case of ambiguity - "git rebase -x $cmd" did not reject multi-line command, even though - the command is incapable of handling such a command. It now is - rejected upfront. + "git cat-file --batch" reported a dangling symbolic link by + mistake, when it wanted to report that a given name is ambiguous. - Will merge to 'next'. + Will merge to 'master'. -* ab/commit-graph-write-optim (2019-01-22) 1 commit - (merged to 'next' on 2019-01-29 at 17c894dfec) - + commit-graph write: use pack order when finding commits - (this branch is used by ab/commit-graph-write-progress and ds/commit-graph-format-v2.) +* sb/submodule-abort-update-upon-config-failure (2019-01-18) 1 commit + (merged to 'next' on 2019-02-05 at 85da48a9a5) + + git-submodule: abort if core.worktree could not be set correctly - The codepath to write out commit-graph has been optimized by - following the usual pattern of visiting objects in in-pack order. + "git submodule update" learned to abort early when core.worktree + for the submodule is not set correctly to prevent spreading damage. Will merge to 'master'. -* ab/commit-graph-write-progress (2019-01-23) 9 commits - (merged to 'next' on 2019-01-29 at e086b1cba6) - + commit-graph write: emit a percentage for all progress - + commit-graph write: add itermediate progress - + commit-graph write: remove empty line for readability - + commit-graph write: add more descriptive progress output - + commit-graph write: show progress for object search - + commit-graph write: more descriptive "writing out" output - + commit-graph write: add "Writing out" progress output - + commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily - + commit-graph: rename "large edges" to "extra edges" - (this branch is used by ds/commit-graph-format-v2; uses ab/commit-graph-write-optim.) +* tb/test-lint-sed-options (2019-01-28) 1 commit + (merged to 'next' on 2019-02-05 at dec383d823) + + test-lint: only use only sed [-n] [-e command] [-f command_file] - The codepath to show progress meter while writing out commit-graph - file has been improved. + The test lint learned to catch non-portable "sed" options. Will merge to 'master'. -* cc/test-ref-store-typofix (2019-01-17) 1 commit - (merged to 'next' on 2019-01-29 at 0cd264f864) - + helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo +* tb/utf-16-le-with-explicit-bom (2019-01-31) 1 commit + (merged to 'next' on 2019-02-05 at 43ac83e06e) + + Support working-tree-encoding "UTF-16LE-BOM" - An obvious typo in an assertion error message has been fixed. + A new encoding UTF-16LE-BOM has been invented to force encoding to + UTF-16 with BOM in little endian byte order, which cannot be directly + generated by using iconv. Will merge to 'master'. -* jk/add-ignore-errors-bit-assignment-fix (2019-01-17) 1 commit - (merged to 'next' on 2019-01-29 at a4ac7ccd4f) - + add: use separate ADD_CACHE_RENORMALIZE flag +* jh/trace2 (2019-02-01) 15 commits + - trace2: add for_each macros to clang-format + - trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh + - trace2:data: add subverb for rebase + - trace2:data: add subverb to reset command + - trace2:data: add subverb to checkout command + - trace2:data: pack-objects: add trace2 regions + - trace2:data: add trace2 instrumentation to index read/write + - trace2:data: add trace2 hook classification + - trace2:data: add trace2 transport child classification + - trace2:data: add trace2 sub-process classification + - trace2:data: add editor/pager child classification + - trace2:data: add trace2 regions to wt-status + - trace2: collect Windows-specific process information + - trace2: create new combined trace facility + - trace2: Documentation/technical/api-trace2.txt - "git add --ignore-errors" did not work as advertised and instead - worked as an unintended synonym for "git add --renormalize", which - has been fixed. + A more structured way to obtain execution trace has been added. - Will merge to 'master'. + Still needs some fix-ups. + cf. -* js/mingw-unc-path-w-backslashes (2019-01-18) 2 commits - (merged to 'next' on 2019-01-29 at 3adc177c1e) - + mingw: special-case arguments to `sh` - + mingw (t5580): document bug when cloning from backslashed UNC paths +* jk/unused-parameter-cleanup (2019-01-24) 8 commits + (merged to 'next' on 2019-02-05 at 213400362c) + + convert: drop path parameter from actual conversion functions + + convert: drop len parameter from conversion checks + + config: drop unused parameter from maybe_remove_section() + + show_date_relative(): drop unused "tz" parameter + + column: drop unused "opts" parameter in item_length() + + create_bundle(): drop unused "header" parameter + + apply: drop unused "def" parameter from find_name_gnu() + + match-trees: drop unused path parameter from score functions - In Git for Windows, "git clone \\server\share\path" etc. that uses - UNC paths from command line had bad interaction with its shell - emulation. + Code cleanup. Will merge to 'master'. -* js/t6042-timing-fix (2019-01-17) 1 commit - (merged to 'next' on 2019-01-29 at 9543c96249) - + t6042: work around speed optimization on Windows - - Test update. +* sx/evolve (2019-01-27) 8 commits + . evolve: add the 'git change list' command + . evolve: implement the 'git change' command + . evolve: add support for writing metacommits + . evolve: add the change-table structure + . evolve: add support for parsing metacommits + . ref-filter: add the metas namespace to ref-filter + . sha1-array: implement oid_array_readonly_contains() + . technical doc: add a design doc for the evolve command - Will merge to 'master'. + The beginning of "hg evolve" mimicry. -* jt/namespaced-ls-refs-fix (2019-01-18) 1 commit - (merged to 'next' on 2019-01-29 at 049530f499) - + ls-refs: filter refs using namespace-stripped name +* jk/autocrlf-overrides-eol-doc (2019-01-29) 2 commits + (merged to 'next' on 2019-02-05 at 2b372ed6e9) + + docs/config: clarify "text property" in core.eol + + doc/gitattributes: clarify "autocrlf overrides eol" - Fix namespace support in protocol v2. + Documentation around core.crlf has been updated. Will merge to 'master'. -* bp/checkout-new-branch-optim (2019-01-23) 2 commits - (merged to 'next' on 2019-01-29 at 89d690634d) - + checkout: fix regression in checkout -b on intitial checkout - + checkout: add test demonstrating regression with checkout -b on initial commit +* pw/rebase-x-sanity-check (2019-01-29) 1 commit + (merged to 'next' on 2019-02-05 at 9f087a617a) + + rebase -x: sanity check command - "git checkout -b [HEAD]" to create a new branch from the - current commit and check it out ought to be a no-op in the index - and the working tree in normal cases, but there are corner cases - that do require updates to the index and the working tree. Running - it immediately after "git clone --no-checkout" is one of these - cases that an earlier optimization kicked in incorrectly, which has - been fixed. + "git rebase -x $cmd" did not reject multi-line command, even though + the command is incapable of handling such a command. It now is + rejected upfront. Will merge to 'master'. @@ -634,54 +623,43 @@ of the repositories listed at Is this ready for 'next'? -* js/abspath-part-inside-repo (2019-01-18) 1 commit - (merged to 'next' on 2019-01-29 at ac642158ec) - + abspath_part_inside_repo: respect core.ignoreCase - - On a case-insensitive filesystem, we failed to compare the part of - the path that is above the worktree directory in an absolute - pathname, which has been corrected. - - Will merge to 'master'. - - * nd/diff-parseopt (2019-01-27) 14 commits - - diff.c: convert --raw - - diff.c: convert -W|--[no-]function-context - - diff.c: convert -U|--unified - - diff.c: convert -u|-p|--patch - - diff.c: prepare to use parse_options() for parsing - - diff.h: avoid bit fields in struct diff_flags - - diff.h: keep forward struct declarations sorted - - parse-options: allow ll_callback with OPTION_CALLBACK - - parse-options: avoid magic return codes - - parse-options: stop abusing 'callback' for lowlevel callbacks - - parse-options: add OPT_BITOP() - - parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN - - parse-options: add one-shot mode - - parse-options.h: remove extern on function prototypes + (merged to 'next' on 2019-02-05 at 7c4b79aa79) + + diff.c: convert --raw + + diff.c: convert -W|--[no-]function-context + + diff.c: convert -U|--unified + + diff.c: convert -u|-p|--patch + + diff.c: prepare to use parse_options() for parsing + + diff.h: avoid bit fields in struct diff_flags + + diff.h: keep forward struct declarations sorted + + parse-options: allow ll_callback with OPTION_CALLBACK + + parse-options: avoid magic return codes + + parse-options: stop abusing 'callback' for lowlevel callbacks + + parse-options: add OPT_BITOP() + + parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN + + parse-options: add one-shot mode + + parse-options.h: remove extern on function prototypes The diff machinery, one of the oldest parts of the system, which long predates the parse-options API, uses fairly long and complex handcrafted option parser. This is being rewritten to use the parse-options API. - Will merge to 'next'. + Will cook in 'next', waiting for the remainder. Looking good. -* sc/pack-redundant (2019-01-14) 5 commits +* sc/pack-redundant (2019-02-04) 6 commits - pack-redundant: consistent sort method - pack-redundant: rename pack_list.all_objects - - pack-redundant: remove unused functions - pack-redundant: new algorithm to find min packs + - pack-redundant: delete redundant code + - pack-redundant: delay creation of unique_objects - t5323: test cases for git-pack-redundant Update the implementation of pack-redundant for performance in a repository with many packfiles. - Comments? - * nd/config-move-to (2019-01-14) 7 commits - config.h: fix hdr-check warnings @@ -696,50 +674,15 @@ of the repositories listed at * sg/travis-specific-cc (2019-01-17) 4 commits - - travis-ci: build with the right compiler - - travis-ci: switch to Xcode 10.1 macOS image - - travis-ci: don't be '--quiet' when running the tests - - .gitignore: ignore external debug symbols from GCC on macOS + (merged to 'next' on 2019-02-05 at 3ecb3b6755) + + travis-ci: build with the right compiler + + travis-ci: switch to Xcode 10.1 macOS image + + travis-ci: don't be '--quiet' when running the tests + + .gitignore: ignore external debug symbols from GCC on macOS The travis CI scripts have been corrected to build Git with the compiler(s) of our choice. - Will merge to 'next'. - - -* sg/obstack-cast-function-type-fix (2019-01-17) 1 commit - (merged to 'next' on 2019-01-29 at 568cafa7f4) - + compat/obstack: fix -Wcast-function-type warnings - - The compat/obstack code had casts that -Wcast-function-type - compilation option found questionable. - - Will merge to 'master'. - - -* jt/fetch-v2-sideband (2019-01-17) 5 commits - (merged to 'next' on 2019-01-29 at c8c6f11f77) - + tests: define GIT_TEST_SIDEBAND_ALL - + {fetch,upload}-pack: sideband v2 fetch response - + sideband: reverse its dependency on pkt-line - + pkt-line: introduce struct packet_writer - + Merge branch 'ms/packet-err-check' into jt/fetch-v2-sideband - (this branch uses ms/packet-err-check.) - - "git fetch" and "git upload-pack" learned to send all exchange over - the sideband channel while talking the v2 protocol. - - Will merge to 'master'. - - -* ld/git-p4-shelve-update-fix (2019-01-18) 2 commits - (merged to 'next' on 2019-01-29 at 02e8752ec8) - + git-p4: handle update of moved/copied files when updating a shelve - + git-p4: add failing test for shelved CL update involving move/copy - - "git p4" failed to update a shelved change when there were moved - files, which has been corrected. - Will merge to 'master'. @@ -754,99 +697,88 @@ of the repositories listed at * nd/the-index-final (2019-01-24) 11 commits - - cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch - - read-cache.c: remove the_* from index_has_changes() - - merge-recursive.c: remove implicit dependency on the_repository - - merge-recursive.c: remove implicit dependency on the_index - - sha1-name.c: remove implicit dependency on the_index - - read-cache.c: replace update_index_if_able with repo_& - - read-cache.c: kill read_index() - - checkout: avoid the_index when possible - - repository.c: replace hold_locked_index() with repo_hold_locked_index() - - notes-utils.c: remove the_repository references - - grep: use grep_opt->repo instead of explict repo argument + (merged to 'next' on 2019-02-05 at 71b37c09a8) + + cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch + + read-cache.c: remove the_* from index_has_changes() + + merge-recursive.c: remove implicit dependency on the_repository + + merge-recursive.c: remove implicit dependency on the_index + + sha1-name.c: remove implicit dependency on the_index + + read-cache.c: replace update_index_if_able with repo_& + + read-cache.c: kill read_index() + + checkout: avoid the_index when possible + + repository.c: replace hold_locked_index() with repo_hold_locked_index() + + notes-utils.c: remove the_repository references + + grep: use grep_opt->repo instead of explict repo argument The assumption to work on the single "in-core index" instance has been reduced from the library-ish part of the codebase. - Will merge to 'next'. + Will merge to 'master'. -* jp/author-committer-config (2019-01-02) 2 commits - - DONTMERGE - - Add author and committer configuration settings +* wh/author-committer-ident-config (2019-02-04) 1 commit + - config: allow giving separate author and committer idents Four new configuration variables {author,committer}.{name,email} have been introduced to override user.{name,email} in more specific cases. - Expecting a reroll. - cf. - cf. <20190128233022.GA29068@whubbs1.gaikai.biz> - * js/rebase-am (2019-01-18) 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 + (merged to 'next' on 2019-02-05 at cb92db8ecf) + + 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. - Will merge to 'next'. - - -* 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 - (this branch is used by jt/fetch-v2-sideband.) - - Error checking of data sent over the pack-protocol has been - revamped so that error packets are always diagnosed properly. - - Will merge to 'next'. + Will merge to 'master'. * 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 + (merged to 'next' on 2019-02-05 at 1e5e00d24e) + + 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. - Will merge to 'next'. + Will merge to 'master'. * jk/loose-object-cache-oid (2019-01-08) 11 commits - - prefer "hash mismatch" to "sha1 mismatch" - - sha1-file: avoid "sha1 file" for generic use in messages - - sha1-file: prefer "loose object file" to "sha1 file" in messages - - sha1-file: drop has_sha1_file() - - convert has_sha1_file() callers to has_object_file() - - sha1-file: convert pass-through functions to object_id - - 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 + (merged to 'next' on 2019-02-05 at 5cbc954aa5) + + prefer "hash mismatch" to "sha1 mismatch" + + sha1-file: avoid "sha1 file" for generic use in messages + + sha1-file: prefer "loose object file" to "sha1 file" in messages + + sha1-file: drop has_sha1_file() + + convert has_sha1_file() callers to has_object_file() + + sha1-file: convert pass-through functions to object_id + + 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 Code clean-up. - Will merge to 'next'. + Will merge to 'master'. * lt/date-human (2019-01-29) 5 commits - - Add `human` date format tests. - - Add `human` format to test-tool - - Add 'human' date format documentation - - Replace the proposed 'auto' mode with 'auto:' - - Add 'human' date format + (merged to 'next' on 2019-02-05 at f2850c9fc0) + + Add `human` date format tests. + + Add `human` format to test-tool + + Add 'human' date format documentation + + Replace the proposed 'auto' mode with 'auto:' + + 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. @@ -854,7 +786,7 @@ of the repositories listed at going to the pager or to the terminal and otherwise the default format. - Will merge to 'next'. + Will merge to 'master'. * ds/midx-expire-repack (2019-01-27) 10 commits @@ -877,20 +809,23 @@ of the repositories listed at * ds/push-sparse-tree-walk (2019-01-17) 5 commits - - pack-objects: create GIT_TEST_PACK_SPARSE - - pack-objects: create pack.useSparse setting - - revision: implement sparse algorithm - - list-objects: consume sparse tree walk - - revision: add mark_tree_uninteresting_sparse + (merged to 'next' on 2019-02-05 at 9fd04c84d6) + + pack-objects: create GIT_TEST_PACK_SPARSE + + pack-objects: create pack.useSparse setting + + revision: implement sparse algorithm + + list-objects: consume sparse tree walk + + revision: add mark_tree_uninteresting_sparse "git pack-objects" learned another algorithm to compute the set of objects to send, that trades the resulting packfile off to save traversal cost to favor small pushes. - Will merge to 'next'. + Will merge to 'master'. -* tg/checkout-no-overlay (2019-01-08) 8 commits +* tg/checkout-no-overlay (2019-02-04) 9 commits + (merged to 'next' on 2019-02-04 at 9968bcf4fb) + + revert "checkout: introduce checkout.overlayMode config" (merged to 'next' on 2019-01-18 at 1e2a79ba5c) + checkout: introduce checkout.overlayMode config + checkout: introduce --{,no-}overlay option @@ -906,23 +841,12 @@ of the repositories listed at match the pathspec that are in the current index and working tree and are not in the tree-ish. - Will merge to 'master'. - - -* js/commit-graph-chunk-table-fix (2019-01-15) 3 commits - (merged to 'next' on 2019-01-29 at 65ea01d4f2) - + Makefile: correct example fuzz build - + commit-graph: fix buffer read-overflow - + commit-graph, fuzz: add fuzzer for commit-graph - - The codepath to read from the commit-graph file attempted to read - past the end of it when the file's table-of-contents was corrupt. - - Will merge to 'master'. + Will hold. + Waiting for "restore-files" & "switch-branches" pair. + cf. <20190205204208.GC6085@hank.intra.tgummerer.com> -* dl/merge-cleanup-scissors-fix (2019-01-27) 5 commits - - init docs: correct a punctuation typo +* dl/merge-cleanup-scissors-fix (2019-01-27) 4 commits - merge: add scissors line on merge conflict - merge: cleanup messages like commit - t7600: clean up 'merge --squash c3 with c7' test @@ -934,7 +858,7 @@ of the repositories listed at out just like the list of updated paths and other information to help the user explain the merge better. - Comments? + Will merge to 'next'. * aw/pretty-trailers (2019-01-29) 7 commits @@ -964,19 +888,20 @@ of the repositories listed at * 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 + (merged to 'next' on 2019-02-05 at 88823d7c86) + + 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". - Will merge to 'next'. + Will merge to 'master'. * dl/remote-save-to-push (2018-12-11) 1 commit @@ -1008,10 +933,11 @@ of the repositories listed at Some errors from the other side coming over smart HTTP transport were not noticed, which has been corrected. - Will merge to 'next'. + This needs to be rebased on top of a more recent 'master' that has + ms/packet-err-check. -* nb/branch-show-other-worktrees-head (2019-01-23) 3 commits +* nb/branch-show-other-worktrees-head (2019-02-01) 3 commits - branch: add an extra verbose output displaying worktree path for refs checked out in a linked worktree - branch: mark and color a branch differently if it is checked out in a linked worktree - ref-filter: add worktreepath atom @@ -1021,35 +947,36 @@ of the repositories listed at '+', similar to the way the currently checked out branch is shown with '*' in front. - The second one is of dubious value. Needs sign-off. + The second one is of dubious value. * js/vsts-ci (2019-01-29) 21 commits - - ci: parallelize testing on Windows - - ci: speed up Windows phase - - tests: optionally skip bin-wrappers/ - - t0061: workaround issues with --with-dashes and RUNTIME_PREFIX - - tests: add t/helper/ to the PATH with --with-dashes - - mingw: try to work around issues with the test cleanup - - tests: include detailed trace logs with --write-junit-xml upon failure - - tests: avoid calling Perl just to determine file sizes - - README: add a build badge (status of the Azure Pipelines build) - - mingw: be more generous when wrapping up the setitimer() emulation - - ci: use git-sdk-64-minimal build artifact - - ci: add a Windows job to the Azure Pipelines definition - - Add a build definition for Azure DevOps - - ci/lib.sh: add support for Azure Pipelines - - tests: optionally write results as JUnit-style .xml - - test-date: add a subcommand to measure times in shell scripts - - ci: use a junction on Windows instead of a symlink - - ci: inherit --jobs via MAKEFLAGS in run-build-and-tests - - ci/lib.sh: encapsulate Travis-specific things - - ci: rename the library of common functions - - travis: fix skipping tagged releases + (merged to 'next' on 2019-02-05 at 7297a734c7) + + ci: parallelize testing on Windows + + ci: speed up Windows phase + + tests: optionally skip bin-wrappers/ + + t0061: workaround issues with --with-dashes and RUNTIME_PREFIX + + tests: add t/helper/ to the PATH with --with-dashes + + mingw: try to work around issues with the test cleanup + + tests: include detailed trace logs with --write-junit-xml upon failure + + tests: avoid calling Perl just to determine file sizes + + README: add a build badge (status of the Azure Pipelines build) + + mingw: be more generous when wrapping up the setitimer() emulation + + ci: use git-sdk-64-minimal build artifact + + ci: add a Windows job to the Azure Pipelines definition + + Add a build definition for Azure DevOps + + ci/lib.sh: add support for Azure Pipelines + + tests: optionally write results as JUnit-style .xml + + test-date: add a subcommand to measure times in shell scripts + + ci: use a junction on Windows instead of a symlink + + ci: inherit --jobs via MAKEFLAGS in run-build-and-tests + + ci/lib.sh: encapsulate Travis-specific things + + ci: rename the library of common functions + + travis: fix skipping tagged releases Prepare to run test suite on Azure Pipeline. - Will merge to 'next'. + Will merge to 'master'. * du/branch-show-current (2018-10-26) 1 commit @@ -1093,7 +1020,8 @@ of the repositories listed at around in-core to avoid rewriting the same file over and over unnecessarily. - Comments? + Still being worked on. + cf. * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit @@ -1106,7 +1034,8 @@ of the repositories listed at cf. -* ps/stash-in-c (2019-01-18) 28 commits +* ps/stash-in-c (2019-02-04) 29 commits + - strbuf_vinsertf: provide the correct buffer size to vsnprintf - stash: fix segmentation fault when files were added with intent - tests: add a special setup where stash.useBuiltin is off - stash: optionally use the scripted version again @@ -1138,7 +1067,11 @@ of the repositories listed at "git stash" rewritten in C. - Will merge to 'next'. + On hold, waiting for a response + cf. + I personally do not mind "oops, this was wrong and I am too lazy to + redo the history to clean it up" too much, but waiting briefly to + give the final chance to do so. * pw/add-p-select (2018-07-26) 4 commits