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
--------------------------------------------------
[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=<num> 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
--------------------------------------------------
[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
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
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
($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
+ xread_nonblock: add functionality to read from fds without blocking
+ xread: poll on non blocking fds
+ submodule.c: write "Fetching submodule <foo>" 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
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]
. 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.