diff --git a/whats-cooking.txt b/whats-cooking.txt index f3ac90e8b1..7e93d631e5 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 (Feb 2018, #03; Wed, 21) -X-master-at: e3a80781f5932f5fea12a49eb06f3ade4ed8945c -X-next-at: 2e18187dfdb805eb42926ca430828b89b45f5da7 +Subject: What's cooking in git.git (Mar 2018, #01; Thu, 1) +X-master-at: 7e31236f652ad9db221511eaf157ce0ef55585d6 +X-next-at: cb683e0bf615cfbbe729b561a6ca9484c4bf4596 -What's cooking in git.git (Feb 2018, #03; Wed, 21) +What's cooking in git.git (Mar 2018, #01; Thu, 1) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -20,201 +20,91 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ab/sha1dc-build (2017-12-08) 3 commits - (merged to 'next' on 2018-02-08 at ba9ff2b836) - + sha1dc_git.h: re-arrange an ifdef chain for a subsequent change - + Makefile: under "make dist", include the sha1collisiondetection submodule - + Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto +* ab/untracked-cache-invalidation-docs (2018-02-09) 2 commits + (merged to 'next' on 2018-02-14 at 11d2d07c4a) + + update-index doc: note the caveat with "could not open..." + + update-index doc: note a fixed bug in the untracked cache + (this branch uses nd/fix-untracked-cache-invalidation.) - Push the submodule version of collision-detecting SHA-1 hash - implementation a bit harder on builders. + Doc update to warn against remaining bugs in untracked cache. -* ab/wildmatch-tests (2018-01-30) 10 commits - (merged to 'next' on 2018-02-08 at f999a3d732) - + wildmatch test: mark test as EXPENSIVE_ON_WINDOWS - + test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite - + wildmatch test: create & test files on disk in addition to in-memory - + wildmatch test: perform all tests under all wildmatch() modes - + wildmatch test: use test_must_fail, not ! for test-wildmatch - + wildmatch test: remove dead fnmatch() test code - + wildmatch test: use a paranoia pattern from nul_match() - + wildmatch test: don't try to vertically align our output - + wildmatch test: use more standard shell style - + wildmatch test: indent with tabs, not spaces +* as/ll-i18n (2018-02-13) 1 commit + (merged to 'next' on 2018-02-14 at b30154a04c) + + Mark messages for translations - More tests for wildmatch functions. + Some messages in low level start-up codepath have been i18n-ized. -* bc/hash-algo (2018-02-09) 13 commits - (merged to 'next' on 2018-02-09 at 4437f3f132) - + hash: update obsolete reference to SHA1_HEADER - (merged to 'next' on 2018-02-08 at 18f36d12ed) - + bulk-checkin: abstract SHA-1 usage - + csum-file: abstract uses of SHA-1 - + csum-file: rename sha1file to hashfile - + read-cache: abstract away uses of SHA-1 - + pack-write: switch various SHA-1 values to abstract forms - + pack-check: convert various uses of SHA-1 to abstract forms - + fast-import: switch various uses of SHA-1 to the_hash_algo - + sha1_file: switch uses of SHA-1 to the_hash_algo - + builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo - + builtin/index-pack: improve hash function abstraction - + hash: create union for hash context allocation - + hash: move SHA-1 macros to hash.h +* bc/doc-interpret-trailers-grammofix (2018-02-13) 1 commit + (merged to 'next' on 2018-02-14 at 940e6dc7a5) + + docs/interpret-trailers: fix agreement error - More abstraction of hash function from the codepath. + Docfix. -* cc/perf-aggregate (2018-02-02) 3 commits - (merged to 'next' on 2018-02-08 at d8f074e6fb) - + perf/aggregate: sort JSON fields in output - + perf/aggregate: add --reponame option - + perf/aggregate: add --subsection option - - "make perf" enhancement. - - -* en/merge-recursive-fixes (2018-01-19) 3 commits - (merged to 'next' on 2018-02-08 at c254292070) - + merge-recursive: add explanation for src_entry and dst_entry - + merge-recursive: fix logic ordering issue - + Tighten and correct a few testcases for merging and cherry-picking - (this branch is used by en/rename-directory-detection.) - - -* gs/rebase-allow-empty-message (2018-02-07) 1 commit - (merged to 'next' on 2018-02-08 at 9d81a2496c) - + rebase: add --allow-empty-message option - - "git rebase" learned to take "--allow-empty-message" option. - - -* jc/worktree-add-short-help (2018-01-17) 1 commit - (merged to 'next' on 2018-02-08 at 9f59ca72ab) - + worktree: say that "add" takes an arbitrary commit in short-help - - Error message fix. - - -* jt/fsck-code-cleanup (2018-01-23) 1 commit - (merged to 'next' on 2018-02-08 at 199ad41486) - + fsck: fix leak when traversing trees - - Plug recently introduced leaks in fsck. - - -* kg/packed-ref-cache-fix (2018-01-24) 6 commits - (merged to 'next' on 2018-02-08 at 370f06a565) - + packed_ref_cache: don't use mmap() for small files - + load_contents(): don't try to mmap an empty file - + packed_ref_iterator_begin(): make optimization more general - + find_reference_location(): make function safe for empty snapshots - + create_snapshot(): use `xmemdupz()` rather than a strbuf - + struct snapshot: store `start` rather than `header_len` - - Avoid mmapping small files while using packed refs (especially ones - with zero size, which would cause later munmap() to fail). - A change to a binsearch loop to work around picky complers was - unnecessarily hard to reason about, but it should do. - - -* lw/daemon-log-destination (2018-02-05) 1 commit - (merged to 'next' on 2018-02-08 at da91bd56f4) - + daemon: add --log-destination=(stderr|syslog|none) - - The log from "git daemon" can be redirected with a new option; one - relevant use case is to send the log to standard error (instead of - syslog) when running it from inetd. - - -* nd/format-patch-stat-width (2018-02-02) 2 commits - (merged to 'next' on 2018-02-08 at c03e8a084e) - + format-patch: reduce patch diffstat width to 72 - + format-patch: keep cover-letter diffstat wrapped in 72 columns - - "git format-patch" learned to give 72-cols to diffstat, which is - consistent with other line length limits the subcommand uses for - its output meant for e-mails. - - -* nd/ignore-glob-doc-update (2018-02-02) 1 commit - (merged to 'next' on 2018-02-08 at 22ba92e49b) - + gitignore.txt: elaborate shell glob syntax - - Doc update. - - -* nd/trace-index-ops (2018-02-02) 1 commit - (merged to 'next' on 2018-02-08 at 91e362b26a) - + trace: measure where the time is spent in the index-heavy operations - - -* po/object-id (2018-01-30) 12 commits - (merged to 'next' on 2018-02-08 at 701311e8ea) - + sha1_file: rename hash_sha1_file_literally - + sha1_file: convert write_loose_object to object_id - + sha1_file: convert force_object_loose to object_id - + sha1_file: convert write_sha1_file to object_id - + notes: convert write_notes_tree to object_id - + notes: convert combine_notes_* to object_id - + commit: convert commit_tree* to object_id - + match-trees: convert splice_tree to object_id - + cache: clear whole hash buffer with oidclr - + sha1_file: convert hash_sha1_file to object_id - + dir: convert struct sha1_stat to use object_id - + sha1_file: convert pretend_sha1_file to object_id - - Conversion from uchar[20] to struct object_id continues. - - -* rs/cocci-strbuf-addf-to-addstr (2018-02-02) 1 commit - (merged to 'next' on 2018-02-08 at 0016008a97) - + cocci: simplify check for trivial format strings - - -* sb/pull-rebase-submodule (2018-01-25) 1 commit - (merged to 'next' on 2018-02-08 at 38fa97f855) - + builtin/pull: respect verbosity settings in submodules - - "git pull --rebase" did not pass verbosity setting down when - recursing into a submodule. - - -* sg/test-i18ngrep (2018-02-08) 9 commits - (merged to 'next' on 2018-02-08 at e83eb33909) - + t: make 'test_i18ngrep' more informative on failure - + t: validate 'test_i18ngrep's parameters - + t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh' - + t5536: let 'test_i18ngrep' read the file without redirection - + t5510: consolidate 'grep' and 'test_i18ngrep' patterns - + t4001: don't run 'git status' upstream of a pipe - + t6022: don't run 'git merge' upstream of a pipe - + t5812: add 'test_i18ngrep's missing filename parameter - + t5541: add 'test_i18ngrep's missing filename parameter - - Test fixes. - - -* tg/reset-hard-show-head-with-pretty (2018-02-02) 1 commit - (merged to 'next' on 2018-02-08 at 596a4ec00d) - + reset --hard: make use of the pretty machinery - - The way "git reset --hard" reports the commit the updated HEAD - points at is made consistent with the way how the commit title is - generated by the other parts of the system. This matters when the - title is spread across physically multiple lines. - --------------------------------------------------- -[New Topics] - * bp/fsmonitor (2018-02-14) 1 commit (merged to 'next' on 2018-02-14 at 5c508858fb) + fsmonitor: update documentation to remove reference to invalid config settings Doc update for a recently added feature. - Will merge to 'master'. + +* bp/name-hash-dirname-fix (2018-02-08) 1 commit + (merged to 'next' on 2018-02-14 at 2f564fb4b3) + + name-hash: properly fold directory names in adjust_dirname_case() + + "git add" files in the same directory, but spelling the directory + path in different cases on case insensitive filesystem, corrupted + the name hash data structure and led to unexpected results. This + has been corrected. + + +* es/worktree-add-post-checkout-hook (2018-02-15) 1 commit + (merged to 'next' on 2018-02-21 at 6ef6a130bf) + + worktree: add: fix 'post-checkout' not knowing new worktree location + + "git worktree add" learned to run the post-checkout hook, just like + "git clone" runs it upon the initial checkout. + + +* gs/test-unset-xdg-cache-home (2018-02-16) 1 commit + (merged to 'next' on 2018-02-21 at 9aec46d404) + + test-lib.sh: unset XDG_CACHE_HOME + + Test update. + + +* jc/blame-missing-path (2018-02-07) 1 commit + (merged to 'next' on 2018-02-14 at 883d266e1e) + + blame: tighten command line parser + + "git blame HEAD COPYING" in a bare repository failed to run, while + "git blame HEAD -- COPYING" run just fine. This has been corrected. + + +* jk/doc-do-not-write-extern (2018-02-08) 1 commit + (merged to 'next' on 2018-02-14 at e55b5127de) + + CodingGuidelines: mention "static" and "extern" + + Devdoc update. + + +* jk/gettext-poison (2018-02-08) 2 commits + (merged to 'next' on 2018-02-14 at cca3719a59) + + git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME + + t0205: drop redundant test + + Test updates. + + +* jk/push-options-via-transport-fix (2018-02-20) 2 commits + (merged to 'next' on 2018-02-21 at a037cbfa2b) + + remote-curl: unquote incoming push-options + + t5545: factor out http repository setup + + "git push" over http transport did not unquote the push-options + correctly. * jk/sq-dequote-on-bogus-input (2018-02-14) 1 commit @@ -225,7 +115,12 @@ of the repositories listed at configuration files, etc.) did not diagnose bogus input correctly and produced bogus results instead. - Will merge to 'master'. + +* jk/t0002-simplify (2018-02-12) 1 commit + (merged to 'next' on 2018-02-14 at a7a24f5f29) + + t0002: simplify error checking + + Code cleanup. * jk/test-hashmap-updates (2018-02-14) 6 commits @@ -239,30 +134,58 @@ of the repositories listed at Code clean-up. - Will merge to 'master'. + +* js/fix-merge-arg-quoting-in-rebase-p (2018-02-08) 1 commit + (merged to 'next' on 2018-02-14 at 27ebf001a1) + + rebase -p: fix incorrect commit message when calling `git merge`. + + "git rebase -p" mangled log messages of a merge commit, which is + now fixed. + + +* js/packet-read-line-check-null (2018-02-08) 2 commits + (merged to 'next' on 2018-02-14 at 6ba237b284) + + always check for NULL return from packet_read_line() + + correct error messages for NULL packet_read_line() + + Some low level protocol codepath could crash when they get an + unexpected flush packet, which is now fixed. + + +* jt/binsearch-with-fanout (2018-02-15) 2 commits + (merged to 'next' on 2018-02-15 at 7648891022) + + packfile: refactor hash search with fanout table + + packfile: remove GIT_DEBUG_LOOKUP log statements + (this branch is used by ds/commit-graph.) + + Refactor the code to binary search starting from a fan-out table + (which is how the packfile is indexed with object names) into a + reusable helper. * nd/am-quit (2018-02-14) 1 commit (merged to 'next' on 2018-02-21 at 9a9cb40c2f) + am: support --quit - "git am" has learned "--quit" option, in addition to the existing + "git am" has learned the "--quit" option, in addition to the existing "--abort" option; having the pair mirrors a few other commands like "rebase" and "cherry-pick". - Will merge to 'master'. +* nd/fix-untracked-cache-invalidation (2018-02-07) 5 commits + (merged to 'next' on 2018-02-08 at 23bd5a5d2d) + + dir.c: ignore paths containing .git when invalidating untracked cache + + dir.c: stop ignoring opendir() error in open_cached_dir() + + dir.c: fix missing dir invalidation in untracked code + + dir.c: avoid stat() in valid_cached_dir() + + status: add a failing test showing a core.untrackedCache bug + (this branch is used by ab/untracked-cache-invalidation-docs.) -* nd/tilde-expand-opt-file-value (2018-02-14) 2 commits - - init-db: change --template type to OPTION_FILENAME - - parse-options: expand $HOME on filename options - - "git cmd --opt=~u/path/to/file" did not tilde-expand "~u" part to - the path to the home directory of user 'u' - - Will discard. - This may make the resulting whole more confusing, though. - cf. <87wozffavp.fsf@evledraar.gmail.com> + Some bugs around "untracked cache" feature have been fixed. + Seems to uncover bad untracked cache information a bit too loudly, + for which there is ab/untracked-cache-invalidation-docs topic. + cf. <87d11omi2o.fsf@evledraar.gmail.com> + They have to graduate together. * rd/typofix (2018-02-14) 2 commits @@ -272,52 +195,29 @@ of the repositories listed at Typofix. - Will merge to 'master'. + +* rj/sparse-updates (2018-02-12) 2 commits + (merged to 'next' on 2018-02-14 at 072df8ed5b) + + Makefile: suppress a sparse warning for pack-revindex.c + + config.mak.uname: remove SPARSE_FLAGS setting for cygwin + + Devtool update. -* jc/allow-ff-merging-kept-tags (2018-02-16) 1 commit - - merge: allow fast-forward when merging a tracked tag +* rs/check-ignore-multi (2018-02-12) 1 commit + (merged to 'next' on 2018-02-14 at 43cb0704af) + + check-ignore: fix mix of directories and other file types - Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when - the side branch being merged is a descendant of the current commit, - create a merge commit instead of fast-forwarding) when merging a - tag object. This was appropriate default for integrators who pull - signed tags from their downstream contributors, but caused an - unnecessary merges when used by downstream contributors who - habitually "catch up" their topic branches with tagged releases - from the upstream. Update "git merge" to default to --no-ff only - when merging a tag object that does *not* sit at its usual place in - refs/tags/ hierarchy, and allow fast-forwarding otherwise, to - mitigate the problem. - - Will merge to 'next'. + "git check-ignore" with multiple paths got confused when one is a + file and the other is a directory, which has been fixed. -* ab/perl-fixes (2018-02-15) 2 commits - - perl: move CPAN loader wrappers to another namespace - - perl: *.pm files should not have the executable bit +* sb/describe-blob (2018-02-12) 1 commit + (merged to 'next' on 2018-02-14 at 23e4c13944) + + describe: confirm that blobs actually exist - Only the first few of a series of several small patches. - - Expecting a reroll. - - -* ab/simplify-perl-makefile (2018-02-15) 1 commit - - Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets - - Hotfix for a topic already in 'master'. - - Will merge to 'next'. - - -* es/worktree-add-post-checkout-hook (2018-02-15) 1 commit - (merged to 'next' on 2018-02-21 at 6ef6a130bf) - + worktree: add: fix 'post-checkout' not knowing new worktree location - - "git worktree add" learned to run the post-checkout hook, just like - "git clone" runs it upon the initial checkout. - - Will merge to 'master'. + "git describe $garbage" stopped giving any errors when the garbage + happens to be a string with 40 hexadecimal letters. * sb/status-doc-fix (2018-02-15) 1 commit @@ -326,7 +226,20 @@ of the repositories listed at Docfix. - Will merge to 'master'. + +* sg/doc-test-must-fail-args (2018-02-12) 1 commit + (merged to 'next' on 2018-02-14 at 28662d145b) + + t: document 'test_must_fail ok=' + + Devdoc update. + + +* tg/worktree-create-tracking (2018-02-16) 2 commits + (merged to 'next' on 2018-02-21 at 3e00a10cd8) + + git-worktree.txt: fix indentation of example and text of 'add' command + + git-worktree.txt: fix missing ")" typo + + Hotfix for a recent topic. * tk/apply-dev-null-verify-name-fix (2018-02-15) 2 commits @@ -339,38 +252,6 @@ of the repositories listed at whitespace and garbage when parsing a patch, except for one, which made an otherwise valid patch (e.g. ones from subversion) rejected. - Will merge to 'master'. - - -* gs/test-unset-xdg-cache-home (2018-02-16) 1 commit - (merged to 'next' on 2018-02-21 at 9aec46d404) - + test-lib.sh: unset XDG_CACHE_HOME - - Test update. - - Will merge to 'master'. - - -* tg/worktree-create-tracking (2018-02-16) 2 commits - (merged to 'next' on 2018-02-21 at 3e00a10cd8) - + git-worktree.txt: fix indentation of example and text of 'add' command - + git-worktree.txt: fix missing ")" typo - - Hotfix for a recent topic. - - Will merge to 'master'. - - -* jk/push-options-via-transport-fix (2018-02-20) 2 commits - (merged to 'next' on 2018-02-21 at a037cbfa2b) - + remote-curl: unquote incoming push-options - + t5545: factor out http repository setup - - "git push" over http transport did not unquote the push-options - correctly. - - Will merge to 'master'. - * tz/do-not-clean-spec-file (2018-02-17) 1 commit (merged to 'next' on 2018-02-21 at c1336418a8) @@ -379,37 +260,289 @@ of the repositories listed at We no longer create any *.spec file, so "make clean" should not remove it. +-------------------------------------------------- +[New Topics] + +* jk/cached-commit-buffer (2018-02-22) 2 commits + (merged to 'next' on 2018-02-27 at af791d9a1e) + + revision: drop --show-all option + + commit: drop uses of get_cached_commit_buffer() + + Code clean-up. + Will merge to 'master'. -* bw/doc-submodule-recurse-config-with-clone (2018-02-21) 1 commit - - submodule: indicate that 'submodule.recurse' doesn't apply to clone +* jk/test-helper-v-output-fix (2018-02-22) 1 commit + (merged to 'next' on 2018-02-27 at c9109977e8) + + t: send verbose test-helper output to fd 4 - Doc update. + Test framework update. + + Will merge to 'master'. + + +* ld/p4-unshelve (2018-02-22) 1 commit + - git-p4: add unshelve command + + "git p4" learned to "unshelve" shelved commit from P4. Will merge to 'next'. -* ds/commit-graph (2018-02-20) 13 commits - - commit-graph: build graph from starting commits - - commit-graph: read only from specific pack-indexes - - commit: integrate commit graph with commit parsing - - commit-graph: close under reachability - - commit-graph: add core.commitGraph setting - - commit-graph: implement --delete-expired - - commit-graph: implement --set-latest - - commit-graph: implement git commit-graph read - - commit-graph: implement 'git-commit-graph write' - - commit-graph: implement write_commit_graph() - - commit-graph: create git-commit-graph builtin - - graph: add commit graph design document - - commit-graph: add format document - (this branch uses jt/binsearch-with-fanout.) +* ms/non-ascii-ticks (2018-02-22) 1 commit + (merged to 'next' on 2018-02-27 at 41159fc4f0) + + Documentation/gitsubmodules.txt: avoid non-ASCII apostrophes + + Doc markup fix. + + Will merge to 'master'. -* ot/ref-filter-cleanup (2018-02-21) 2 commits - - ref-filter: get rid of goto - - ref-filter: get rid of duplicate code +* rs/strbuf-read-file-or-whine (2018-02-22) 1 commit + (merged to 'next' on 2018-02-27 at 56017cb5e2) + + sequencer: factor out strbuf_read_file_or_whine() + + Code clean-up. + + Will merge to 'master'. + + +* jk/strbuf-read-file-close-error (2018-02-23) 1 commit + (merged to 'next' on 2018-02-27 at c5dfe33335) + + strbuf_read_file(): preserve errno across close() call + + Code clean-up. + + Will merge to 'master'. + + +* bw/perl-timegm-timelocal-fix (2018-02-23) 1 commit + (merged to 'next' on 2018-02-27 at 565a3141ce) + + perl: call timegm and timelocal with 4-digit year + + Y2k20 fix ;-) for our perl scripts. + + Will merge to 'master'. + + +* ps/contains-id-error-message (2018-02-23) 1 commit + (merged to 'next' on 2018-02-27 at 9623d6817b) + + ref-filter: make "--contains " less chatty if is invalid + + "git tag --contains no-such-commit" gave a full list of options + after giving an error message. + + Will merge to 'master'. + As a follow-up we may want to also handle "branch --points-at " + that shares the same problem. + + +* rv/grep-cleanup (2018-02-23) 2 commits + - grep: simplify grep_oid and grep_file + - grep: move grep_source_init outside critical section + + Threaded "git grep" has been optimized to avoid allocation in code + section that is covered under a mutex. + + Will merge to 'next'. + + +* sg/subtree-signed-commits (2018-02-23) 1 commit + - subtree: fix add and pull for GPG-signed commits + + "git subtree" script (in contrib/) scripted around "git log", whose + output got affected by end-user configuration like log.showsignature + + Will merge to 'next'. + + +* ds/find-unique-abbrev-optim (2018-02-27) 1 commit + - sha1_name: fix uninitialized memory errors + + While finding unique object name abbreviation, the code may + accidentally have read beyond the end of the array of object names + in a pack. + + Will merge to 'next'. + + +* ds/mark-parents-uninteresting-optim (2018-02-27) 1 commit + - revision.c: reduce object database queries + + Micro optimization in revision traversal code. + + Will merge to 'next'. + + +* jc/test-must-be-empty (2018-02-27) 1 commit + - test_must_be_empty: make sure the file exists, not just empty + + Test framework tweak to catch developer thinko. + + Will merge to 'next'. + + +* ma/roll-back-lockfiles (2018-02-28) 5 commits + - sequencer: do not roll back lockfile unnecessarily + - merge: always roll back lock in `checkout_fast_forward()` + - merge-recursive: always roll back lock in `merge_recursive_generic()` + - sequencer: always roll back lock in `do_recursive_merge()` + - sequencer: make lockfiles non-static + (this branch is used by ma/skip-writing-unchanged-index.) + + Some codepaths used to take a lockfile and did not roll it back; + they are automatically rolled back at program exit, so there is no + real "breakage", but it still is a good practice to roll back when + you are done with a lockfile. + + Will merge to 'next'. + + +* mk/doc-pretty-fill (2018-02-27) 1 commit + - docs/pretty-formats: fix typo '% <()' -> '%<|()' + + Docfix. + + Will merge to 'next'. + + +* nd/remove-ignore-env-field (2018-02-28) 4 commits + - repository: delete ignore_env member + - sha1_file.c: move delayed getenv(altdb) back to setup_git_env() + - repository.c: delete dead functions + - repository.c: move env-related setup code back to environment.c + (this branch uses sb/object-store; is tangled with sb/packfiles-in-repository.) + + +* rj/test-i18ngrep (2018-02-28) 2 commits + - t5536: simplify checking of messages output to stderr + - t4151: consolidate multiple calls to test_i18ngrep + + Test updates. + + Will merge to 'next'. + + +* rs/perf-repeat-thrice-by-default (2018-02-27) 1 commit + - perf: use GIT_PERF_REPEAT_COUNT=3 by default even without config file + + Perf test regression fix. + + Will merge to 'next'. + + +* sb/object-store (2018-02-28) 27 commits + - sha1_file: allow sha1_loose_object_info to handle arbitrary repositories + - sha1_file: allow map_sha1_file to handle arbitrary repositories + - sha1_file: allow map_sha1_file_1 to handle arbitrary repositories + - sha1_file: allow open_sha1_file to handle arbitrary repositories + - sha1_file: allow stat_sha1_file to handle arbitrary repositories + - sha1_file: allow sha1_file_name to handle arbitrary repositories + - sha1_file: add repository argument to sha1_loose_object_info + - sha1_file: add repository argument to map_sha1_file + - sha1_file: add repository argument to map_sha1_file_1 + - sha1_file: add repository argument to open_sha1_file + - sha1_file: add repository argument to stat_sha1_file + - sha1_file: add repository argument to sha1_file_name + - sha1_file: allow prepare_alt_odb to handle arbitrary repositories + - sha1_file: allow link_alt_odb_entries to handle arbitrary repositories + - sha1_file: add repository argument to prepare_alt_odb + - sha1_file: add repository argument to link_alt_odb_entries + - sha1_file: add repository argument to read_info_alternates + - sha1_file: add repository argument to link_alt_odb_entry + - sha1_file: add raw_object_store argument to alt_odb_usable + - pack: move approximate object count to object store + - pack: move prepare_packed_git_run_once to object store + - object-store: close all packs upon clearing the object store + - object-store: move packed_git and packed_git_mru to object store + - object-store: free alt_odb_list + - object-store: move alt_odb_list and alt_odb_tail to object store + - object-store: migrate alternates struct and functions from cache.h + - repository: introduce raw object store field + (this branch is used by nd/remove-ignore-env-field and sb/packfiles-in-repository.) + + Refactoring the internal global data structure to make it possible + to open multiple repositories, work with and then close them. + + +* sb/packfiles-in-repository (2018-02-28) 11 commits + - packfile: allow find_pack_entry to handle arbitrary repositories + - packfile: add repository argument to find_pack_entry + - packfile: allow reprepare_packed_git to handle arbitrary repositories + - packfile: allow prepare_packed_git to handle arbitrary repositories + - packfile: allow prepare_packed_git_one to handle arbitrary repositories + - packfile: add repository argument to reprepare_packed_git + - packfile: add repository argument to prepare_packed_git + - packfile: add repository argument to prepare_packed_git_one + - packfile: allow install_packed_git to handle arbitrary repositories + - packfile: allow rearrange_packed_git to handle arbitrary repositories + - packfile: allow prepare_packed_git_mru to handle arbitrary repositories + (this branch uses sb/object-store; is tangled with nd/remove-ignore-env-field.) + + +* sg/test-x (2018-02-28) 11 commits + - travis-ci: run tests with '-x' tracing + - t/README: add a note about don't saving stderr of compound commands + - t1510-repo-setup: mark as untraceable with '-x' + - t9903-bash-prompt: don't check the stderr of __git_ps1() + - t5570-git-daemon: don't check the stderr of a subshell + - t5526: use $TRASH_DIRECTORY to specify the path of GIT_TRACE log file + - t5500-fetch-pack: don't check the stderr of a subshell + - t3030-merge-recursive: don't check the stderr of a subshell + - t1507-rev-parse-upstream: don't check the stderr of a shell function + - t: add means to disable '-x' tracing for individual test scripts + - t: prevent '-x' tracing from interfering with test helpers' stderr + + Running test scripts under -x option of the shell is often not a + useful way to debug them, because the error messages from the + commands tests try to capture and inspect are contaminated by the + tracing output by the shell. An earlier work done to make it more + pleasant to run tests under -x with recent versions of bash is + extended to cover posix shells that do not support BASH_XTRACEFD. + + Will merge to 'next'. + + +* ab/gc-auto-in-commit (2018-03-01) 1 commit + - commit: run git gc --auto just before the post-commit hook + + "git commit" used to run "gc --auto" near the end, which was lost + when the command was reimplemented in C by mistake. + + Will merge to 'next'. + + +* ab/pre-auto-gc-battery (2018-02-28) 1 commit + - hooks/pre-auto-gc-battery: allow gc to run on non-laptops + + A sample auto-gc hook (in contrib/) to skip auto-gc while on + battery has been updated to almost always allow running auto-gc + unless on_ac_power command is absolutely sure that we are on + battery power (earlier, it skipped unless the command is sure that + we are on ac power). + + Will merge to 'next'. + + +* ag/userdiff-go-funcname (2018-03-01) 1 commit + - userdiff: add built-in pattern for golang + + "git diff" and friends learned funcname patterns for Go language + source files. + + Will merge to 'next'. + + +* ma/skip-writing-unchanged-index (2018-03-01) 1 commit + - write_locked_index(): add flag to avoid writing unchanged index + (this branch uses ma/roll-back-lockfiles.) + + Internal API clean-up to allow write_locked_index() optionally skip + writing the in-core index when it is not modified. + + May want to merge into ma/roll-back-lockfiles topic before merging + to 'next'. -------------------------------------------------- [Stalled] @@ -427,20 +560,7 @@ of the repositories listed at * sg/travis-build-during-script-phase (2018-01-08) 1 commit - travis-ci: build Git during the 'script' phase - So... what do we want to do with this thing? - - -* jh/status-no-ahead-behind (2018-01-24) 4 commits - - status: support --no-ahead-behind in long format - - status: update short status to respect --no-ahead-behind - - status: add --[no-]ahead-behind to status and commit for V2 format. - - stat_tracking_info: return +1 when branches not equal - - "git status" can spend a lot of cycles to compute the relation - between the current branch and its upstream, which can now be - disabled with "--no-ahead-behind" option. - - At v5; is this ready for 'next'? + Stalled for too long without any response; will discard. * av/fsmonitor-updates (2018-01-04) 6 commits @@ -483,8 +603,7 @@ of the repositories listed at way that has been possible on Windows for quite some time, for Linux, BSDs and Darwin. - Tentatively kicked out of 'next' to see how well another topic - ab/simplify-perl-makefile that heavily conflicts with this fares. + Perhaps it is about time to reboot the effort? * mk/http-backend-content-length (2017-11-27) 4 commits @@ -515,7 +634,7 @@ of the repositories listed at build. As a workaround, refuse to run a build when tclsh is not installed and NO_TCLTK is not set. - Undecided. + Stalled for too long without any response; will discard. I still feel that requring tclsh to be installed, with or without "escape hatch" for experts, may be too heavy-handed. @@ -544,7 +663,7 @@ of the repositories listed at into the feature, without affecting the current callers that may not be prepared to accept a guess that is not known to be correct. - What's the doneness of this one? + Stalled for too long without any response; will discard. * jk/drop-ancient-curl (2017-08-09) 5 commits @@ -577,107 +696,132 @@ of the repositories listed at "git status" learns an option to report various operations (e.g. "merging") that the user is in the middle of. + Stalled for too long without any response; will discard. cf. -------------------------------------------------- [Cooking] -* bp/name-hash-dirname-fix (2018-02-08) 1 commit - (merged to 'next' on 2018-02-14 at 2f564fb4b3) - + name-hash: properly fold directory names in adjust_dirname_case() +* jh/status-no-ahead-behind (2018-01-24) 4 commits + - status: support --no-ahead-behind in long format + - status: update short status to respect --no-ahead-behind + - status: add --[no-]ahead-behind to status and commit for V2 format. + - stat_tracking_info: return +1 when branches not equal - "git add" files in the same directory, but spelling the directory - path in different cases on case insensitive filesystem, corrupted - the name hash data structure and led to unexpected results. This - has been corrected. - - Will merge to 'master'. - - -* jk/doc-do-not-write-extern (2018-02-08) 1 commit - (merged to 'next' on 2018-02-14 at e55b5127de) - + CodingGuidelines: mention "static" and "extern" - - Devdoc update. - - Will merge to 'master'. - - -* jk/gettext-poison (2018-02-08) 2 commits - (merged to 'next' on 2018-02-14 at cca3719a59) - + git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME - + t0205: drop redundant test - - Test updates. - - Will merge to 'master'. - - -* js/fix-merge-arg-quoting-in-rebase-p (2018-02-08) 1 commit - (merged to 'next' on 2018-02-14 at 27ebf001a1) - + rebase -p: fix incorrect commit message when calling `git merge`. - - "git rebase -p" mangled log messages of a merge commit, which is - now fixed. - - Will merge to 'master'. - - -* js/packet-read-line-check-null (2018-02-08) 2 commits - (merged to 'next' on 2018-02-14 at 6ba237b284) - + always check for NULL return from packet_read_line() - + correct error messages for NULL packet_read_line() - - Some low level protocol codepath could crash when they get an - unexpected flush packet, which is now fixed. - - Will merge to 'master'. - - -* sb/color-h-cleanup (2018-02-13) 1 commit - - color.h: document and modernize header - (this branch is used by sb/blame-color.) - - Devdoc update. + "git status" can spend a lot of cycles to compute the relation + between the current branch and its upstream, which can now be + disabled with "--no-ahead-behind" option. Will merge to 'next'. -* ab/untracked-cache-invalidation-docs (2018-02-09) 2 commits - (merged to 'next' on 2018-02-14 at 11d2d07c4a) - + update-index doc: note the caveat with "could not open..." - + update-index doc: note a fixed bug in the untracked cache - (this branch uses nd/fix-untracked-cache-invalidation.) +* nd/tilde-expand-opt-file-value (2018-02-14) 2 commits + - init-db: change --template type to OPTION_FILENAME + - parse-options: expand $HOME on filename options - Doc update to warn against remaining bugs in untracked cache. + "git cmd --opt=~u/path/to/file" did not tilde-expand "~u" part to + the path to the home directory of user 'u' + + Will discard. + This may make the resulting whole more confusing, though. + cf. <87wozffavp.fsf@evledraar.gmail.com> + + +* jc/allow-ff-merging-kept-tags (2018-02-16) 1 commit + (merged to 'next' on 2018-02-27 at 8b03610d2b) + + merge: allow fast-forward when merging a tracked tag + + Since Git 1.7.9, "git merge" defaulted to --no-ff (i.e. even when + the side branch being merged is a descendant of the current commit, + create a merge commit instead of fast-forwarding) when merging a + tag object. This was appropriate default for integrators who pull + signed tags from their downstream contributors, but caused an + unnecessary merges when used by downstream contributors who + habitually "catch up" their topic branches with tagged releases + from the upstream. Update "git merge" to default to --no-ff only + when merging a tag object that does *not* sit at its usual place in + refs/tags/ hierarchy, and allow fast-forwarding otherwise, to + mitigate the problem. Will merge to 'master'. -* as/ll-i18n (2018-02-13) 1 commit - (merged to 'next' on 2018-02-14 at b30154a04c) - + Mark messages for translations +* ab/perl-fixes (2018-02-27) 13 commits + - perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS + - Makefile: add NO_PERL_CPAN_FALLBACKS knob + - perl: move the perl/Git/FromCPAN tree to perl/FromCPAN + - perl: generalize the Git::LoadCPAN facility + - perl: move CPAN loader wrappers to another namespace + - perl: update our copy of Mail::Address + - perl: update our ancient copy of Error.pm + - git-send-email: unconditionally use Net::{SMTP,Domain} + - Git.pm: hard-depend on the File::{Temp,Spec} modules + - gitweb: hard-depend on the Digest::MD5 5.8 module + - Git.pm: add the "use warnings" pragma + - Git.pm: remove redundant "use strict" from sub-package + - perl: *.pm files should not have the executable bit - Some messages in low level start-up codepath have been i18n-ized. + Only the first few of a series of several small patches. + + Expecting a reroll. + + +* ab/simplify-perl-makefile (2018-02-15) 1 commit + (merged to 'next' on 2018-02-27 at b0d68a2013) + + Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets + + Hotfix for a topic already in 'master'. Will merge to 'master'. -* bc/doc-interpret-trailers-grammofix (2018-02-13) 1 commit - (merged to 'next' on 2018-02-14 at 940e6dc7a5) - + docs/interpret-trailers: fix agreement error +* bw/doc-submodule-recurse-config-with-clone (2018-02-21) 1 commit + (merged to 'next' on 2018-02-27 at 5b12841508) + + submodule: indicate that 'submodule.recurse' doesn't apply to clone - Docfix. + Doc update. Will merge to 'master'. -* jk/t0002-simplify (2018-02-12) 1 commit - (merged to 'next' on 2018-02-14 at a7a24f5f29) - + t0002: simplify error checking +* ds/commit-graph (2018-02-20) 13 commits + - commit-graph: build graph from starting commits + - commit-graph: read only from specific pack-indexes + - commit: integrate commit graph with commit parsing + - commit-graph: close under reachability + - commit-graph: add core.commitGraph setting + - commit-graph: implement --delete-expired + - commit-graph: implement --set-latest + - commit-graph: implement git commit-graph read + - commit-graph: implement 'git-commit-graph write' + - commit-graph: implement write_commit_graph() + - commit-graph: create git-commit-graph builtin + - graph: add commit graph design document + - commit-graph: add format document + + Precompute and store information necessary for ancestry traversal + in a separate file to optimize graph walking. + + Reroll exists, but it appears that there will be a further reroll. + cf. <1519698787-190494-1-git-send-email-dstolee@microsoft.com> + + +* ot/ref-filter-cleanup (2018-02-21) 2 commits + - ref-filter: get rid of goto + - ref-filter: get rid of duplicate code Code cleanup. + Will merge to 'next'. + + +* sb/color-h-cleanup (2018-02-13) 1 commit + (merged to 'next' on 2018-02-27 at 617345de77) + + color.h: document and modernize header + (this branch is used by sb/blame-color.) + + Devdoc update. + Will merge to 'master'. @@ -691,7 +835,7 @@ of the repositories listed at pager setting when it is used for setting values (i.e. when the purpose of the operation is not to "show"). - Waiting for discussion to conclude. + Is this ready for 'next'? * ot/cat-batch-format (2018-02-12) 23 commits @@ -724,66 +868,30 @@ of the repositories listed at Allocates flex-array on stack, etc. cf. <58b2bdcd-d621-fd21-ab4d-6a9478319b19@ramsayjones.plus.com> - - -* rj/sparse-updates (2018-02-12) 2 commits - (merged to 'next' on 2018-02-14 at 072df8ed5b) - + Makefile: suppress a sparse warning for pack-revindex.c - + config.mak.uname: remove SPARSE_FLAGS setting for cygwin - - Devtool update. - - Will merge to 'master'. - - -* rs/check-ignore-multi (2018-02-12) 1 commit - (merged to 'next' on 2018-02-14 at 43cb0704af) - + check-ignore: fix mix of directories and other file types - - "git check-ignore" with multiple paths got confused when one is a - file and the other is a directory, which has been fixed. - - Will merge to 'master'. - - -* sb/describe-blob (2018-02-12) 1 commit - (merged to 'next' on 2018-02-14 at 23e4c13944) - + describe: confirm that blobs actually exist - - "git describe $garbage" stopped giving any errors when the garbage - happens to be a string with 40 hexadecimal letters. - - Will merge to 'master'. - - -* sg/doc-test-must-fail-args (2018-02-12) 1 commit - (merged to 'next' on 2018-02-14 at 28662d145b) - + t: document 'test_must_fail ok=' - - Devdoc update. - - Will merge to 'master'. + Will discard--a rebooted effort is beginning elsewhere. * sg/t6300-modernize (2018-02-13) 1 commit - - t6300-for-each-ref: fix "more than one quoting style" tests + (merged to 'next' on 2018-02-27 at b6f13b6915) + + t6300-for-each-ref: fix "more than one quoting style" tests Test update. - Will merge to 'next'. + Will merge to 'master'. * xz/send-email-batch-size (2018-02-12) 1 commit - - send-email: error out when relogin delay is missing + (merged to 'next' on 2018-02-27 at da0247d532) + + send-email: error out when relogin delay is missing "git send-email" learned to complain when the batch-size option is not defined when the relogin-delay option is, since these two are mutually required. - Will merge to 'next'. + Will merge to 'master'. -* pw/add-p-recount (2018-02-20) 9 commits +* pw/add-p-recount (2018-03-01) 9 commits - add -p: don't rely on apply's '--recount' option - add -p: fix counting when splitting and coalescing - add -p: calculate offset delta for edited patches @@ -803,9 +911,10 @@ of the repositories listed at * pw/add-p-single (2018-02-13) 3 commits - - add -p: improve error messages - - add -p: only bind search key if there's more than one hunk - - add -p: only display help for active keys + (merged to 'next' on 2018-02-27 at 0e2bd585e3) + + add -p: improve error messages + + add -p: only bind search key if there's more than one hunk + + add -p: only display help for active keys "git add -p" used to offer "/" (look for a matching hunk) as a choice, even there was only one hunk, which has been corrected. @@ -813,48 +922,30 @@ of the repositories listed at enabled (e.g. help for '/' won't be shown when there is only one hunk). - Will merge to 'next'. + Will merge to 'master'. -* bp/untracked-cache-noflush (2018-02-05) 1 commit +* bp/untracked-cache-noflush (2018-02-28) 2 commits + - untracked cache: use git_env_bool() not getenv() for customization - dir.c: don't flag the index as dirty for changes to the untracked cache Writing out the index file when the only thing that changed in it is the untracked cache information is often wasteful, and this has been optimized out. - Waiting for the discussion to finish. - cf. + Will merge to 'next'. -* jc/blame-missing-path (2018-02-07) 1 commit - (merged to 'next' on 2018-02-14 at 883d266e1e) - + blame: tighten command line parser - - "git blame HEAD COPYING" in a bare repository failed to run, while - "git blame HEAD -- COPYING" run just fine. This has been corrected. - - Will merge to 'master'. - - -* jt/binsearch-with-fanout (2018-02-15) 2 commits - (merged to 'next' on 2018-02-15 at 7648891022) - + packfile: refactor hash search with fanout table - + packfile: remove GIT_DEBUG_LOOKUP log statements - (this branch is used by ds/commit-graph.) - - Refactor the code to binary search starting from a fan-out table - (which is how the packfile is indexed with object names) into a - reusable helper. - - Will merge to 'master'. - - -* nd/diff-stat-with-summary (2018-02-02) 2 commits - - diff: add --stat-with-summary +* nd/diff-stat-with-summary (2018-02-27) 2 commits + - diff: add --compact-summary - diff.c: refactor pprint_rename() to use strbuf - Waiting for the discussion to finish. + "git diff" and friends learned "--compact-summary" that shows the + information usually given with the "--summary" option on the same + line as the diffstat output of the "--stat" option (which saves + vertical space and keeps info on a single path at the same place). + + Will merge to 'next'. * nd/parseopt-completion (2018-02-09) 41 commits @@ -932,105 +1023,111 @@ of the repositories listed at * nm/tag-edit (2018-02-07) 1 commit - - tag: add --edit option + (merged to 'next' on 2018-02-27 at 3bc8345213) + + tag: add --edit option "git tag" learned an explicit "--edit" option that allows the message given via "-m" and "-F" to be further edited. - Will merge to 'next'. + Will merge to 'master'. + * sm/mv-dry-run-update (2018-02-07) 2 commits - - mv: remove unneeded 'if (!show_only)' - - t7001: add test case for --dry-run + (merged to 'next' on 2018-02-27 at 17eef62ddf) + + mv: remove unneeded 'if (!show_only)' + + t7001: add test case for --dry-run Code clean-up. - Will merge to 'next'. + Will merge to 'master'. * ab/fetch-prune (2018-02-09) 17 commits - - fetch: make the --prune-tags work with - - fetch: add a --prune-tags option and fetch.pruneTags config - - fetch tests: add scaffolding for the new fetch.pruneTags - - git-fetch & config doc: link to the new PRUNING section - - git remote doc: correct dangerous lies about what prune does - - git fetch doc: add a new section to explain the ins & outs of pruning - - fetch tests: fetch as well as fetch [] - - fetch tests: expand case/esac for later change - - fetch tests: double quote a variable for interpolation - - fetch tests: test --prune and refspec interaction - - fetch tests: add a tag to be deleted to the pruning tests - - fetch tests: re-arrange arguments for future readability - - fetch tests: refactor in preparation for testing tag pruning - - remote: add a macro for "refs/tags/*:refs/tags/*" - - fetch: stop accessing "remote" variable indirectly - - fetch: trivially refactor assignment to ref_nr - - fetch: don't redundantly NULL something calloc() gave us + (merged to 'next' on 2018-02-27 at eafb648dd9) + + fetch: make the --prune-tags work with + + fetch: add a --prune-tags option and fetch.pruneTags config + + fetch tests: add scaffolding for the new fetch.pruneTags + + git-fetch & config doc: link to the new PRUNING section + + git remote doc: correct dangerous lies about what prune does + + git fetch doc: add a new section to explain the ins & outs of pruning + + fetch tests: fetch as well as fetch [] + + fetch tests: expand case/esac for later change + + fetch tests: double quote a variable for interpolation + + fetch tests: test --prune and refspec interaction + + fetch tests: add a tag to be deleted to the pruning tests + + fetch tests: re-arrange arguments for future readability + + fetch tests: refactor in preparation for testing tag pruning + + remote: add a macro for "refs/tags/*:refs/tags/*" + + fetch: stop accessing "remote" variable indirectly + + fetch: trivially refactor assignment to ref_nr + + fetch: don't redundantly NULL something calloc() gave us Clarify how configured fetch refspecs interact with the "--prune" option of "git fetch", and also add a handy short-hand for getting rid of stale tags that are locally held. + Will merge to 'master'. -* bw/c-plus-plus (2018-02-14) 38 commits - - fixup! diff: rename 'this' variables - - replace: rename 'new' variables - - trailer: rename 'template' variables - - tempfile: rename 'template' variables - - wrapper: rename 'template' variables - - environment: rename 'namespace' variables - - diff: rename 'template' variables - - environment: rename 'template' variables - - init-db: rename 'template' variables - - unpack-trees: rename 'new' variables - - trailer: rename 'new' variables - - submodule: rename 'new' variables - - split-index: rename 'new' variables - - remote: rename 'new' variables - - ref-filter: rename 'new' variables - - read-cache: rename 'new' variables - - line-log: rename 'new' variables - - imap-send: rename 'new' variables - - http: rename 'new' variables - - entry: rename 'new' variables - - diffcore-delta: rename 'new' variables - - diff: rename 'new' variables - - diff-lib: rename 'new' variable - - commit: rename 'new' variables - - combine-diff: rename 'new' variables - - remote: rename 'new' variables - - reflog: rename 'new' variables - - pack-redundant: rename 'new' variables - - help: rename 'new' variables - - checkout: rename 'new' variables - - apply: rename 'new' variables - - apply: rename 'try' variables - - diff: rename 'this' variables - - rev-parse: rename 'this' variable - - pack-objects: rename 'this' variables - - blame: rename 'this' variables - - object: rename function 'typename' to 'type_name' - - object_info: change member name from 'typename' to 'type_name' + +* bw/c-plus-plus (2018-02-22) 37 commits + (merged to 'next' on 2018-02-27 at daf85c03de) + + replace: rename 'new' variables + + trailer: rename 'template' variables + + tempfile: rename 'template' variables + + wrapper: rename 'template' variables + + environment: rename 'namespace' variables + + diff: rename 'template' variables + + environment: rename 'template' variables + + init-db: rename 'template' variables + + unpack-trees: rename 'new' variables + + trailer: rename 'new' variables + + submodule: rename 'new' variables + + split-index: rename 'new' variables + + remote: rename 'new' variables + + ref-filter: rename 'new' variables + + read-cache: rename 'new' variables + + line-log: rename 'new' variables + + imap-send: rename 'new' variables + + http: rename 'new' variables + + entry: rename 'new' variables + + diffcore-delta: rename 'new' variables + + diff: rename 'new' variables + + diff-lib: rename 'new' variable + + commit: rename 'new' variables + + combine-diff: rename 'new' variables + + remote: rename 'new' variables + + reflog: rename 'new' variables + + pack-redundant: rename 'new' variables + + help: rename 'new' variables + + checkout: rename 'new' variables + + apply: rename 'new' variables + + apply: rename 'try' variables + + diff: rename 'this' variables + + rev-parse: rename 'this' variable + + pack-objects: rename 'this' variables + + blame: rename 'this' variables + + object: rename function 'typename' to 'type_name' + + object_info: change member name from 'typename' to 'type_name' Avoid using identifiers that clash with C++ keywords. Even though it is not a goal to compile Git with C++ compilers, changes like this help use of code analysis tools that targets C++ on our codebase. - Is the 'fixup!' cleanly squashable to the problematic one, or does - this series require another reroll to get it in a good enough shape? + Will merge to 'master'. * nd/rebase-show-current-patch (2018-02-12) 3 commits - - rebase: introduce and use pseudo-ref REBASE_HEAD - - rebase: add --show-current-patch - - am: add --show-current-patch + (merged to 'next' on 2018-02-27 at 5a4e23a77c) + + rebase: introduce and use pseudo-ref REBASE_HEAD + + rebase: add --show-current-patch + + am: add --show-current-patch The new "--show-current-patch" option gives an end-user facing way to get the diff being applied when "git rebase" (and "git am") stops with a conflict. - Will merge to 'next'. + Will merge to 'master'. * nd/worktree-move (2018-02-12) 7 commits @@ -1044,8 +1141,7 @@ of the repositories listed at "git worktree" learned move and remove subcommands. - Expecting a reroll. - cf. <20180124095357.19645-1-pclouds@gmail.com> + Will merge to 'next'. * cl/send-email-reply-to (2018-01-17) 2 commits @@ -1058,7 +1154,7 @@ of the repositories listed at cf. -* js/rebase-recreate-merge (2018-02-12) 12 commits +* js/rebase-recreate-merge (2018-02-23) 12 commits - rebase -i: introduce --recreate-merges=[no-]rebase-cousins - pull: accept --rebase=recreate to recreate the branch topology - sequencer: handle post-rewrite for merge commands @@ -1075,12 +1171,13 @@ of the repositories listed at "git rebase" learned "--recreate-merges" to transplant the whole topology of commit graph elsewhere. - Is this ready for 'next'? + Will merge to 'next'. -* bw/protocol-v2 (2018-02-07) 35 commits +* bw/protocol-v2 (2018-03-01) 35 commits - remote-curl: don't request v2 when pushing - remote-curl: implement stateless-connect command + - http: eliminate "# service" line when using protocol v2 - http: don't always add Git-Protocol header - http: allow providing extra headers for http requests - remote-curl: store the protocol version the server responded with @@ -1092,7 +1189,6 @@ of the repositories listed at - connect: don't request v2 when pushing - connect: refactor git_connect to only get the protocol version once - fetch-pack: support shallow requests - - upload-pack: support shallow requests - fetch-pack: perform a fetch using v2 - upload-pack: introduce fetch server command - push: pass ref patterns when pushing @@ -1112,13 +1208,13 @@ of the repositories listed at - upload-pack: factor out processing lines - upload-pack: convert to a builtin - pkt-line: add delim packet support - - pkt-line: introduce struct packet_reader + - pkt-line: allow peeking a packet line without consuming it - pkt-line: introduce packet_read_with_status The beginning of the next-gen transfer protocol. -* ls/checkout-encoding (2018-02-15) 7 commits +* ls/checkout-encoding (2018-03-01) 7 commits - convert: add round trip check based on 'core.checkRoundtripEncoding' - convert: add tracing for 'working-tree-encoding' attribute - convert: add 'working-tree-encoding' attribute @@ -1131,10 +1227,9 @@ of the repositories listed at contents to the specified encoding when checking out to the working tree (and the other way around when checking in). - Expecting a reroll. - The code and general design looked ready. The documentation needs - to be refined to unconfuse general audience. - cf. + Expecting a reroll; it is almost there, though. + cf. + cf. <8EE59DC3-69E0-412B-AC50-5D348D6D5BE0@gmail.com> * sb/blame-color (2018-02-13) 3 commits @@ -1148,25 +1243,7 @@ of the repositories listed at error messages are funny, can segfault, ... -* nd/fix-untracked-cache-invalidation (2018-02-07) 5 commits - (merged to 'next' on 2018-02-08 at 23bd5a5d2d) - + dir.c: ignore paths containing .git when invalidating untracked cache - + dir.c: stop ignoring opendir() error in open_cached_dir() - + dir.c: fix missing dir invalidation in untracked code - + dir.c: avoid stat() in valid_cached_dir() - + status: add a failing test showing a core.untrackedCache bug - (this branch is used by ab/untracked-cache-invalidation-docs.) - - Some bugs around "untracked cache" feature have been fixed. - - Will merge to 'master'. - Seems to uncover bad untracked cache information a bit too loudly, - for which there is ab/untracked-cache-invalidation-docs topic. - cf. <87d11omi2o.fsf@evledraar.gmail.com> - They have to graduate together. - - -* en/rename-directory-detection (2018-02-14) 29 commits +* en/rename-directory-detection (2018-02-27) 29 commits - merge-recursive: ensure we write updates for directory-renamed file - merge-recursive: avoid spurious rename/rename conflict from dir renames - directory rename detection: new testcases showcasing a pair of bugs