From: Junio C Hamano Date: Thu, 5 Nov 2015 23:11:04 +0000 (-0800) Subject: What's cooking (2015/11 #01) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0958d20853136af6c7a0a31da55a30f23118b0e4;p=thirdparty%2Fgit.git What's cooking (2015/11 #01) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index c1ba016aaa..3738cb7919 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,20 +1,24 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Oct 2015, #07; Fri, 30) -X-master-at: 2635c2b8bfc9aec07b7f023d8e3b3d02df715344 -X-next-at: 3dda608c19069845846bd7fd57000a99f97b9c9d +Subject: What's cooking in git.git (Nov 2015, #01; Thu, 5) +X-master-at: 2c78628255b8cc7f0b5d47981acea138db8716d2 +X-next-at: 550542234b0fed5a3944af44b01152b620e8dba1 -What's cooking in git.git (Oct 2015, #07; Fri, 30) +What's cooking in git.git (Nov 2015, #01; Thu, 5) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -At tinyurl.com/gitCal, I drew a 14-week schedule for this cycle. I -plan to be offline during weeks #7-#9 myself; hopefully we'll have -capable interim maintainers to take care of the list traffic in the -meantime as in past years. +Git 2.6.3 has been tagged, with accumulated fixes and minor updates +that are already in 'master'. We have about 5 weeks left til -rc0 +so hopefully a handful of topics that are not yet in 'next' but have +already been reviewed and polished may be able to be merged to +'next', cook in there for a while and be in the next release. I'll +be offline for a few weeks starting this weekend, but I am confident +that our capable interim maintainer can shepherd these topics +forward with the help from our contributors. You can find the changes described here in the integration branches of the repositories listed at @@ -24,333 +28,164 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ar/clone-dissociate (2015-10-22) 1 commit - (merged to 'next' on 2015-10-23 at 6bf746f) - + clone: allow "--dissociate" without reference - - "git clone --dissociate" used to require that "--reference" was - used at the same time, but you can create a new repository that - borrows objects from another without using "--reference", namely - with "clone --local" from a repository that borrows objects from - other repositories. - - -* dt/name-hash-dir-entry-fix (2015-10-21) 1 commit - (merged to 'next' on 2015-10-22 at 15eb519) - + name-hash: don't reuse cache_entry in dir_entry - - The name-hash subsystem that is used to cope with case insensitive - filesystems keeps track of directories and their on-filesystem - cases for all the paths in the index by holding a pointer to a - randomly chosen cache entry that is inside the directory (for its - ce->ce_name component). This pointer was not updated even when the - cache entry was removed from the index, leading to use after free. - This was fixed by recording the path for each directory instead of - borrowing cache entries and restructuring the API somewhat. - - -* gr/rebase-i-drop-warn (2015-10-28) 2 commits - (merged to 'next' on 2015-10-29 at 4bfda25) - + rebase-i: work around Windows CRLF line endings - + t3404: "rebase -i" gets broken when insn sheet uses CR/LF line endings - - Recent update to "rebase -i" that tries to sanity check the edited - insn sheet before it uses it has become too picky on Windows where - CRLF left by the editor is turned into a trailing CR on the line - read via the "read" built-in command. - - -* jc/add-u-A-default-to-top (2015-10-24) 1 commit - (merged to 'next' on 2015-10-29 at 15aea9c) - + add: simplify -u/-A without pathspec - - "git --literal-pathspecs add -u/-A" without any command line - argument misbehaved ever since Git 2.0. - - -* jc/am-mailinfo-direct (2015-10-21) 1 commit - (merged to 'next' on 2015-10-22 at ca15014) - + am: make direct call to mailinfo - (this branch is used by jc/mailinfo; uses jc/mailinfo-lib.) - - "git am" used to spawn "git mailinfo" via run_command() API once - per each patch, but learned to make a direct call to mailinfo() - instead. - - -* jc/em-dash-in-doc (2015-10-22) 1 commit - (merged to 'next' on 2015-10-23 at 31a08ce) - + Documentation: AsciiDoc spells em-dash as double-dashes, not triple - - AsciiDoc markup fixes. - - -* jc/everyday-markup (2015-10-22) 1 commit - (merged to 'next' on 2015-10-22 at 0a2702d) - + Documentation/everyday: match undefline with the text - - AsciiDoc markup fixes. - - -* jc/mailinfo-lib (2015-10-21) 34 commits - (merged to 'next' on 2015-10-22 at 405bd66) - + mailinfo: remove calls to exit() and die() deep in the callchain - + mailinfo: handle charset conversion errors in the caller - + mailinfo: libify - + mailinfo: keep the parsed log message in a strbuf - + mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak - + mailinfo: move content/content_top to struct mailinfo - + mailinfo: move [ps]_hdr_data to struct mailinfo - + mailinfo: move cmitmsg and patchfile to struct mailinfo - + mailinfo: move charset to struct mailinfo - + mailinfo: move transfer_encoding to struct mailinfo - + mailinfo: move check for metainfo_charset to convert_to_utf8() - + mailinfo: move metainfo_charset to struct mailinfo - + mailinfo: move use_scissors and use_inbody_headers to struct mailinfo - + mailinfo: move add_message_id and message_id to struct mailinfo - + mailinfo: move patch_lines to struct mailinfo - + mailinfo: move filter/header stage to struct mailinfo - + mailinfo: move global "FILE *fin, *fout" to struct mailinfo - + mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo - + mailinfo: introduce "struct mailinfo" to hold globals - + mailinfo: move global "line" into mailinfo() function - + mailinfo: do not let find_boundary() touch global "line" directly - + mailinfo: do not let handle_boundary() touch global "line" directly - + mailinfo: do not let handle_body() touch global "line" directly - + mailinfo: get rid of function-local static states - + mailinfo: move definition of MAX_HDR_PARSED closer to its use - + mailinfo: move cleanup_space() before its users - + mailinfo: move check_header() after the helpers it uses - + mailinfo: move read_one_header_line() closer to its callers - + mailinfo: move handle_boundary() lower - + mailinfo: plug strbuf leak during continuation line handling - + mailinfo: explicitly close file handle to the patch output - + mailinfo: fix an off-by-one error in the boundary stack - + mailinfo: fold decode_header_bq() into decode_header() - + mailinfo: remove a no-op call convert_to_utf8(it, "") - (this branch is used by jc/am-mailinfo-direct and jc/mailinfo.) - - The implementation of "git mailinfo" was refactored so that a - mailinfo() function can be directly called from inside a process. +* da/difftool (2015-10-29) 1 commit + (merged to 'next' on 2015-11-01 at 4e5ab33) + + difftool: ignore symbolic links in use_wt_file + The code to prepare the working tree side of temporary directory + for the "dir-diff" feature forgot that symbolic links need not be + copied (or symlinked) to the temporary area, as the code already + special cases and overwrites them. Besides, it was wrong to try + computing the object name of the target of symbolic link, which may + not even exist or may be a directory. -* jk/delete-modechange-conflict (2015-10-26) 3 commits - (merged to 'next' on 2015-10-29 at 59ce69d) - + merge: detect delete/modechange conflict - + t6031: generalize for recursive and resolve strategies - + t6031: move triple-rename test to t3030 - Merging a branch that removes a path and another that changes the - mode bits on the same path should have conflicted at the path, but - it didn't and silently favoured the removal. +* jc/mailinfo-lib (2015-11-01) 1 commit + (merged to 'next' on 2015-11-01 at 3ecaa28) + + mailinfo: fix passing wrong address to git_mailinfo_config + Hotfix for a topic already in 'master'. -* jk/merge-file-exit-code (2015-10-29) 1 commit - (merged to 'next' on 2015-10-29 at 6ae613f) - + merge-file: clamp exit code to maximum 127 - "git merge-file" tried to signal how many conflicts it found, which - obviously would not work well when there are too many of them. +* jk/initialization-fix-to-add-submodule-odb (2015-10-28) 1 commit + (merged to 'next' on 2015-11-01 at da94b97) + + add_submodule_odb: initialize alt_odb list earlier + We peek objects from submodule's object store by linking it to the + list of alternate object databases, but the code to do so forgot to + correctly initialize the list. -* jk/war-on-sprintf (2015-10-23) 2 commits - (merged to 'next' on 2015-10-23 at 3a94851) - + compat/mingw.c: remove printf format warning - + read_branches_file: plug a FILE* leak +* js/git-gdb (2015-10-30) 1 commit + (merged to 'next' on 2015-11-01 at 3d232d5) + + test: facilitate debugging Git executables in tests with gdb -* js/imap-send-curl-compilation-fix (2015-10-26) 1 commit - (merged to 'next' on 2015-10-29 at 9c4f3eb) - + imap-send: only use CURLOPT_LOGIN_OPTIONS if it is actually available + Allow easier debugging of a single "git" invocation in our test + scripts. - "git imap-send" did not compile well with older version of cURL library. +* kn/for-each-branch (2015-10-30) 1 commit + (merged to 'next' on 2015-11-01 at 4249dc9) + + ref-filter: fallback on alphabetical comparison -* js/misc-fixes (2015-10-26) 3 commits - (merged to 'next' on 2015-10-29 at 8990f29) - + Correct fscanf formatting string for I64u values - + Silence GCC's "cast of pointer to integer of a different size" warning - + Squelch warning about an integer overflow + Using the timestamp based criteria in "git branch --sort" did not + tiebreak branches that point at commits with the same timestamp (or + the same commit), making the resulting output unstable. - Various compilation fixes and squelching of warnings. +* mk/blame-first-parent (2015-10-30) 3 commits + (merged to 'next' on 2015-11-01 at 3f87150) + + blame: allow blame --reverse --first-parent when it makes sense + + blame: extract find_single_final + + blame: test to describe use of blame --reverse --first-parent -* mk/blame-error-message (2015-10-26) 1 commit - (merged to 'next' on 2015-10-29 at 82a1b18) - + blame: fix option name in error message + "git blame" learnt to take "--first-parent" and "--reverse" at the + same time when it makes sense. - The error message from "git blame --contents --reverse" incorrectly - talked about "--contents --children". +* rs/daemon-plug-child-leak (2015-11-02) 2 commits + (merged to 'next' on 2015-11-02 at 64afbb9) + + daemon: plug memory leak + + run-command: factor out child_process_clear() + (this branch is used by sb/submodule-parallel-update.) -* rp/link-curl-before-ssl (2015-10-21) 3 commits - (merged to 'next' on 2015-10-22 at dad4fc6) - + configure.ac: detect ssl need with libcurl - + Makefile: make curl-config path configurable - + Makefile: link libcurl before zlib + "git daemon" uses "run_command()" without "finish_command()", so it + needs to release resources itself, which it forgot to do. - The linkage order of libraries was wrong in places around libcurl. - -* rs/pop-commit (2015-10-26) 1 commit - (merged to 'next' on 2015-10-29 at f24d8ed) - + use pop_commit() for consuming the first entry of a struct commit_list +* rs/show-branch-argv-array (2015-11-01) 1 commit + (merged to 'next' on 2015-11-01 at fac4fa6) + + show-branch: use argv_array for default arguments Code simplification. -* tk/sigchain-unnecessary-post-tempfile (2015-10-22) 4 commits - (merged to 'next' on 2015-10-22 at b049f0a) - + shallow: remove unused #include "sigchain.h" - + read-cache: remove unused #include "sigchain.h" - + diff: remove unused #include "sigchain.h" - + credential-cache--daemon: remove unused #include "sigchain.h" +* rs/wt-status-detached-branch-fix (2015-11-01) 5 commits + (merged to 'next' on 2015-11-01 at cb23615) + + wt-status: use skip_prefix() to get rid of magic string length constants + + wt-status: don't skip a magical number of characters blindly + + wt-status: avoid building bogus branch name with detached HEAD + + wt-status: exit early using goto in wt_shortstatus_print_tracking() + + t7060: add test for status --branch on a detached HEAD - Remove no-longer used #include. - - -* xf/user-manual-ff (2015-10-26) 1 commit - (merged to 'next' on 2015-10-29 at 488c4f8) - + user-manual: fix the description of fast-forward - - -* xf/user-manual-markup (2015-10-22) 3 commits - (merged to 'next' on 2015-10-22 at cd33c83) - + Documentation: match undefline with the text in old release notes - + Documentation: match underline with the text - + Documentation: fix header markup - - AsciiDoc markup fixes. + "git status --branch --short" accessed beyond the constant string + "HEAD", which has been corrected. -------------------------------------------------- [New Topics] -* sb/submodule-parallel-update (2015-10-29) 9 commits - - clone: allow an explicit argument for parallel submodule clones - - submodule update: expose parallelism to the user - - git submodule update: have a dedicated helper for cloning - - fetching submodules: respect `submodule.jobs` config option - - submodule config: update parse_config() - - submodule config: remove name_and_item_from_var - - submodule config: keep update strategy around - - run_processes_parallel: add output to tracing messages - - Merge branch 'sb/submodule-parallel-fetch' into sb/submodule-parallel-update - (this branch uses sb/submodule-parallel-fetch.) +* ad/sha1-update-chunked (2015-11-05) 2 commits + - sha1: allow limiting the size of the data passed to SHA1_Update() + - sha1: provide another level of indirection for the SHA-1 functions - Builds on top of the "fetch --recurse-submodules" work to introduce - parallel downloading into multiple submodules for "submodule update". + Apple's common crypto implementation of SHA1_Update() does not take + more than 4GB at a time, and we now have a compile-time workaround + for it. - Waiting for reviews. + I think this is more or less ready. I am skeptical about the file + location reorg ([PATCH 3/3] $gmane/280912) and did not queue it. -* jc/strbuf-gets (2015-10-28) 17 commits - - test-sha1-array: read command stream with strbuf_gets() - - grep: read -f file with strbuf_gets() - - send-pack: read list of refs with strbuf_gets() - - column: read lines with strbuf_gets() - - cat-file: read batch stream with strbuf_gets() - - transport-helper: read helper response with strbuf_gets() - - clone/sha1_file: read info/alternates with strbuf_gets() - - remote.c: read $GIT_DIR/remotes/* with strbuf_gets() - - ident.c: read /etc/mailname with strbuf_gets() - - rev-parse: read parseopt spec with strbuf_gets() - - revision: read --stdin with strbuf_gets() - - hash-object: read --stdin-paths with strbuf_gets() - - mktree: read textual tree representation with strbuf_gets() - - update-index: read list of paths with strbuf_gets() under --stdin - - update-index: read --index-info with strbuf_gets() - - check-attr, check-ignore, checkout-index: read paths with strbuf_gets() - - strbuf: add strbuf_gets() +* dt/http-range (2015-11-02) 2 commits + (merged to 'next' on 2015-11-03 at 7c3cc60) + + http: use off_t to store partial file size + + http.c: use CURLOPT_RANGE for range requests - Teach codepaths that communicate with users by reading text files - to be more lenient to editors that write CRLF-terminated lines. - Note that this is only about communication with Git, like feeding - list of object names from the standard input instead of from the - command line, and does not involve files in the working tree. + A Range: request can be responded with a full response and when + asked properly libcurl knows how to strip the result down to the + requested range. However, we were hand-crafting a range request + and it did not kick in. - Waiting for reviews. + Will merge to 'master'. -* eg/p4-submit-catch-failure (2015-10-30) 1 commit - - git-p4: clean up after p4 submit failure +* vl/grep-configurable-threads (2015-11-01) 1 commit + - grep: add --threads= option and grep.threads configuration - Just like the working tree is cleaned up when the user cancelled - submission in P4Submit.applyCommit(), clean up the mess if "p4 - submit" fails. + "git grep" can now be configured (or told from the command line) + how many threads to use when searching in the working tree files. - Needs an update to test. + Expecting a reroll. + ($gmane/280854) -* jk/initialization-fix-to-add-submodule-odb (2015-10-28) 1 commit - - add_submodule_odb: initialize alt_odb list earlier +* kf/http-proxy-auth-methods (2015-11-04) 3 commits + - SQUASH??? + - http: use credential API to handle proxy authentication + - http: allow selection of proxy authentication method - We peek objects from submodule's object store by linking it to the - list of alternate object databases, but the code to do so forgot to - correctly initialize the list. + New http.proxyAuthMethod configuration variable can be used to + specify what authentication method to use, as a way to work around + proxies that do not give error response expected by libcurl when + CURLAUTH_ANY is used. Also, the codepath for proxy authentication + has been taught to use credential API to store the authentication + material in user's keyrings. - Will merge to 'next'. + Still being worked on. + ($gmane/280925). -* ep/ident-with-getaddrinfo (2015-10-30) 1 commit - - (NEEDSWORK $gmane/280507) ident.c: add support for IPv6 - - A build without NO_IPv6 used to use gethostbyname() when guessing - user's hostname, instead of getaddrinfo() that is used in other - codepaths in such a build. - - Waiting for a reroll. - ($gmane/280507) +* lf/ref-is-hidden-namespace (2015-11-05) 4 commits + - t5509: add basic tests for hideRefs + - hideRefs: add support for matching full refs + - upload-pack: strip refs before calling ref_is_hidden() + - config.txt: document the semantics of hideRefs with namespaces - -* js/git-gdb (2015-10-30) 1 commit - - test: facilitate debugging Git executables in tests with gdb - - Allow easier debugging of a single "git" invocation in our test - scripts. + Extend transfer.hideRefs to work better with use of namespaces. Will merge to 'next'. -* kn/for-each-branch (2015-10-30) 1 commit - - ref-filter: fallback on alphabetical comparison - - Using the timestamp based criteria in "git branch --sort" did not - tiebreak branches that point at commits with the same timestamp (or - the same commit), making the resulting output unstable. - - Will merge to 'next' and then quickly to 'master'. - - -* ea/checkout-progress (2015-10-30) 2 commits - - SQUASH??? - - checkout: add --progress option - - "git checkout" did not follow the usual "--[no-]progress" - convention and implemented only "--quiet" that is essentially - "--no-progress". - - Waiting for a reroll. - +* dg/git-svn-empty-dirs (2015-11-05) 1 commit + - git-svn: improve rebase/mkdirs performance -* jc/test-must-fail-with-sigpipe (2015-10-30) 1 commit - - test: accept death by SIGPIPE as a valid failure mode - Waiting for reviews. +* fp/subtree-todo-update (2015-11-05) 1 commit + - contrib/subtree: remove "push" command from the "todo" file -------------------------------------------------- [Stalled] -* dk/gc-idx-wo-pack (2015-08-17) 3 commits - - DONTMERGE: log message, grace-period and tests $gmane/276058 - - gc: remove stale .idx files without corresponding .pack file - - prepare_packed_git(): refactor garbage reporting in pack directory - - Having a leftover .idx file without corresponding .pack file in - the repository hurts performance; "git gc" learned to prune them. - - Waiting for a reroll. - - * nd/ita-cleanup (2015-09-06) 6 commits - grep: make it clear i-t-a entries are ignored - checkout(-index): do not checkout i-t-a entries @@ -423,25 +258,129 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* pt/http-socks-proxy (2015-10-26) 1 commit - - remote-http(s): support SOCKS proxies +* dk/gc-idx-wo-pack (2015-11-04) 3 commits + - gc: remove garbage .idx files from pack dir + - t5304: test cleaning pack garbage + - prepare_packed_git(): refactor garbage reporting in pack directory - Add support for talking http/https over socks proxy. + Having a leftover .idx file without corresponding .pack file in + the repository hurts performance; "git gc" learned to prune them. + + We may want to do the same for .bitmap (and notice but not prune + .keep) without corresponding .pack, but that can be a separate + topic. Will merge to 'next'. -* da/difftool (2015-10-29) 1 commit - - difftool: ignore symbolic links in use_wt_file +* sb/submodule-parallel-update (2015-11-05) 10 commits + - clone: allow an explicit argument for parallel submodule clones + - submodule update: expose parallelism to the user + - git submodule update: have a dedicated helper for cloning + - fetching submodules: respect `submodule.jobs` config option + - submodule config: update parse_config() + - submodule config: remove name_and_item_from_var + - submodule config: keep update strategy around + - run_processes_parallel: add output to tracing messages + - Merge branch 'rs/daemon-plug-child-leak' into sb/submodule-parallel-update + - Merge branch 'sb/submodule-parallel-fetch' into sb/submodule-parallel-update + (this branch uses sb/submodule-parallel-fetch; is tangled with rs/daemon-leak-fix.) + + Builds on top of the "fetch --recurse-submodules" work to introduce + parallel downloading into multiple submodules for "submodule update". + + Waiting for sb/submodule-parallel-fetch to stabilize. + + It would be the cleanest to rebuild sb/submodule-parallel-fetch on + top of 2.7.0 once it ships and then build this directly on top; + that way, we do not have to have merges in this topic that + distracting (besides, some part of the other topic can be updated + in-place instead of this follow-up topic tweaking them as past + mistakes and inflexibilities). + + +* jc/strbuf-gets (2015-10-28) 17 commits + - test-sha1-array: read command stream with strbuf_gets() + - grep: read -f file with strbuf_gets() + - send-pack: read list of refs with strbuf_gets() + - column: read lines with strbuf_gets() + - cat-file: read batch stream with strbuf_gets() + - transport-helper: read helper response with strbuf_gets() + - clone/sha1_file: read info/alternates with strbuf_gets() + - remote.c: read $GIT_DIR/remotes/* with strbuf_gets() + - ident.c: read /etc/mailname with strbuf_gets() + - rev-parse: read parseopt spec with strbuf_gets() + - revision: read --stdin with strbuf_gets() + - hash-object: read --stdin-paths with strbuf_gets() + - mktree: read textual tree representation with strbuf_gets() + - update-index: read list of paths with strbuf_gets() under --stdin + - update-index: read --index-info with strbuf_gets() + - check-attr, check-ignore, checkout-index: read paths with strbuf_gets() + - strbuf: add strbuf_gets() + + Teach codepaths that communicate with users by reading text files + to be more lenient to editors that write CRLF-terminated lines. + Note that this is only about communication with Git, like feeding + list of object names from the standard input instead of from the + command line, and does not involve files in the working tree. + + Waiting for reviews. + + +* eg/p4-submit-catch-failure (2015-10-30) 1 commit + - git-p4: clean up after p4 submit failure + + Just like the working tree is cleaned up when the user cancelled + submission in P4Submit.applyCommit(), clean up the mess if "p4 + submit" fails. + + Needs an update to test. + ($gmane/280539) + + +* ep/ident-with-getaddrinfo (2015-10-30) 1 commit + - (NEEDSWORK $gmane/280507) ident.c: add support for IPv6 + + A build without NO_IPv6 used to use gethostbyname() when guessing + user's hostname, instead of getaddrinfo() that is used in other + codepaths in such a build. + + Waiting for a reroll. + ($gmane/280507) - The code to prepare the working tree side of temporary directory - for the "dir-diff" feature forgot that symbolic links need not be - copied (or symlinked) to the temporary area, as the code already - special cases and overwrites them. Besides, it was wrong to try - computing the object name of the target of symbolic link, which may - not even exist or may be a directory. - Waiting for response. +* ea/checkout-progress (2015-11-01) 1 commit + (merged to 'next' on 2015-11-03 at 08a8d1f) + + checkout: add --progress option + + "git checkout" did not follow the usual "--[no-]progress" + convention and implemented only "--quiet" that is essentially + a superset of "--no-progress". Extend the command to support the + usual "--[no-]progress". + + Will merge to 'master'. + + +* jc/test-must-fail-with-sigpipe (2015-10-30) 1 commit + - test: accept death by SIGPIPE as a valid failure mode + + In some tests we expect a git command that transfers objects to + result in failure, but it is normal for the failure to come from + SIGPIPE when the other end of the connection detects an (expected) + error and hangs up. However, test_expect_failure helper function + was not prepared to see a death by sigpipe as a normal failure + exit. + + It probably is more sensible to limit the test that allows depth by + SIGPIPE as Lars Schneider suggests, so it is likely that this will + be replaced while I am away ;-) + + +* pt/http-socks-proxy (2015-10-26) 1 commit + - remote-http(s): support SOCKS proxies + + Add support for talking http/https over socks proxy. + Needs a sign-off from the original author. * mh/notes-allow-reading-treeish (2015-10-08) 3 commits @@ -458,45 +397,12 @@ of the repositories listed at when the operation would update the notes (in which case we must have a place to store the updated notes tree, iow, a ref). - Will cook in 'next'. + As the patch was done on top of the 'drop old-syntax from merge', + this has to wait until that other topic can graduate, unfortunately. + It can be redone in a way that does not depend on that topic after + this cycle, though. - -* dt/refs-backend-pre-vtable (2015-10-15) 26 commits - - refs: break out ref conflict checks - - refs: make files_log_ref_write functions public - - initdb: move safe_create_dir into common code - - refs.c: move should_autocreate_reflog to common code - - refs.c: move peel_object to the common code - - refs.c: move copy_msg to the common code - - refs.c: move refname_is_safe to the common code - - refs: move transaction functions into common code - - refs.c: move head_ref_namespaced to the common code - - refs.c: move ref iterators to the common code - - refs.c: move prettify_refname to the common code - - refs.c: move is_branch to the common code - - refs.c: move check_refname_format to the common code - - refs.c: move resolve_refdup to common - - refs.c: move read_ref, read_ref_full and ref_exists to the common code - - refs.c: move warn_if_dangling_symref* to the common code - - refs.c: move dwim and friend functions to the common refs code - - refs.c: move the hidden refs functions to the common code - - refs.c: move read_ref_at to the common refs file - - refs.c: move delete_pseudoref and delete_ref to the common code - - refs.c: move update_ref to refs.c - - refs.c: add a new refs.c file to hold all common refs code - - refs-be-files.c: rename refs to refs-be-files - - refs: make repack_without_refs and is_branch public - - refs.c: create a public version of verify_refname_available - - Merge branch 'jk/war-on-sprintf' into HEAD - - The early part of the pluggable ref backend series, which sifts the - ref API functions into two bins: the filesystem backend specific - ones and the generic API functions. The next step will start - introducing the framework to dispatch generic calls to specific - backend implementation(s) and then finally plug a new backend that - is different from the file backend. - - Reroll exists, but haven't picked up yet. + Will keep in 'next'. * jc/mailinfo (2015-10-21) 1 commit @@ -523,7 +429,19 @@ of the repositories listed at call from inside a process. "git am -3" was taught to make a direct call to the function when falling back to three-way merge. - Will keep in 'next' during the 2.7 cycle. + Being able to make a direct call would be good in general, but as a + performance thing, we would want to see it backed up by numbers. + + I haven't gone through the "gently" change with fine toothed comb; + I can see that the change avoids calling die(), but I haven't made + sure that the program states (e.g. what's in the in-core index) are + adjusted sensibly when it returns to the caller instead of dying, + or the codepaths that used to die() are free of resource leaks. + The original code certainly did not care the program states at the + point of dying exactly because it knew it is going to exit, but now + they have to care, and they need to be audited. + + Will keep in 'next'. * sg/pretty-more-date-mode-format (2015-10-07) 1 commit @@ -572,7 +490,9 @@ of the repositories listed at ($gmane/278326) -* sb/submodule-parallel-fetch (2015-10-21) 14 commits +* sb/submodule-parallel-fetch (2015-11-05) 16 commits + - strbuf: update documentation for strbuf_read_once() + - run-command: remove set_nonblocking() (merged to 'next' on 2015-10-23 at 8f04bbd) + run-command: fix missing output from late callbacks + test-run-command: increase test coverage @@ -589,12 +509,14 @@ of the repositories listed at + xread_nonblock: add functionality to read from fds without blocking + xread: poll on non blocking fds + submodule.c: write "Fetching submodule " to stderr - (this branch is used by sb/submodule-parallel-update.) + (this branch is used by sb/submodule-parallel-update; is tangled with rs/daemon-leak-fix.) Add a framework to spawn a group of processes in parallel, and use it to run "git fetch --recurse-submodules" in parallel. - Will cook in 'next'. + Still being worked on, but it seems that we are seeing light at the + end of the tunnel. + ($gmane/280937) * ad/cygwin-wants-rename (2015-08-07) 1 commit @@ -630,7 +552,7 @@ of the repositories listed at git-gui still uses the deprecated syntax, which needs to be fixed before this final step can proceed. - Will keep in 'next' during the 2.7 cycle. + Will keep in 'next'. -------------------------------------------------- [Discarded] @@ -639,3 +561,61 @@ of the repositories listed at . merge: fix cache_entry use-after-free Made unnecessary with dt/name-hash-dir-entry-fix topic. + + +* rs/daemon-leak-fix (2015-10-31) 3 commits + (merged to 'next' on 2015-11-01 at 9b6c8f9) + + daemon: plug memory leak + + run-command: export child_process_clear() + + run-command: name the cleanup function child_process_clear() + (this branch uses sb/submodule-parallel-fetch; is tangled with sb/submodule-parallel-update.) + + "git daemon" uses "run_command()" without "finish_command()", so it + needs to release resources itself, which it forgot to do. + + This was tangled with another topic that was not quite ready. + Discard and replace it with an equivalent rs/daemon-plug-child-leak + that is independent. + + +* dt/refs-backend-pre-vtable (2015-10-15) 26 commits + . refs: break out ref conflict checks + . refs: make files_log_ref_write functions public + . initdb: move safe_create_dir into common code + . refs.c: move should_autocreate_reflog to common code + . refs.c: move peel_object to the common code + . refs.c: move copy_msg to the common code + . refs.c: move refname_is_safe to the common code + . refs: move transaction functions into common code + . refs.c: move head_ref_namespaced to the common code + . refs.c: move ref iterators to the common code + . refs.c: move prettify_refname to the common code + . refs.c: move is_branch to the common code + . refs.c: move check_refname_format to the common code + . refs.c: move resolve_refdup to common + . refs.c: move read_ref, read_ref_full and ref_exists to the common code + . refs.c: move warn_if_dangling_symref* to the common code + . refs.c: move dwim and friend functions to the common refs code + . refs.c: move the hidden refs functions to the common code + . refs.c: move read_ref_at to the common refs file + . refs.c: move delete_pseudoref and delete_ref to the common code + . refs.c: move update_ref to refs.c + . refs.c: add a new refs.c file to hold all common refs code + . refs-be-files.c: rename refs to refs-be-files + . refs: make repack_without_refs and is_branch public + . refs.c: create a public version of verify_refname_available + . Merge branch 'jk/war-on-sprintf' into HEAD + + The early part of the pluggable ref backend series, which sifts the + ref API functions into two bins: the filesystem backend specific + ones and the generic API functions. The next step will start + introducing the framework to dispatch generic calls to specific + backend implementation(s) and then finally plug a new backend that + is different from the file backend. + + It seems Michael's "I'd do it like this if I were doing it" + $gmane/280754 would be the way forward? + + Ejected while the topic is in flux, as this and its later reroll + both want to move things around while other topics want to update + the files involved.