From 650da6fd97d84db5f9320261b64a951d4bfe3a2a Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 18 Jan 2019 15:08:58 -0800 Subject: [PATCH] What's cooking (2019/01 #03) --- whats-cooking.txt | 1234 ++++++++++++++++++++++----------------------- 1 file changed, 603 insertions(+), 631 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 6ce5301be0..e7f595196d 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, #02; Tue, 15) -X-master-at: 77556354bb7ac50450e3b28999e3576969869068 -X-next-at: 40155ab247a57ccc696d2ded09336b2c5203e832 +Subject: What's cooking in git.git (Jan 2019, #03; Fri, 18) +X-master-at: 16a465bc018d09e9d7bbbdc5f40a7fb99c21f8ef +X-next-at: aa96b0ce6b0fa4fa4cc6870f1a3aff3878967bfa -What's cooking in git.git (Jan 2019, #02; Tue, 15) +What's cooking in git.git (Jan 2019, #03; Fri, 18) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -20,165 +20,465 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ab/commit-graph-progress-fix (2018-11-20) 1 commit - (merged to 'next' on 2019-01-04 at 405a1a2cf5) - + commit-graph: split up close_reachable() progress output +* cy/completion-typofix (2019-01-03) 1 commit + (merged to 'next' on 2019-01-08 at 6c6f01a07d) + + completion: fix typo in git-completion.bash + + Typofix. -* bw/mailmap (2018-12-09) 1 commit - (merged to 'next' on 2019-01-04 at 02b6e83231) - + mailmap: update brandon williams's email address +* cy/zsh-completion-SP-in-path (2019-01-03) 2 commits + (merged to 'next' on 2019-01-08 at fee27de30b) + + completion: treat results of git ls-tree as file paths + + zsh: complete unquoted paths with spaces correctly + + With zsh, "git cmd path" was completed to "git cmd path name" + when the completed path has a special character like SP in it, + without any attempt to keep "path name" a single filename. This + has been fixed to complete it to "git cmd path\ name" just like + Bash completion does. -* cb/openbsd-allows-reading-directory (2018-12-03) 1 commit - (merged to 'next' on 2019-01-04 at 9d865107fd) - + config.mak.uname: OpenBSD uses BSD semantics with fread for directories +* ds/commit-graph-assert-missing-parents (2019-01-02) 1 commit + (merged to 'next' on 2019-01-08 at d141f063e0) + + commit-graph: writing missing parents is a BUG - BSD port update. + Tightening error checking in commit-graph writer. -* cb/t5004-empty-tar-archive-fix (2018-12-03) 1 commit - (merged to 'next' on 2019-01-04 at 39f4cf94ce) - + t5004: avoid using tar for empty packages - - BSD port update. - - -* cb/test-lint-cp-a (2018-12-03) 1 commit - (merged to 'next' on 2019-01-04 at d13e6cfcb0) - + tests: add lint for non portable cp -a - - BSD port update. - - -* do/gitweb-strict-export-conf-doc (2018-12-09) 1 commit - (merged to 'next' on 2019-01-04 at 5249c9386a) - + docs: fix $strict_export text in gitweb.conf.txt - - Doc update. - - -* en/directory-renames-nothanks-doc-update (2018-12-09) 1 commit - (merged to 'next' on 2019-01-04 at cb7134b54c) - + git-rebase.txt: update note about directory rename detection and am - - Doc update. - - -* fd/gitweb-snapshot-conf-doc-fix (2018-12-09) 1 commit - (merged to 'next' on 2019-01-04 at 7ba71fca17) - + docs/gitweb.conf: config variable typo - - Doc update. - - -* hb/t0061-dot-in-path-fix (2018-12-03) 1 commit - (merged to 'next' on 2019-01-04 at 789f990c4e) - + t0061: do not fail test if '.' is part of $PATH - - Test update. - - -* hn/highlight-sideband-keywords (2018-12-04) 1 commit - (merged to 'next' on 2019-01-04 at b039601533) - + sideband: color lines with keyword only - - Lines that begin with a certain keyword that come over the wire, as - well as lines that consist only of one of these keywords, ought to - be painted in color for easier eyeballing, but the latter was - broken ever since the feature was introduced in 2.19, which has - been corrected. - - -* km/rebase-doc-typofix (2018-12-10) 1 commit - (merged to 'next' on 2019-01-04 at c89f646e8f) - + rebase docs: drop stray word in merge command description - - Doc update. - - -* md/exclude-promisor-objects-fix-cleanup (2018-12-06) 1 commit - (merged to 'next' on 2019-01-04 at c15362832d) - + revision.c: put promisor option in specialized struct - - Code clean-up. - - -* md/list-lazy-objects-fix (2018-12-06) 1 commit - (merged to 'next' on 2019-01-04 at 93bd38fff9) - + list-objects.c: don't segfault for missing cmdline objects - - "git rev-list --exclude-promisor-objects" had to take an object - that does not exist locally (and is lazily available) from the - command line without barfing, but the code dereferenced NULL. - - -* nd/attr-pathspec-in-tree-walk (2018-11-19) 5 commits - (merged to 'next' on 2019-01-04 at 6a07e5b905) - + tree-walk: support :(attr) matching - + dir.c: move, rename and export match_attrs() - + pathspec.h: clean up "extern" in function declarations - + tree-walk.c: make tree_entry_interesting() take an index - + tree.c: make read_tree*() take 'struct repository *' - - The traversal over tree objects has learned to honor - ":(attr:label)" pathspec match, which has been implemented only for - enumerating paths on the filesystem. - - -* nd/checkout-noisy (2018-11-20) 2 commits - (merged to 'next' on 2019-01-04 at 480172d3d7) - + t0027: squelch checkout path run outside test_expect_* block - + checkout: print something when checking out paths - - "git checkout [] path..." learned to report the number of - paths that have been checked out of the index or the tree-ish, - which gives it the same degree of noisy-ness as the case in which - the command checks out a branch. - - -* nd/indentation-fix (2018-12-09) 1 commit - (merged to 'next' on 2019-01-04 at 738b17d365) - + Indent code with TABs - - Code cleanup. - - -* sb/diff-color-moved-config-option-fixup (2018-11-14) 1 commit - (merged to 'next' on 2019-01-04 at 46de5f42d1) - + diff: align move detection error handling with other options - - Minor inconsistency fix. - - -* tb/log-G-binary (2018-12-26) 1 commit - (merged to 'next' on 2019-01-04 at a713ef389c) - + log -G: ignore binary files - - "git log -G" looked for a hunk in the "git log -p" patch - output that contained a string that matches the given pattern. - Optimize this code to ignore binary files, which by default will - not show any hunk that would match any pattern (unless textconv or - the --text option is in effect, that is). - - -* tb/use-common-win32-pathfuncs-on-cygwin (2018-12-26) 1 commit - (merged to 'next' on 2019-01-04 at c3b2b1f3c3) - + git clone C:\cygwin\home\USER\repo' is working (again) - - Cygwin update. - --------------------------------------------------- -[New Topics] - * ds/gc-doc-typofix (2019-01-08) 1 commit (merged to 'next' on 2019-01-08 at f21ffc83e0) + git-gc.txt: fix typo about gc.writeCommitGraph Typofix. - Will merge to 'master'. +* ed/simplify-setup-git-dir (2019-01-03) 1 commit + (merged to 'next' on 2019-01-08 at 8722c7c2ef) + + Simplify handling of setup_git_directory_gently() failure cases. + + Code simplification. + + +* en/show-ref-doc-fix (2019-01-10) 1 commit + (merged to 'next' on 2019-01-14 at f875bfb9a4) + + git-show-ref.txt: fix order of flags + + Doc update. + + +* es/doc-worktree-guessremote-config (2018-12-28) 1 commit + (merged to 'next' on 2019-01-08 at f1dc5e39a6) + + doc/config: do a better job of introducing 'worktree.guessRemote' + + Doc clarification. + + +* ew/ban-strncat (2019-01-02) 1 commit + (merged to 'next' on 2019-01-08 at 3bba2ae2bb) + + banned.h: mark strncat() as banned + + The "strncat()" function is now among the banned functions. + + +* jk/dev-build-format-security (2019-01-07) 1 commit + (merged to 'next' on 2019-01-08 at 3761ab7026) + + config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users + + Earlier we added "-Wformat-security" to developer builds, assuming + that "-Wall" (which includes "-Wformat" which in turn is required + to use "-Wformat-security") is always in effect. This is not true + when config.mak.autogen is in use, unfortunately. This has been + fixed by unconditionally adding "-Wall" to developer builds. + + +* jn/stripspace-wo-repository (2018-12-26) 1 commit + (merged to 'next' on 2019-01-08 at 81815821c9) + + stripspace: allow -s/-c outside git repository + + "git stripspace" should be usable outside a git repository, but + under the "-s" or "-c" mode, it didn't. + + +* js/gc-repack-close-before-remove (2019-01-11) 1 commit + (merged to 'next' on 2019-01-14 at 9daedfee40) + + gc/repack: release packs when needed + + "git gc" and "git repack" did not close the open packfiles that + they found unneeded before removing them, which didn't work on a + platform incapable of removing an open file. This has been + corrected. + + +* la/quiltimport-keep-non-patch (2019-01-07) 1 commit + (merged to 'next' on 2019-01-08 at 37cb490792) + + git-quiltimport: add --keep-non-patch option + + "git quiltimport" learned "--keep-non-patch" option. + + +* ma/asciidoctor (2018-12-26) 3 commits + (merged to 'next' on 2019-01-08 at 3cfd4ad6cb) + + git-status.txt: render tables correctly under Asciidoctor + + Documentation: do not nest open blocks + + git-column.txt: fix section header + + Some of the documentation pages formatted incorrectly with + Asciidoctor, which have been fixed. + + +* mm/multimail-1.5 (2019-01-07) 1 commit + (merged to 'next' on 2019-01-08 at 8c872af48e) + + git-multimail: update to release 1.5.0 + + Update "git multimail" from the upstream. + + +* nd/style-opening-brace (2018-12-10) 1 commit + (merged to 'next' on 2019-01-08 at 80de026e14) + + style: the opening '{' of a function is in a separate line + + Code clean-up. + + +* nd/worktree-remove-with-uninitialized-submodules (2019-01-07) 1 commit + (merged to 'next' on 2019-01-08 at e19cfe8741) + + worktree: allow to (re)move worktrees with uninitialized submodules + + "git worktree remove" and "git worktree move" refused to work when + there is a submodule involved. This has been loosened to ignore + uninitialized submodules. + + +* ot/ref-filter-object-info (2019-01-10) 7 commits + (merged to 'next' on 2019-01-10 at 9e740568ce) + + ref-filter: give uintmax_t to format with %PRIuMAX + (merged to 'next' on 2019-01-08 at 0a4d4ed36a) + + ref-filter: add docs for new options + + ref-filter: add tests for deltabase + + ref-filter: add deltabase option + + ref-filter: add tests for objectsize:disk + + ref-filter: add check for negative file size + + ref-filter: add objectsize:disk option + + The "--format=" option of for-each-ref, branch and tag + learned to show a few more traits of objects that can be learned by + the object_info API. + + +* po/git-p4-wo-login (2019-01-07) 1 commit + (merged to 'next' on 2019-01-08 at a7cc58d6b9) + + git-p4: fix problem when p4 login is not necessary + + "git p4" update. + + +* rb/hpe (2019-01-03) 5 commits + (merged to 'next' on 2019-01-08 at 52d6995399) + + compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop + + git-compat-util.h: add FLOSS headers for HPE NonStop + + config.mak.uname: support for modern HPE NonStop config. + + transport-helper: drop read/write errno checks + + transport-helper: use xread instead of read + + Portability updates for the HPE NonStop platform. + + +* rs/loose-object-cache-perffix (2019-01-08) 4 commits + (merged to 'next' on 2019-01-08 at 36e355e099) + + object-store: retire odb_load_loose_cache() + + object-store: use one oid_array per subdirectory for loose cache + + object-store: factor out odb_clear_loose_cache() + + object-store: factor out odb_loose_cache() + (this branch is used by jk/loose-object-cache-oid.) + + The loose object cache used to optimize existence look-up has been + updated. + + +* rs/sha1-file-close-mapped-file-on-error (2019-01-07) 1 commit + (merged to 'next' on 2019-01-08 at 5841cbc153) + + sha1-file: close fd of empty file in map_sha1_file_1() + + Code clean-up. + + +* sb/submodule-fetchjobs-default-to-one (2018-12-14) 1 commit + (merged to 'next' on 2019-01-08 at 97a522ef5e) + + submodule update: run at most one fetch job unless otherwise set + + "git submodule update" ought to use a single job unless asked, but + by mistake used multiple jobs, which has been fixed. + + +* sb/submodule-unset-core-worktree-when-worktree-is-lost (2018-12-26) 4 commits + (merged to 'next' on 2019-01-08 at 38f3175a2b) + + submodule deinit: unset core.worktree + + submodule--helper: fix BUG message in ensure_core_worktree + + submodule: unset core.worktree if no working tree is present + + submodule update: add regression test with old style setups + + The core.worktree setting in a submodule repository should not be + pointing at a directory when the submodule loses its working tree + (e.g. getting deinit'ed), but the code did not properly maintain + this invariant. + + +* sg/stress-test (2019-01-07) 8 commits + (merged to 'next' on 2019-01-08 at 2a65cea5f9) + + test-lib: add the '--stress' option to run a test repeatedly under load + + test-lib-functions: introduce the 'test_set_port' helper function + + test-lib: set $TRASH_DIRECTORY earlier + + test-lib: consolidate naming of test-results paths + + test-lib: parse command line options earlier + + test-lib: parse options in a for loop to keep $@ intact + + test-lib: extract Bash version check for '-x' tracing + + test-lib: translate SIGTERM and SIGHUP to an exit + (this branch uses sg/test-bash-version-fix.) + + Flaky tests can now be repeatedly run under load with the + "--stress" option. + + +* sg/test-bash-version-fix (2019-01-03) 2 commits + (merged to 'next' on 2019-01-08 at f83a0628a0) + + Merge branch 'sg/test-bash-version-fix' + + test-lib: check Bash version for '-x' without using shell arrays + (this branch is used by sg/stress-test.) + + The test suite tried to see if it is run under bash, but the check + itself failed under some other implementations of shell (notably + under NetBSD). This has been corrected. + + +* so/cherry-pick-always-allow-m1 (2019-01-07) 4 commits + (merged to 'next' on 2019-01-08 at 2b790fec25) + + t3506: validate '-m 1 -ff' is now accepted for non-merge commits + + t3502: validate '-m 1' argument is now accepted for non-merge commits + + cherry-pick: do not error on non-merge commits when '-m 1' is specified + + t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks + + "git cherry-pick -m1" was forbidden when picking a non-merge + commit, even though there _is_ parent number 1 for such a commit. + This was done to avoid mistakes back when "cherry-pick" was about + picking a single commit, but is no longer useful with "cherry-pick" + that can pick a range of commits. Now the "-m$num" option is + allowed when picking any commit, as long as $num names an existing + parent of the commit. + + Technically this is a backward incompatible change; hopefully + nobody is relying on the error-checking behaviour. + + +* tg/t5570-drop-racy-test (2019-01-07) 2 commits + (merged to 'next' on 2019-01-08 at 9fc753bbdc) + + Revert "t/lib-git-daemon: record daemon log" + + t5570: drop racy test + + An inherently racy test that caused intermittent failures has been + removed. + +-------------------------------------------------- +[New Topics] + +* ab/commit-graph-write-optim (2019-01-17) 1 commit + - commit-graph write: use pack order when finding commits + (this branch uses ab/commit-graph-write-progress.) + + The codepath to write out commit-graph has been optimized by + following the usual pattern of visiting objects in in-pack order. + + This is taken hostage of the other topic; it may be slightly better + if the dependency were the other way around, to allow this to + graduate faster without waiting for the other. + + Needs sign-off. + + +* ab/commit-graph-write-progress (2019-01-17) 9 commits + - 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_large_edges() unnecessarily + - commit-graph: rename 'num_extra_edges' variable to 'num_large_edges' + (this branch is used by ab/commit-graph-write-optim.) + + The codepath to show progress meter while writing out commit-graph + file has been improved. + + Proposed updates for the bottom two have been raised. + cf. <20190118170549.30403-1-szeder.dev@gmail.com> + + +* cc/test-ref-store-typofix (2019-01-17) 1 commit + - helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo + + An obvious typo in an assersion error message has been fixed. + + Will merge to 'next'. + + +* jk/add-ignore-errors-bit-assignment-fix (2019-01-17) 1 commit + - add: use separate ADD_CACHE_RENORMALIZE flag + + "git add --ignore-errors" did not work as advertised and instead + worked as an unintended synonym for "git add --renormalize", which + has been fixed. + + Will merge to 'next'. + + +* js/mingw-unc-path-w-backslashes (2019-01-18) 2 commits + - mingw: special-case arguments to `sh` + - mingw (t5580): document bug when cloning from backslashed UNC paths + + In Git for Windows, "git clone \\server\share\path" etc. that uses + UNC paths from command line had bad interaction with its shell + emulation. + + Will merge to 'next'. + + +* js/t6042-timing-fix (2019-01-17) 1 commit + - t6042: work around speed optimization on Windows + + Test update. + + Will merge to 'next'. + + +* jt/namespaced-ls-refs-fix (2019-01-18) 1 commit + - ls-refs: filter refs using namespace-stripped name + + Fix namespace support in protocol v2. + + Will merge to 'next'. + + +* bp/checkout-new-branch-optim (2019-01-18) 2 commits + - checkout: fix regression in checkout -b on intitial checkout + - checkout: add test to demonstrate regression with checkout -b on initial commit + + "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 does 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. + + Seems to break an existing test... + + +* br/blame-ignore (2019-01-18) 3 commits + - blame: add a config option to mark ignored lines + - blame: add the ability to ignore commits and their changes + - Move init_skiplist() outside of fsck + + "git blame" learned to "ignore" commits in the history, whose + effects (as well as their presence) get ignored. + + +* js/abspath-part-inside-repo (2019-01-18) 1 commit + - abspath_part_inside_repo: respect core.ignoreCase + + On a case-insensntive 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 'next'. + + +* nd/diff-parseopt (2019-01-18) 77 commits + - SQUASH??? + - am: avoid diff_opt_parse() + - diff --no-index: use parse_options() instead of diff_opt_parse() + - range-diff: use parse_options() instead of diff_opt_parse() + - diff.c: allow --no-color-moved-ws + - diff.c: convert --color-moved-ws + - diff.c: convert --color-moved + - diff.c: convert --inter-hunk-context + - diff.c: convert --no-prefix + - diff.c: convert --line-prefix + - diff.c: convert --[src|dst]-prefix + - diff.c: convert --[no-]abbrev + - diff.c: convert --diff-filter + - diff.c: convert --find-object + - diff.c: convert -O + - diff.c: convert --pickaxe-all|--pickaxe-regex + - diff.c: convert -S|-G + - diff.c: convert -l + - diff.c: convert -z + - diff.c: convert --ita-[in]visible-in-index + - diff.c: convert --ws-error-highlight + - diff.c: convert --submodule + - diff.c: convert --ignore-submodules + - diff.c: convert --textconv + - diff.c: convert --ext-diff + - diff.c: convert --quiet + - diff.c: convert --exit-code + - diff.c: convert --color-words + - diff.c: convert --word-diff-regex + - diff.c: convert --word-diff + - diff.c: convert --[no-]color + - diff.c: convert --[no-]follow + - diff.c: convert -R + - diff.c: convert -a|--text + - diff.c: convert --full-index + - diff.c: convert --binary + - diff.c: convert --anchored + - diff.c: convert --diff-algorithm + - diff.c: convert --histogram + - diff.c: convert --patience + - diff.c: convert --[no-]indent-heuristic + - diff.c: convert --ignore-some-changes + - diff.c: convert --[no-]minimal + - diff.c: convert --relative + - diff.c: convert --no-renames|--[no--rename-empty + - diff.c: convert --find-copies-harder + - diff.c: convert -C|--find-copies + - diff.c: convert -D|--irreversible-delete + - diff.c: convert -M|--find-renames + - diff.c: convert -B|--break-rewrites + - diff.c: convert --output-* + - diff.c: convert --[no-]compact-summary + - diff.c: convert --stat* + - diff.c: convert -s|--no-patch + - diff.c: convert --name-status + - diff.c: convert --name-only + - diff.c: convert --patch-with-stat + - diff.c: convert --summary + - diff.c: convert --check + - diff.c: convert --dirstat and friends + - diff.c: convert --numstat and --shortstat + - diff.c: convert --patch-with-raw + - 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: allow keep-unknown + stop-at-non-opt combination + - 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 has been rewritten to use the + parse-options API. + +-------------------------------------------------- +[Cooking] * sc/pack-redundant (2019-01-14) 5 commits - pack-redundant: consistent sort method @@ -194,69 +494,53 @@ of the repositories listed at * pw/diff-color-moved-ws-fix (2019-01-10) 9 commits - - 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 + (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 "git diff --color-moved-ws" updates. - Will merge to 'next'. - - -* en/show-ref-doc-fix (2019-01-10) 1 commit - (merged to 'next' on 2019-01-14 at f875bfb9a4) - + git-show-ref.txt: fix order of flags - - Doc update. - Will merge to 'master'. * it/log-format-source (2019-01-11) 1 commit - - log: add %S option (like --source) to log --format + (merged to 'next' on 2019-01-18 at d660044e93) + + log: add %S option (like --source) to log --format Custom userformat "log --format" learned %S atom that stands for the tip the traversal reached the commit from, i.e. --source. - Will merge to 'next'. + Will merge to 'master'. -* js/filter-options-should-use-plain-int (2019-01-08) 1 commit - - filter-options: expand scaled numbers +* 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.) 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 'next'. - - -* js/gc-repack-close-before-remove (2019-01-11) 1 commit - (merged to 'next' on 2019-01-14 at 9daedfee40) - + gc/repack: release packs when needed - - "git gc" and "git repack" did not close the open packfiles that - they found unneeded before removing them, which didn't work on a - platform incapable of removing an open file. This has been - corrected. - Will merge to 'master'. * jt/upload-pack-deepen-relative-proto-v2 (2019-01-10) 2 commits - - upload-pack: teach deepen-relative in protocol v2 - - fetch-pack: do not take shallow lock unnecessarily + (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 "git fetch --deepen=" has been corrected to work over v2 protocol. - Will merge to 'next'. + Will merge to 'master'. * nd/config-move-to (2019-01-14) 7 commits @@ -271,7 +555,7 @@ of the repositories listed at Needs review. -* sg/travis-specific-cc (2019-01-10) 4 commits +* 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 @@ -280,11 +564,10 @@ of the repositories listed at The travis CI scripts have been corrected to build Git with the compiler(s) of our choice. - Will likely to break linux32 build due to outdated code in - compat/obstack. + Will merge to 'next'. -* sg/obstack-cast-function-type-fix (2019-01-14) 1 commit +* sg/obstack-cast-function-type-fix (2019-01-17) 1 commit - compat/obstack: fix -Wcast-function-type warnings The compat/obstack code had casts that -Wcast-function-type @@ -312,29 +595,31 @@ of the repositories listed at * jk/remote-insteadof-cleanup (2019-01-11) 1 commit - - remote: check config validity before creating rewrite struct + (merged to 'next' on 2019-01-18 at 112c93eef3) + + remote: check config validity before creating rewrite struct Code clean-up. - Will merge to 'next'. + Will merge to 'master'. * jk/save-getenv-result (2019-01-11) 6 commits - - 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 + (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 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. - Will merge to 'next'. + Will merge to 'master'. -* jt/fetch-v2-sideband (2019-01-15) 5 commits +* jt/fetch-v2-sideband (2019-01-17) 5 commits - tests: define GIT_TEST_SIDEBAND_ALL - {fetch,upload}-pack: sideband v2 fetch response - sideband: reverse its dependency on pkt-line @@ -359,9 +644,9 @@ of the repositories listed at Will merge to 'master'. -* ld/git-p4-shelve-update-fix (2019-01-14) 2 commits - - git-p4: handle update of moved files when updating a shelve - - git-p4: add failing test for shelved CL update involving move +* ld/git-p4-shelve-update-fix (2019-01-18) 2 commits + - 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. @@ -401,188 +686,36 @@ of the repositories listed at * bc/tree-walk-oid (2019-01-15) 5 commits - - 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 + (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 The code to walk tree objects has been taught that we may be working with object names that are not computed with SHA-1. - Will merge to 'next'. + Will merge to 'master'. * js/add-e-clear-patch-before-stating (2019-01-15) 1 commit - - add --edit: truncate the patch file + (merged to 'next' on 2019-01-18 at 9ea7fc4b49) + + add --edit: truncate the patch file "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. - Will merge to 'next'. + Will merge to 'master'. -* js/commit-graph-read-overflow-fix (2019-01-15) 3 commits - - Makefile: correct example fuzz build - - commit-graph: fix buffer read-overflow - - commit-graph, fuzz: add fuzzer for commit-graph - - The code to read the commit-graph file was not prepared to see a - corrupt size field in the file, and ended up reading beyond the end - of the buffer. - - Will merge to 'next'. - --------------------------------------------------- -[Cooking] - * jt/fetch-pack-v2 (2019-01-10) 1 commit - - fetch-pack: support protocol version 2 + (merged to 'next' on 2019-01-18 at 75ceb55ff8) + + fetch-pack: support protocol version 2 "git fetch-pack" now can talk the version 2 protocol. - Will merge to 'next'. - - -* jn/stripspace-wo-repository (2018-12-26) 1 commit - (merged to 'next' on 2019-01-08 at 81815821c9) - + stripspace: allow -s/-c outside git repository - - "git stripspace" should be usable outside a git repository, but - under the "-s" or "-c" mode, it didn't. - - Will merge to 'master'. - - -* ma/asciidoctor (2018-12-26) 3 commits - (merged to 'next' on 2019-01-08 at 3cfd4ad6cb) - + git-status.txt: render tables correctly under Asciidoctor - + Documentation: do not nest open blocks - + git-column.txt: fix section header - - Some of the documentation pages formatted incorrectly with - Asciidoctor, which have been fixed. - - Will merge to 'master'. - - -* nd/worktree-remove-with-uninitialized-submodules (2019-01-07) 1 commit - (merged to 'next' on 2019-01-08 at e19cfe8741) - + worktree: allow to (re)move worktrees with uninitialized submodules - - "git worktree remove" and "git worktree move" refused to work when - there is a submodule involved. This has been loosened to ignore - uninitialized submodules. - - Will merge to 'master'. - - -* sb/submodule-unset-core-worktree-when-worktree-is-lost (2018-12-26) 4 commits - (merged to 'next' on 2019-01-08 at 38f3175a2b) - + submodule deinit: unset core.worktree - + submodule--helper: fix BUG message in ensure_core_worktree - + submodule: unset core.worktree if no working tree is present - + submodule update: add regression test with old style setups - - The core.worktree setting in a submodule repository should not be - pointing at a directory when the submodule loses its working tree - (e.g. getting deinit'ed), but the code did not properly maintain - this invariant. - - Will merge to 'master'. - - -* so/cherry-pick-always-allow-m1 (2019-01-07) 4 commits - (merged to 'next' on 2019-01-08 at 2b790fec25) - + t3506: validate '-m 1 -ff' is now accepted for non-merge commits - + t3502: validate '-m 1' argument is now accepted for non-merge commits - + cherry-pick: do not error on non-merge commits when '-m 1' is specified - + t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks - - "git cherry-pick -m1" was forbidden when picking a non-merge - commit, even though there _is_ parent number 1 for such a commit. - This was done to avoid mistakes back when "cherry-pick" was about - picking a single commit, but is no longer useful with "cherry-pick" - that can pick a range of commits. Now the "-m$num" option is - allowed when picking any commit, as long as $num names an existing - parent of the commit. - - Technically this is a backward incompatible change; hopefully - nobody is relying on the error-checking behaviour. - - Will merge to 'master'. - - -* cy/completion-typofix (2019-01-03) 1 commit - (merged to 'next' on 2019-01-08 at 6c6f01a07d) - + completion: fix typo in git-completion.bash - - Typofix. - - Will merge to 'master'. - - -* cy/zsh-completion-SP-in-path (2019-01-03) 2 commits - (merged to 'next' on 2019-01-08 at fee27de30b) - + completion: treat results of git ls-tree as file paths - + zsh: complete unquoted paths with spaces correctly - - With zsh, "git cmd path" was completed to "git cmd path name" - when the completed path has a special character like SP in it, - without any attempt to keep "path name" a single filename. This - has been fixed to complete it to "git cmd path\ name" just like - Bash completion does. - - Will merge to 'master'. - - -* ds/commit-graph-assert-missing-parents (2019-01-02) 1 commit - (merged to 'next' on 2019-01-08 at d141f063e0) - + commit-graph: writing missing parents is a BUG - - Tightening error checking in commit-graph writer. - - Will merge to 'master'. - - -* ed/simplify-setup-git-dir (2019-01-03) 1 commit - (merged to 'next' on 2019-01-08 at 8722c7c2ef) - + Simplify handling of setup_git_directory_gently() failure cases. - - Code simplification. - - Will merge to 'master'. - - -* es/doc-worktree-guessremote-config (2018-12-28) 1 commit - (merged to 'next' on 2019-01-08 at f1dc5e39a6) - + doc/config: do a better job of introducing 'worktree.guessRemote' - - Doc clarification. - - Will merge to 'master'. - - -* ew/ban-strncat (2019-01-02) 1 commit - (merged to 'next' on 2019-01-08 at 3bba2ae2bb) - + banned.h: mark strncat() as banned - - The "strncat()" function is now among the banned functions. - - Will merge to 'master'. - - -* jk/dev-build-format-security (2019-01-07) 1 commit - (merged to 'next' on 2019-01-08 at 3761ab7026) - + config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users - - Earlier we added "-Wformat-security" to developer builds, assuming - that "-Wall" (which includes "-Wformat" which in turn is required - to use "-Wformat-security") is always in effect. This is not true - when config.mak.autogen is in use, unfortunately. This has been - fixed by unconditionally adding "-Wall" to developer builds. - Will merge to 'master'. @@ -598,7 +731,7 @@ of the repositories listed at cf. -* js/rebase-am (2019-01-03) 4 commits +* 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 @@ -624,62 +757,27 @@ of the repositories listed at * os/rebase-runs-post-checkout-hook (2019-01-02) 2 commits - - rebase: run post-checkout hook on checkout - - t5403: simplify by using a single repository + (merged to 'next' on 2019-01-18 at a03d536318) + + rebase: run post-checkout hook on checkout + + t5403: simplify by using a single repository "git rebase" internally runs "checkout" to switch between branches, and the command used to call the post-checkout hook, but the reimplementation stopped doing so, which is getting fixed. - Will merge to 'next'. - - -* rb/hpe (2019-01-03) 5 commits - (merged to 'next' on 2019-01-08 at 52d6995399) - + compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop - + git-compat-util.h: add FLOSS headers for HPE NonStop - + config.mak.uname: support for modern HPE NonStop config. - + transport-helper: drop read/write errno checks - + transport-helper: use xread instead of read - - Portability updates for the HPE NonStop platform. - - Will merge to 'master'. - - -* sg/test-bash-version-fix (2019-01-03) 2 commits - (merged to 'next' on 2019-01-08 at f83a0628a0) - + Merge branch 'sg/test-bash-version-fix' - + test-lib: check Bash version for '-x' without using shell arrays - (this branch is used by sg/stress-test.) - - The test suite tried to see if it is run under bash, but the check - itself failed under some other implementations of shell (notably - under NetBSD). This has been corrected. - Will merge to 'master'. * ms/http-no-more-failonerror (2019-01-10) 5 commits - - 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 + (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 Debugging help for http transport. - Will merge to 'next'. - - -* tg/t5570-drop-racy-test (2019-01-07) 2 commits - (merged to 'next' on 2019-01-08 at 9fc753bbdc) - + Revert "t/lib-git-daemon: record daemon log" - + t5570: drop racy test - - An inherently racy test that caused intermittent failures has been - removed. - Will merge to 'master'. @@ -698,12 +796,13 @@ of the repositories listed at * ja/doc-build-l10n (2019-01-07) 1 commit - - Documentation/Makefile add optional targets for l10n + (merged to 'next' on 2019-01-18 at 5dbe5ad3d7) + + Documentation/Makefile add optional targets for l10n Prepare Documentation/Makefile so that manpage localization can reuse it by overriding and tweaking the list of build products. - Will merge to 'next'. + Will merge to 'master'. * jk/loose-object-cache-oid (2019-01-08) 11 commits @@ -718,7 +817,6 @@ of the repositories listed at - http: use struct object_id instead of bare sha1 - update comment references to sha1_object_info() - sha1-file: fix outdated sha1 comment references - (this branch uses rs/loose-object-cache-perffix.) Code clean-up. @@ -728,50 +826,11 @@ of the repositories listed at which is probably more clear. -* mm/multimail-1.5 (2019-01-07) 1 commit - (merged to 'next' on 2019-01-08 at 8c872af48e) - + git-multimail: update to release 1.5.0 - - Update "git multimail" from the upstream. - - Will merge to 'master'. - - -* po/git-p4-wo-login (2019-01-07) 1 commit - (merged to 'next' on 2019-01-08 at a7cc58d6b9) - + git-p4: fix problem when p4 login is not necessary - - "git p4" update. - - Will merge to 'master'. - - -* rs/loose-object-cache-perffix (2019-01-08) 4 commits - (merged to 'next' on 2019-01-08 at 36e355e099) - + object-store: retire odb_load_loose_cache() - + object-store: use one oid_array per subdirectory for loose cache - + object-store: factor out odb_clear_loose_cache() - + object-store: factor out odb_loose_cache() - (this branch is used by jk/loose-object-cache-oid.) - - The loose object cache used to optimize existence look-up has been - updated. - - Will merge to 'master'. - - -* rs/sha1-file-close-mapped-file-on-error (2019-01-07) 1 commit - (merged to 'next' on 2019-01-08 at 5841cbc153) - + sha1-file: close fd of empty file in map_sha1_file_1() - - Code clean-up. - - Will merge to 'master'. - - -* lt/date-human (2019-01-02) 3 commits - - t0006-date.sh: add `human` date format tests. +* lt/date-human (2019-01-18) 5 commits + - Add `human` date format tests. + - Add `human` format to test-tool - Add 'human' date format documentation + - Remove the proposed use of auto as secondary way to specify human - Add 'human' date format A new date format "--date=human" that morphs its output depending @@ -804,12 +863,10 @@ of the repositories listed at Comments? -* ds/push-sparse-tree-walk (2019-01-14) 7 commits - - revision.c: fix sparse warnings (sparse algorithm) +* 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 - - pack-objects: add --sparse option - list-objects: consume sparse tree walk - revision: add mark_tree_uninteresting_sparse @@ -817,27 +874,27 @@ of the repositories listed at objects to send, that trades the resulting packfile off to save traversal cost to favor small pushes. - May need a further update, including squashing the tip commit to a - releavant place. + Will merge to 'next'. * js/rebase-i-redo-exec (2018-12-11) 3 commits - - rebase: introduce a shortcut for --reschedule-failed-exec - - rebase: add a config option to default to --reschedule-failed-exec - - rebase: introduce --reschedule-failed-exec + (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 "git rebase -i" learned to re-execute a command given with 'exec' to run after it failed the last time. - Will merge to 'next'. + Will merge to 'master'. -* md/list-objects-filter-by-depth (2019-01-10) 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 uses sb/more-repo-in-api; is tangled with jt/get-reference-with-commit-graph.) +* 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, @@ -846,81 +903,37 @@ of the repositories listed at Will merge to 'next'. -* nd/style-opening-brace (2018-12-10) 1 commit - (merged to 'next' on 2019-01-08 at 80de026e14) - + style: the opening '{' of a function is in a separate line - - Code clean-up. - - Will merge to 'master'. - - -* sg/stress-test (2019-01-07) 8 commits - (merged to 'next' on 2019-01-08 at 2a65cea5f9) - + test-lib: add the '--stress' option to run a test repeatedly under load - + test-lib-functions: introduce the 'test_set_port' helper function - + test-lib: set $TRASH_DIRECTORY earlier - + test-lib: consolidate naming of test-results paths - + test-lib: parse command line options earlier - + test-lib: parse options in a for loop to keep $@ intact - + test-lib: extract Bash version check for '-x' tracing - + test-lib: translate SIGTERM and SIGHUP to an exit - (this branch uses sg/test-bash-version-fix.) - - Flaky tests can now be repeatedly run under load with the - "--stress" option. - - Will merge to 'master'. - - * tg/checkout-no-overlay (2019-01-08) 8 commits - - checkout: introduce checkout.overlayMode config - - checkout: introduce --{,no-}overlay option - - checkout: factor out mark_cache_entry_for_checkout function - - checkout: clarify comment - - read-cache: add invalidate parameter to remove_marked_cache_entries - - entry: support CE_WT_REMOVE flag in checkout_entry - - entry: factor out unlink_entry function - - move worktree tests to t24* + (merged to 'next' on 2019-01-18 at 1e2a79ba5c) + + checkout: introduce checkout.overlayMode config + + checkout: introduce --{,no-}overlay option + + checkout: factor out mark_cache_entry_for_checkout function + + checkout: clarify comment + + read-cache: add invalidate parameter to remove_marked_cache_entries + + entry: support CE_WT_REMOVE flag in checkout_entry + + entry: factor out unlink_entry function + + move worktree tests to t24* "git checkout --no-overlay" can be used to trigger a new mode of checking out paths out of the tree-ish, that allows paths that match the pathspec that are in the current index and working tree and are not in the tree-ish. - Will merge to 'next'. + Will merge to 'master'. * jk/proto-v2-hidden-refs-fix (2019-01-10) 1 commit - - upload-pack: support hidden refs with protocol v2 + (merged to 'next' on 2019-01-18 at 875dbbc71f) + + upload-pack: support hidden refs with protocol v2 The v2 upload-pack protocol implementation failed to honor hidden-ref configuration, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. An earlier attempt reverted out of 'next'. -* la/quiltimport-keep-non-patch (2019-01-07) 1 commit - (merged to 'next' on 2019-01-08 at 37cb490792) - + git-quiltimport: add --keep-non-patch option - - "git quiltimport" learned "--keep-non-patch" option. - - Will merge to 'master'. - - -* sb/submodule-fetchjobs-default-to-one (2018-12-14) 1 commit - (merged to 'next' on 2019-01-08 at 97a522ef5e) - + submodule update: run at most one fetch job unless otherwise set - - "git submodule update" ought to use a single job unless asked, but - by mistake used multiple jobs, which has been fixed. - - Will merge to 'master'. - - -* js/commit-graph-chunk-table-fix (2018-12-14) 3 commits +* js/commit-graph-chunk-table-fix (2019-01-15) 3 commits - Makefile: correct example fuzz build - commit-graph: fix buffer read-overflow - commit-graph, fuzz: add fuzzer for commit-graph @@ -928,15 +941,18 @@ of the repositories listed at 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 'next'. + * jt/get-reference-with-commit-graph (2018-12-28) 1 commit - - revision: use commit graph in get_reference() - (this branch uses sb/more-repo-in-api; is tangled with md/list-objects-filter-by-depth.) + (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. - Will merge to 'next'. + Will merge to 'master'. * dl/merge-cleanup-scissors-fix (2018-11-21) 2 commits @@ -1025,7 +1041,7 @@ of the repositories listed at Will merge to 'next'. -* nb/branch-show-other-worktrees-head (2019-01-07) 4 commits +* nb/branch-show-other-worktrees-head (2019-01-15) 3 commits - branch: add an extra verbose output displaying worktree path for checked out branch - branch: mark and color a branch that is checked out in a linked worktree differently - ref-filter: add worktreepath atom @@ -1041,49 +1057,31 @@ of the repositories listed at sign-off. -* ot/ref-filter-object-info (2019-01-10) 7 commits - (merged to 'next' on 2019-01-10 at 9e740568ce) - + ref-filter: give uintmax_t to format with %PRIuMAX - (merged to 'next' on 2019-01-08 at 0a4d4ed36a) - + ref-filter: add docs for new options - + ref-filter: add tests for deltabase - + ref-filter: add deltabase option - + ref-filter: add tests for objectsize:disk - + ref-filter: add check for negative file size - + ref-filter: add objectsize:disk option - - The "--format=" option of for-each-ref, branch and tag - learned to show a few more traits of objects that can be learned by - the object_info API. - - Will merge to 'master'. - - * sb/more-repo-in-api (2018-12-28) 23 commits - - t/helper/test-repository: celebrate independence from the_repository - - path.h: make REPO_GIT_PATH_FUNC repository agnostic - - commit: prepare free_commit_buffer and release_commit_memory for any repo - - commit-graph: convert remaining functions to handle any repo - - submodule: don't add submodule as odb for push - - submodule: use submodule repos for object lookup - - pretty: prepare format_commit_message to handle arbitrary repositories - - commit: prepare logmsg_reencode to handle arbitrary repositories - - commit: prepare repo_unuse_commit_buffer to handle any repo - - commit: prepare get_commit_buffer to handle any repo - - commit-reach: prepare in_merge_bases[_many] to handle any repo - - commit-reach: prepare get_merge_bases to handle any repo - - commit-reach.c: allow get_merge_bases_many_0 to handle any repo - - commit-reach.c: allow remove_redundant to handle any repo - - commit-reach.c: allow merge_bases_many to handle any repo - - commit-reach.c: allow paint_down_to_common to handle any repo - - commit: allow parse_commit* to handle any repo - - object: parse_object to honor its repository argument - - object-store: prepare has_{sha1, object}_file to handle any repo - - object-store: prepare read_object_file to deal with any repo - - object-store: allow read_object_file_extended to read from any repo - - packfile: allow has_packed_and_bad to handle arbitrary repositories - - sha1_file: allow read_object to read objects in arbitrary repositories - (this branch is used by jt/get-reference-with-commit-graph and md/list-objects-filter-by-depth.) + + t/helper/test-repository: celebrate independence from the_repository + + path.h: make REPO_GIT_PATH_FUNC repository agnostic + + commit: prepare free_commit_buffer and release_commit_memory for any repo + + commit-graph: convert remaining functions to handle any repo + + submodule: don't add submodule as odb for push + + submodule: use submodule repos for object lookup + + pretty: prepare format_commit_message to handle arbitrary repositories + + commit: prepare logmsg_reencode to handle arbitrary repositories + + commit: prepare repo_unuse_commit_buffer to handle any repo + + commit: prepare get_commit_buffer to handle any repo + + commit-reach: prepare in_merge_bases[_many] to handle any repo + + commit-reach: prepare get_merge_bases to handle any repo + + commit-reach.c: allow get_merge_bases_many_0 to handle any repo + + commit-reach.c: allow remove_redundant to handle any repo + + commit-reach.c: allow merge_bases_many to handle any repo + + commit-reach.c: allow paint_down_to_common to handle any repo + + commit: allow parse_commit* to handle any repo + + object: parse_object to honor its repository argument + + object-store: prepare has_{sha1, object}_file to handle any repo + + object-store: prepare read_object_file to deal with any repo + + object-store: allow read_object_file_extended to read from any repo + + packfile: allow has_packed_and_bad to handle arbitrary repositories + + sha1_file: allow read_object to read objects in arbitrary repositories + (this branch is used by js/filter-options-should-use-plain-int, jt/get-reference-with-commit-graph and md/list-objects-filter-by-depth.) The in-core repository instances are passed through more codepaths. @@ -1091,23 +1089,24 @@ of the repositories listed at * bc/sha-256 (2018-11-14) 12 commits - - 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" + (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" Add sha-256 hash and plug it through the code to allow building Git with the "NewHash". - Will merge to 'next'. + Will merge to 'master'. * js/vsts-ci (2018-10-16) 13 commits @@ -1185,20 +1184,21 @@ of the repositories listed at * sb/submodule-recursive-fetch-gets-the-tip (2018-12-09) 9 commits - - 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 + (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 "git fetch --recurse-submodules" may not fetch the necessary commit that is bound to the superproject, which is getting corrected. - Will merge to 'next'. + Will merge to 'master'. * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit @@ -1211,7 +1211,8 @@ of the repositories listed at cf. -* ps/stash-in-c (2019-01-04) 27 commits +* ps/stash-in-c (2019-01-18) 28 commits + - 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 - stash: add back the original, scripted `git stash` @@ -1242,7 +1243,7 @@ of the repositories listed at "git stash" rewritten in C. - Comments? + Will merge to 'next'. * pw/add-p-select (2018-07-26) 4 commits @@ -1261,32 +1262,3 @@ of the repositories listed at cf. I found the feature to be hard to explain, and may result in more end-user complaints, but let's see. - --------------------------------------------------- -[Discarded] - -* nd/backup-log (2018-12-10) 24 commits - . FIXME - . rebase: keep backup of overwritten files on --skip or --abort - . am: keep backup of overwritten files on --skip or --abort - . checkout -f: keep backup of overwritten files - . reset --hard: keep backup of overwritten files - . unpack-trees.c: keep backup of ignored files being overwritten - . refs: keep backup of deleted reflog - . config --edit: support backup log - . sha1-file.c: let index_path() accept NULL istate - . backup-log: keep all blob references around - . gc: prune backup logs - . backup-log: add prune command - . backup-log: add log command - . backup-log: add diff command - . backup-log: add cat command - . backup-log.c: add API for walking backup log - . add--interactive: support backup log - . apply: support backup log with --keep-backup - . commit: support backup log - . update-index: support backup log with --keep-backup - . add: support backup log - . read-cache.c: new flag for add_index_entry() to write to backup log - . backup-log: add "update" subcommand - . doc: introduce new "backup log" concept