From: Junio C Hamano Date: Mon, 17 Apr 2017 07:27:30 +0000 (-0700) Subject: What's cooking (2017/04 #02) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=892fe7d61b8a8649dcc56902531726c0564548a6;p=thirdparty%2Fgit.git What's cooking (2017/04 #02) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 769bbfe2c8..ce8f35e9ea 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 (Apr 2017, #01; Tue, 11) -X-master-at: cf11a67975b057a144618badf16dc4e3d25b9407 -X-next-at: 0e3151a226817c3c07c4878b88a23b0a10c959ef +Subject: What's cooking in git.git (Apr 2017, #02; Sun, 16) +X-master-at: 584f8975d2d9530a34bd0b936ae774f82fe30fed +X-next-at: 2cccc8116438182c988c7f26d9559a1c22e78f1c -What's cooking in git.git (Apr 2017, #01; Tue, 11) +What's cooking in git.git (Apr 2017, #02; Sun, 16) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,12 +12,6 @@ Here are the topics that have been cooking. Commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -The maintainer has been offline for a week or so and is still -expected to be working at a slower pace than usual for the rest of -the week. No new topics has been queued, but the ones already in -the tree have advanced, some graduated to 'master' and others -joining 'next'. - You can find the changes described here in the integration branches of the repositories listed at @@ -26,370 +20,375 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ab/case-insensitive-upstream-and-push-marker (2017-03-27) 1 commit - (merged to 'next' on 2017-03-28 at 166654719e) - + rev-parse: match @{upstream}, @{u} and @{push} case-insensitively +* ab/regen-perl-mak-with-different-perl (2017-03-29) 1 commit + (merged to 'next' on 2017-04-11 at 706b224f1e) + + perl: regenerate perl.mak if perl -V changes - On many keyboards, typing "@{" involves holding down SHIFT key and - one can easily end up with "@{Up..." when typing "@{upstream}". As - the upstream/push keywords do not appear anywhere else in the syntax, - we can safely accept them case insensitively without introducing - ambiguity or confusion to solve this. + Update the build dependency so that an update to /usr/bin/perl + etc. result in recomputation of perl.mak file. -* ab/doc-submitting (2017-03-26) 2 commits - (merged to 'next' on 2017-03-28 at 49e23678df) - + doc/SubmittingPatches: show how to get a CLI commit summary - + doc/SubmittingPatches: clarify the casing convention for "area: change..." +* jc/bs-t-is-not-a-tab-for-sed (2017-03-31) 1 commit + (merged to 'next' on 2017-04-11 at 5573b2c49b) + + contrib/git-resurrect.sh: do not write \t for HT in sed scripts - Doc update. + Code cleanup. -* ab/ref-filter-no-contains (2017-03-24) 16 commits - (merged to 'next' on 2017-03-28 at bdce986928) - + tag: add tests for --with and --without - + ref-filter: reflow recently changed branch/tag/for-each-ref docs - + ref-filter: add --no-contains option to tag/branch/for-each-ref - + tag: change --point-at to default to HEAD - + tag: implicitly supply --list given another list-like option - + tag: change misleading --list documentation - + parse-options: add OPT_NONEG to the "contains" option - + tag: add more incompatibles mode tests - + for-each-ref: partly change to in help - + tag tests: fix a typo in a test description - + tag: remove a TODO item from the test suite - + ref-filter: add test for --contains on a non-commit - + ref-filter: make combining --merged & --no-merged an error - + tag doc: reword --[no-]merged to talk about commits, not tips - + tag doc: split up the --[no-]merged documentation - + tag doc: move the description of --[no-]merged earlier - - "git tag/branch/for-each-ref" family of commands long allowed to - filter the refs by "--contains X" (show only the refs that are - descendants of X), "--merged X" (show only the refs that are - ancestors of X), "--no-merged X" (show only the refs that are not - ancestors of X). One curious omission, "--no-contains X" (show - only the refs that are not descendants of X) has been added to - them. - - -* ab/test-readme-updates (2017-03-26) 3 commits - (merged to 'next' on 2017-03-28 at abdc7b3b15) - + t/README: clarify the test_have_prereq documentation - + t/README: change "Inside part" to "Inside the part" - + t/README: link to metacpan.org, not search.cpan.org - - Doc updates. - - -* ah/log-decorate-default-to-auto (2017-03-24) 1 commit - (merged to 'next' on 2017-03-24 at ce353ebfb5) - + log: if --decorate is not given, default to --decorate=auto - - The default behaviour of "git log" in an interactive session has - been changed to enable "--decorate". - - -* bc/push-cert-receive-fix (2017-03-28) 1 commit - (merged to 'next' on 2017-03-30 at 4f49b383e2) - + builtin/receive-pack: fix incorrect pointer arithmetic - - "git receive-pack" could have been forced to die by attempting - allocate an unreasonably large amount of memory with a crafted push - certificate; this has been fixed. - - -* bw/recurse-submodules-relative-fix (2017-03-17) 5 commits - (merged to 'next' on 2017-03-28 at d0cef6234e) - + ls-files: fix bug when recursing with relative pathspec - + ls-files: fix typo in variable name - + grep: fix bug when recursing with relative pathspec - + setup: allow for prefix to be passed to git commands - + grep: fix help text typo - - A few commands that recently learned the "--recurse-submodule" - option misbehaved when started from a subdirectory of the - superproject. - - -* bw/submodule-is-active (2017-03-18) 10 commits - (merged to 'next' on 2017-03-22 at 4c05cb5ab4) - + submodule add: respect submodule.active and submodule..active - + submodule--helper init: set submodule..active - + clone: teach --recurse-submodules to optionally take a pathspec - + submodule init: initialize active submodules - + submodule: decouple url and submodule interest - + submodule--helper clone: check for configured submodules using helper - + submodule sync: use submodule--helper is-active - + submodule sync: skip work for inactive submodules - + submodule status: use submodule--helper is-active - + submodule--helper: add is-active subcommand - - "what URL do we want to update this submodule?" and "are we - interested in this submodule?" are split into two distinct - concepts, and then the way used to express the latter got extended, - paving a way to make it easier to manage a project with many - submodules and make it possible to later extend use of multiple - worktrees for a project with submodules. - - -* cc/untracked (2017-03-30) 1 commit - (merged to 'next' on 2017-03-30 at 0b20d47950) - + update-index: fix xgetcwd() related memory leak +* jc/unused-symbols (2017-03-31) 1 commit + (merged to 'next' on 2017-04-11 at 750a6d9e97) + + remote.[ch]: parse_push_cas_option() can be static Code cleanup. -* jc/merge-drop-old-syntax (2015-04-29) 1 commit - (merged to 'next' on 2017-02-27 at 2c0f5f73d8) - + merge: drop 'git merge HEAD ' syntax +* jk/loose-object-info-report-error (2017-04-01) 2 commits + (merged to 'next' on 2017-04-11 at 3a33761d94) + + index-pack: detect local corruption in collision check + + sha1_loose_object_info: return error for corrupted objects - Stop supporting "git merge HEAD " syntax that has - been deprecated since October 2007, and issues a deprecation - warning message since v2.5.0. + Update error handling for codepath that deals with corrupt loose + objects. -* jk/make-coccicheck-detect-errors (2017-03-29) 1 commit - (merged to 'next' on 2017-03-30 at 34d4fe70dc) - + Makefile: detect errors in running spatch +* jk/snprintf-cleanups (2017-03-30) 18 commits + (merged to 'next' on 2017-04-11 at 42ac56e886) + + daemon: use an argv_array to exec children + + gc: replace local buffer with git_path + + transport-helper: replace checked snprintf with xsnprintf + + convert unchecked snprintf into xsnprintf + + combine-diff: replace malloc/snprintf with xstrfmt + + replace unchecked snprintf calls with heap buffers + + receive-pack: print --pack-header directly into argv array + + name-rev: replace static buffer with strbuf + + create_branch: use xstrfmt for reflog message + + create_branch: move msg setup closer to point of use + + avoid using mksnpath for refs + + avoid using fixed PATH_MAX buffers for refs + + fetch: use heap buffer to format reflog + + tag: use strbuf to format tag header + + diff: avoid fixed-size buffer for patch-ids + + odb_mkstemp: use git_path_buf + + odb_mkstemp: write filename into strbuf + + do not check odb_mkstemp return value for errors - Build fix. + Code clean-up. -* jk/no-looking-at-dotgit-outside-repo-final (2016-10-26) 1 commit - (merged to 'next' on 2017-02-27 at 7373a1b73d) - + setup_git_env: avoid blind fall-back to ".git" +* js/difftool-builtin (2017-04-13) 2 commits + (merged to 'next' on 2017-04-15 at 0040a91b86) + + difftool: fix use-after-free + (merged to 'next' on 2017-04-11 at 38df92441f) + + difftool: avoid strcpy - This is the endgame of the topic to avoid blindly falling back to - ".git" when the setup sequence said we are _not_ in Git repository. - A corner case that happens to work right now may be broken by a - call to die("BUG"). + Code cleanup. -* js/rebase-i-reword-to-run-hooks (2017-03-27) 3 commits - (merged to 'next' on 2017-03-28 at d23d60f63d) - + sequencer: allow the commit-msg hooks to run during a `reword` - + sequencer: make commit options more extensible - + t7504: document regression: reword no longer calls commit-msg +* mm/ls-files-s-doc (2017-04-01) 1 commit + (merged to 'next' on 2017-04-11 at 7e55625b1e) + + Documentation: document elements in "ls-files -s" output in order - A recent update to "rebase -i" stopped running hooks for the "git - commit" command during "reword" action, which has been fixed. + Doc update. -* ls/travis-relays-for-windows-ci (2017-03-28) 1 commit - - travis-ci: build and test Git on Windows +* qp/bisect-docfix (2017-04-01) 1 commit + (merged to 'next' on 2017-04-11 at 9c20eba240) + + git-bisect.txt: add missing word - Define a new task in .travis.yml that triggers a test session on - Windows run elsewhere. + Doc update. -* mg/describe-debug-l10n (2017-03-27) 2 commits - (merged to 'next' on 2017-03-28 at 16ad604828) - + l10n: de: translate describe debug terms - + describe: localize debug output fully - (this branch is used by mg/name-rev-debug.) +* sb/show-diff-for-submodule-in-diff-fix (2017-04-02) 1 commit + (merged to 'next' on 2017-04-11 at 8d16ef369e) + + diff: submodule inline diff to initialize env array. - Some debugging output from "git describe" were marked for l10n, - but some weren't. Mark missing ones for l10n. + "git diff --submodule=diff" learned to work better in a project + with a submodule that in turn has its own submodules. -* mh/notes-tree-consolidate-fix (2017-03-27) 1 commit - (merged to 'next' on 2017-03-30 at 8383c6c088) - + notes: do not break note_tree structure in note_tree_consolidate() +* sb/unpack-trees-would-lose-submodule-message-update (2017-03-29) 1 commit + (merged to 'next' on 2017-04-11 at 61d8ce8218) + + unpack-trees.c: align submodule error message to the other error messages - Removing an entry from a notes tree and then looking another note - entry from the resulting tree using the internal notes API - functions did not work as expected. No in-tree users of the API - has such access pattern, but it still is worth fixing. + Update an error message. +-------------------------------------------------- +[New Topics] -* rs/freebsd-getcwd-workaround (2017-03-26) 1 commit - (merged to 'next' on 2017-03-28 at 3f3c1553a7) - + strbuf: support long paths w/o read rights in strbuf_getcwd() on FreeBSD +* ah/diff-files-ours-theirs-doc (2017-04-13) 1 commit + - diff-files: document --ours etc. - FreeBSD implementation of getcwd(3) behaved differently when an - intermediate directory is unreadable/unsearchable depending on the - length of the buffer provided, which our strbuf_getcwd() was not - aware of. strbuf_getcwd() has been taught to cope with it better. + The diff options "--ours", "--theirs" exist for quite some time. + But so far they were not documented. Now they are. + Will merge to 'next'. -* sg/completion-ctags (2017-03-23) 3 commits - (merged to 'next' on 2017-03-27 at cf8c081f7d) - + completion: offer ctags symbol names for 'git log -S', '-G' and '-L:' - + completion: extract completing ctags symbol names into helper function - + completion: put matching ctags symbol names directly into COMPREPLY - (this branch uses sg/completion-refs-speedup.) - Command line completion updates. +* dt/xgethostname-nul-termination (2017-04-13) 1 commit + - xgethostname: handle long hostnames + gethostname(2) may not NUL terminate the buffer if hostname does + not fit; unfortunately there is no easy way to see if our buffer + was too small, but at least this will make sure we will not end up + using garbage past the end of the buffer. -* sg/completion-refs-speedup (2017-03-23) 14 commits - (merged to 'next' on 2017-03-27 at 6bb275710d) - + completion: speed up branch and tag completion - + completion: fill COMPREPLY directly when completing fetch refspecs - + completion: fill COMPREPLY directly when completing refs - + completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery - + completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery - + completion: let 'for-each-ref' strip the remote name from remote branches - + completion: let 'for-each-ref' and 'ls-remote' filter matching refs - + completion: don't disambiguate short refs - + completion: don't disambiguate tags and branches - + completion: support excluding full refs - + completion: support completing fully qualified non-fast-forward refspecs - + completion: support completing full refs after '--option=refs/' - + completion: wrap __git_refs() for better option parsing - + completion: remove redundant __gitcomp_nl() options from _git_commit() - (this branch is used by sg/completion-ctags.) + Will merge to 'next'. - The refs completion for large number of refs has been sped up, - partly by giving up disambiguating ambiguous refs and partly by - eliminating most of the shell processing between 'git for-each-ref' - and 'ls-remote' and Bash's completion facility. --------------------------------------------------- -[New Topics] +* jh/string-list-micro-optim (2017-04-15) 1 commit + - string-list: use ALLOC_GROW macro when reallocing string_list -* sb/unpack-trees-would-lose-submodule-message-update (2017-03-29) 1 commit - (merged to 'next' on 2017-04-11 at 61d8ce8218) - + unpack-trees.c: align submodule error message to the other error messages + The string-list API used a custom reallocation strategy that was + very inefficient, instead of using the usual ALLOC_GROW() macro, + which has been fixed. - Update an error message. + Will merge to 'next'. - Will merge to 'master'. +* jh/unpack-trees-micro-optim (2017-04-15) 1 commit + - unpack-trees: avoid duplicate ODB lookups during checkout -* ab/regen-perl-mak-with-different-perl (2017-03-29) 1 commit - (merged to 'next' on 2017-04-11 at 706b224f1e) - + perl: regenerate perl.mak if perl -V changes + In a 2- and 3-way merge of trees, more than one source trees often + end up sharing an identical subtree; optimize by not reading the + same tree multiple times in such a case. - Update the build dependency so that an update to /usr/bin/perl - etc. result in recomputation of perl.mak file. + Will merge to 'next'. - Will merge to 'master'. +* jh/verify-index-checksum-only-in-fsck (2017-04-15) 1 commit + - read-cache: force_verify_index_checksum -* js/difftool-builtin (2017-03-30) 1 commit - (merged to 'next' on 2017-04-11 at 38df92441f) - + difftool: avoid strcpy + The index file has a trailing SHA-1 checksum to detect file + corruption, and historically we checked it every time the index + file is used. Omit the validation during normal use, and instead + verify only in "git fsck". - Code cleanup. + Will merge to 'next'. - Will merge to 'master'. +* jk/no-looking-at-dotgit-outside-repo (2017-04-16) 2 commits + - test-read-cache: setup git dir + - has_sha1_file: don't bother if we are not in a repository -* dt/http-postbuffer-can-be-large (2017-03-31) 1 commit - - http.postbuffer: allow full range of ssize_t values + Clean up fallouts from recent tightening of the set-up sequence, + where Git barfs when repository information is accessed without + first ensuring that it was started in a repository. - Allow the http.postbuffer configuration variable to be set to a - size that can be expressed in size_t, which can be larger than - ulong on some platforms. + Will merge to 'next'. + + +* ls/travis-doc-asciidoctor (2017-04-16) 3 commits + - travis-ci: unset compiler for jobs that do not need one + - travis-ci: parallelize documentation build + - travis-ci: build documentation with AsciiDoc and Asciidoctor + + Have Travis CI format the documentation with both AsciiDoc and + AsciiDoctor. Will merge to 'next'. -* jh/core-checksum-index (2017-03-30) 1 commit - - read-cache: core.checksumindex +* mg/status-in-progress-info (2017-04-14) 1 commit + - status: show in-progress info for short status - Expecting a reroll. - cf. <094f16d2-e1d9-1478-df6a-4f24f17e184e@jeffhostetler.com> + "git status" learns an option to report various operations + (e.g. "merging") that the user is in the middle of. -* jc/unused-symbols (2017-03-31) 1 commit - (merged to 'next' on 2017-04-11 at 750a6d9e97) - + remote.[ch]: parse_push_cas_option() can be static +* nd/conditional-config-include (2017-04-14) 2 commits + - config: resolve symlinks in conditional include's patterns + - path.c: and an option to call real_path() in expand_user_path() - Code cleanup. + $GIT_DIR may in some cases be normalized with all symlinks resolved + while "gitdir" path expansion in the pattern does not receive the + same treatment, leading to incorrect mismatch. This has been fixed. - Will merge to 'master'. + Will merge to 'next'. -* jh/memihash-opt (2017-03-31) 1 commit - (merged to 'next' on 2017-04-11 at ec5a6f2818) - + name-hash: fix buffer overrun +* nd/worktree-add-lock (2017-04-16) 2 commits + - SQUASH??? + - worktree add: add --lock option - Hotfix for a topic that is already in 'master'. + Allow to lock a worktree immediately after it's created. This helps + prevent a race between "git worktree add; git worktree lock" and + "git worktree prune". - Will merge to 'master'. - This already has the fix for "sed '...\t'" squashed in. + Waiting for a response to SQUASH??? -* jk/loose-object-info-report-error (2017-04-01) 2 commits - (merged to 'next' on 2017-04-11 at 3a33761d94) - + index-pack: detect local corruption in collision check - + sha1_loose_object_info: return error for corrupted objects +* ps/pathspec-empty-prefix-origin (2017-04-14) 1 commit + - pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix - Update error handling for codepath that deals with corrupt loose - objects. - Will merge to 'master'. +* sb/submodule-rm-absorb (2017-04-13) 1 commit + - submodule.c: add missing ' in error messages + Error message fix. -* jc/bs-t-is-not-a-tab-for-sed (2017-03-31) 1 commit - (merged to 'next' on 2017-04-11 at 5573b2c49b) - + contrib/git-resurrect.sh: do not write \t for HT in sed scripts + Will merge to 'next'. + + +* sr/http-proxy-configuration-fix (2017-04-13) 2 commits + - http: fix the silent ignoring of proxy misconfiguraion + - http: honor empty http.proxy option to bypass proxy + + "http.proxy" set to an empty string is used to disable the usage of + proxy. We broke this early last year. + + Will merge to 'next'. + + +* tb/doc-eol-normalization (2017-04-13) 1 commit + - gitattributes.txt: document how to normalize the line endings + + Doc update. + + Will merge to 'next'. + + +* va/i18n-perl-scripts (2017-04-13) 1 commit + - git-add--interactive.perl: add missing dot in a message + + Message fix. + + Will merge to 'next'. + + +* bw/submodule-is-active (2017-04-13) 1 commit + - submodule--helper: fix typo in is_active error message + + Error message fix. + + Will merge to 'next'. + + +* gb/rebase-signoff (2017-04-16) 3 commits + - rebase: pass --[no-]signoff option to git am + - builtin/am: fold am_signoff() into am_append_signoff() + - builtin/am: honor --signoff also when --rebasing + + "git rebase" learns "--signoff" option. + + +* jh/add-index-entry-optim (2017-04-15) 3 commits + - read-cache: speed up add_index_entry during checkout + - p0006-read-tree-checkout: perf test to time read-tree + - read-cache: add strcmp_offset function + + "git checkout" that handles a lot of paths has been optimized by + reducing the number of unnecessary checks of paths in the + has_dir_name() function. + + Will merge to 'next'. + + +* ab/grep-plug-pathspec-leak (2017-04-16) 1 commit + - grep: plug a trivial memory leak + + Call clear_pathspec() to release resources immediately before the + cmd_grep() function returns. + + Will merge to 'next'. + Meh. + +* ab/grep-threading-cleanup (2017-04-16) 8 commits + - grep: given --threads with NO_PTHREADS=YesPlease, warn + - pack-objects: fix buggy warning about threads under NO_PTHREADS=YesPlease + - pack-object & index-pack: add test for --threads warning under NO_PTHREADS + - tests: add a PTHREADS prerequisite + - grep: skip pthreads overhead when using one thread + - grep: don't redundantly compile throwaway patterns under threading + - grep: add tests for --threads=N and grep.threads + - grep: assert that threading is enabled when calling grep_{lock,unlock} + + +* bw/attr-pathspec (2017-04-16) 1 commit + - pathspec: fix segfault in clear_pathspec + + Will merge to 'next'. + Hotfix for a topic already in 'master'. + + +* bw/submodule-with-bs-path (2017-04-16) 1 commit + - submodule: prevent backslash expantion in submodule names + + "git submodule" script does not work well with strange pathnames. + Protect it from a path with slashes in them, at least. + + Will merge to 'next'. + + +* dt/gc-ignore-old-gc-logs (2017-04-16) 1 commit + - t6500: wait for detached auto gc at the end of the test script + + Will merge to 'next'. + Hotfix for a topic already in 'master'. + + +* jk/loose-object-fsck (2017-04-16) 1 commit + - sha1_file: remove an used fd variable Code cleanup. - Will merge to 'master'. + Will merge to 'next'. -* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits - - push: propagate remote and refspec with --recurse-submodules - - submodule--helper: add push-check subcommand - - remote: expose parse_push_refspec function - - push: propagate push-options with --recurse-submodules - - push: unmark a local variable as static +* jk/quarantine-received-objects (2017-04-16) 3 commits + - refs: reject ref updates while GIT_QUARANTINE_PATH is set + - receive-pack: document user-visible quarantine effects + - receive-pack: drop tmp_objdir_env from run_update_hook - "git push --recurse-submodules --push-option=" learned to - propagate the push option recursively down to pushes in submodules. + Add finishing touches to a recent topic. Will merge to 'next'. -* mm/ls-files-s-doc (2017-04-01) 1 commit - (merged to 'next' on 2017-04-11 at 7e55625b1e) - + Documentation: document elements in "ls-files -s" output in order +* ld/p4-current-branch-fix (2017-04-16) 3 commits + - git-p4: don't use name-rev to get current branch + - git-p4: add read_pipe_text() internal function + - git-p4: add failing test for name-rev rather than symbolic-ref - Doc update. + "git p4" used "name-rev HEAD" when it wants to learn what branch is + checked out; it should use "symbolic-ref HEAD". - Will merge to 'master'. + Will merge to 'next'. -* pc/t2027-git-to-pipe-cleanup (2017-04-01) 1 commit - - t2027: avoid using pipes +* ls/travis-coccicheck (2017-04-16) 1 commit + - travis-ci: add static analysis build job to run coccicheck - Having a git command on the upstream side of a pipe in a test - script will hide the exit status from the command, which may cause - us to fail to notice a breakage; rewrite tests in a script to avoid - this issue. + Travis CI learns to run coccicheck. -* qp/bisect-docfix (2017-04-01) 1 commit - (merged to 'next' on 2017-04-11 at 9c20eba240) - + git-bisect.txt: add missing word +* rs/misc-cppcheck-fixes (2017-04-16) 3 commits + - server-info: avoid calling fclose(3) twice in update_info_file() + - files_for_each_reflog_ent_reverse(): close stream and free strbuf on error + - am: close stream on error, but not stdin - Doc update. + Will merge to 'next'. + Various small fixes. - Will merge to 'master'. +* sf/putty-w-args (2017-04-16) 1 commit + - connect.c: handle errors from split_cmdline -* sb/show-diff-for-submodule-in-diff-fix (2017-04-02) 1 commit - (merged to 'next' on 2017-04-11 at 8d16ef369e) - + diff: submodule inline diff to initialize env array. + Will merge to 'next'. + Hotfix for a topic already in 'master'. - "git diff --submodule=diff" learned to work better in a project - with a submodule that in turn has its own submodules. - Will merge to 'master'. +* km/t1400-modernization (2017-04-16) 1 commit + - t1400: use consistent style for test_expect_success calls + Code cleanup. -* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit - - mailinfo: fix in-body header continuations + Will merge to 'next'. - If a patch e-mail had its first paragraph after an in-body header - indented (even after a blank line after the in-body header line), - the indented line was mistook as a continuation of the in-body - header. This has been fixed. + +* vn/revision-shorthand-for-side-branch-log (2017-04-16) 1 commit + - doc/revisions: remove brackets from rev^-n shorthand + + Doc cleanup. Will merge to 'next'. @@ -517,6 +516,63 @@ of the repositories listed at -------------------------------------------------- [Cooking] +* dt/http-postbuffer-can-be-large (2017-04-13) 1 commit + - http.postbuffer: allow full range of ssize_t values + + Allow the http.postbuffer configuration variable to be set to a + size that can be expressed in size_t, which can be larger than + ulong on some platforms. + + Will merge to 'next'. + + +* jh/memihash-opt (2017-04-12) 3 commits + (merged to 'next' on 2017-04-15 at 6bfc58e19a) + + t3008: skip lazy-init test on a single-core box + + test-online-cpus: helper to return cpu count + (merged to 'next' on 2017-04-11 at ec5a6f2818) + + name-hash: fix buffer overrun + + Hotfix for a topic that is already in 'master'. + + Will merge to 'master'. + + +* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits + (merged to 'next' on 2017-04-16 at d4d657724b) + + push: propagate remote and refspec with --recurse-submodules + + submodule--helper: add push-check subcommand + + remote: expose parse_push_refspec function + + push: propagate push-options with --recurse-submodules + + push: unmark a local variable as static + + "git push --recurse-submodules --push-option=" learned to + propagate the push option recursively down to pushes in submodules. + + Will merge to 'master'. + + +* pc/t2027-git-to-pipe-cleanup (2017-04-14) 1 commit + - t2027: avoid using pipes + + Having a git command on the upstream side of a pipe in a test + script will hide the exit status from the command, which may cause + us to fail to notice a breakage; rewrite tests in a script to avoid + this issue. + + +* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit + (merged to 'next' on 2017-04-16 at b2f51f0780) + + mailinfo: fix in-body header continuations + + If a patch e-mail had its first paragraph after an in-body header + indented (even after a blank line after the in-body header line), + the indented line was mistook as a continuation of the in-body + header. This has been fixed. + + Will merge to 'master'. + + * bp/sub-process-convert-filter (2017-03-30) 8 commits - convert: update subprocess_read_status to not die on EOF - sub-process: move sub-process functions into separate files @@ -530,7 +586,8 @@ of the repositories listed at Code from "conversion using external process" codepath has been extracted to a separate sub-process.[ch] module. - This looks ready for 'next'. Any more comments? + Reroll exists but needs more work. + cf. <20170407120354.17736-1-benpeart@microsoft.com> * cc/split-index-config (2017-03-30) 1 commit @@ -543,32 +600,6 @@ of the repositories listed at The code looked OK, though. -* jk/snprintf-cleanups (2017-03-30) 18 commits - (merged to 'next' on 2017-04-11 at 42ac56e886) - + daemon: use an argv_array to exec children - + gc: replace local buffer with git_path - + transport-helper: replace checked snprintf with xsnprintf - + convert unchecked snprintf into xsnprintf - + combine-diff: replace malloc/snprintf with xstrfmt - + replace unchecked snprintf calls with heap buffers - + receive-pack: print --pack-header directly into argv array - + name-rev: replace static buffer with strbuf - + create_branch: use xstrfmt for reflog message - + create_branch: move msg setup closer to point of use - + avoid using mksnpath for refs - + avoid using fixed PATH_MAX buffers for refs - + fetch: use heap buffer to format reflog - + tag: use strbuf to format tag header - + diff: avoid fixed-size buffer for patch-ids - + odb_mkstemp: use git_path_buf - + odb_mkstemp: write filename into strbuf - + do not check odb_mkstemp return value for errors - - Code clean-up. - - Will merge to 'master'. - - * mg/name-rev-debug (2017-03-31) 4 commits - describe: pass --debug down to name-rev - name-rev: provide debug output @@ -583,40 +614,42 @@ of the repositories listed at * bc/object-id (2017-03-31) 20 commits - - Documentation: update and rename api-sha1-array.txt - - Rename sha1_array to oid_array - - Convert sha1_array_for_each_unique and for_each_abbrev to object_id - - Convert sha1_array_lookup to take struct object_id - - Convert remaining callers of sha1_array_lookup to object_id - - Make sha1_array_append take a struct object_id * - - sha1-array: convert internal storage for struct sha1_array to object_id - - builtin/pull: convert to struct object_id - - submodule: convert check_for_new_submodule_commits to object_id - - sha1_name: convert disambiguate_hint_fn to take object_id - - sha1_name: convert struct disambiguate_state to object_id - - test-sha1-array: convert most code to struct object_id - - parse-options-cb: convert sha1_array_append caller to struct object_id - - fsck: convert init_skiplist to struct object_id - - builtin/receive-pack: convert portions to struct object_id - - builtin/pull: convert portions to struct object_id - - builtin/diff: convert to struct object_id - - Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ - - Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ - - Define new hash-size constants for allocating memory + (merged to 'next' on 2017-04-16 at b16f1899dd) + + Documentation: update and rename api-sha1-array.txt + + Rename sha1_array to oid_array + + Convert sha1_array_for_each_unique and for_each_abbrev to object_id + + Convert sha1_array_lookup to take struct object_id + + Convert remaining callers of sha1_array_lookup to object_id + + Make sha1_array_append take a struct object_id * + + sha1-array: convert internal storage for struct sha1_array to object_id + + builtin/pull: convert to struct object_id + + submodule: convert check_for_new_submodule_commits to object_id + + sha1_name: convert disambiguate_hint_fn to take object_id + + sha1_name: convert struct disambiguate_state to object_id + + test-sha1-array: convert most code to struct object_id + + parse-options-cb: convert sha1_array_append caller to struct object_id + + fsck: convert init_skiplist to struct object_id + + builtin/receive-pack: convert portions to struct object_id + + builtin/pull: convert portions to struct object_id + + builtin/diff: convert to struct object_id + + Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ + + Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ + + Define new hash-size constants for allocating memory Conversion from unsigned char [40] to struct object_id continues. - Will merge to 'next'. + Will merge to 'master'. * sb/submodule-short-status (2017-03-29) 7 commits - - submodule.c: correctly handle nested submodules in is_submodule_modified - - short status: improve reporting for submodule changes - - submodule.c: stricter checking for submodules in is_submodule_modified - - submodule.c: port is_submodule_modified to use porcelain 2 - - submodule.c: convert is_submodule_modified to use strbuf_getwholeline - - submodule.c: factor out early loop termination in is_submodule_modified - - submodule.c: use argv_array in is_submodule_modified + (merged to 'next' on 2017-04-16 at 24e18f4a4a) + + submodule.c: correctly handle nested submodules in is_submodule_modified + + short status: improve reporting for submodule changes + + submodule.c: stricter checking for submodules in is_submodule_modified + + submodule.c: port is_submodule_modified to use porcelain 2 + + submodule.c: convert is_submodule_modified to use strbuf_getwholeline + + submodule.c: factor out early loop termination in is_submodule_modified + + submodule.c: use argv_array in is_submodule_modified The output from "git status --short" has been extended to show various kinds of dirtyness in submodules differently; instead of to @@ -624,10 +657,10 @@ of the repositories listed at to the working tree of the submodule but not the commit that is checked out. - Will merge to 'next'. + Will merge to 'master'. -* mh/separate-ref-cache (2017-03-31) 20 commits +* mh/separate-ref-cache (2017-04-16) 20 commits - do_for_each_entry_in_dir(): delete function - files_pack_refs(): use reference iteration - commit_packed_refs(): use reference iteration @@ -664,7 +697,7 @@ of the repositories listed at A proposal to use po4a to localize our manual pages. -* nd/prune-in-worktree (2017-03-27) 12 commits +* nd/prune-in-worktree (2017-04-16) 12 commits - rev-list: expose and document --single-worktree - revision.c: --reflog add HEAD reflog from all worktrees - files-backend: make reflog iterator go through per-worktree reflog @@ -688,10 +721,11 @@ of the repositories listed at Waiting for nd/files-backend-git-dir to settle. -* nd/worktree-kill-parse-ref (2017-03-27) 4 commits +* nd/worktree-kill-parse-ref (2017-04-16) 5 commits - refs: kill set_worktree_head_symref() - worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe() - refs: introduce get_worktree_ref_store() + - refs.c: make submodule ref store hashmap generic - environment.c: fix potential segfault by get_git_common_dir() (this branch is used by nd/prune-in-worktree; uses nd/files-backend-git-dir; is tangled with mh/separate-ref-cache.) @@ -701,13 +735,13 @@ of the repositories listed at Waiting for nd/files-backend-git-dir to settle. -* nd/files-backend-git-dir (2017-03-27) 28 commits +* nd/files-backend-git-dir (2017-04-14) 28 commits - refs.h: add a note about sorting order of for_each_ref_* - t1406: new tests for submodule ref store - t1405: some basic tests on main ref store - t/helper: add test-ref-store to test ref-store functions - refs: delete pack_refs() in favor of refs_pack_refs() - - files-backend: avoid ref api targetting main ref store + - files-backend: avoid ref api targeting main ref store - refs: new transaction related ref-store api - refs: add new ref-store api - refs: rename get_ref_store() to get_submodule_ref_store() and make it public @@ -740,17 +774,6 @@ of the repositories listed at Will merge to 'next'. -* jc/p4-current-branch-fix (2017-03-27) 2 commits - - DONTMERGE git-p4: "name-rev HEAD" is not a way to find the current branch - - git-p4: add failing test for name-rev rather than symbolic-ref - - "git p4" used "name-rev HEAD" when it wants to learn what branch is - checked out; it should use "symbolic-ref HEAD". - - The tip one (i.e. real fix) needs to be redone by somebody - competent with Python and git-p4 codebase. - - * jc/bundle (2016-03-03) 6 commits - index-pack: --clone-bundle option - Merge branch 'jc/index-pack' into jc/bundle @@ -776,3 +799,13 @@ of the repositories listed at the base for naming a commit. Now part of mg/name-rev-debug topic. + + +* jc/p4-current-branch-fix (2017-03-27) 2 commits + . DONTMERGE git-p4: "name-rev HEAD" is not a way to find the current branch + . git-p4: add failing test for name-rev rather than symbolic-ref + + "git p4" used "name-rev HEAD" when it wants to learn what branch is + checked out; it should use "symbolic-ref HEAD". + + Superseded by the ld/p4-current-branch-fix topic.