]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2017/06 #01)
authorJunio C Hamano <gitster@pobox.com>
Thu, 1 Jun 2017 07:42:26 +0000 (16:42 +0900)
committerJunio C Hamano <gitster@pobox.com>
Thu, 1 Jun 2017 07:42:26 +0000 (16:42 +0900)
whats-cooking.txt

index 4e3e9cfc858d73d673e9dde7164156805ccab8c6..2f43a78509127c8764fec6890c7f1c8c1b92fb88 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (May 2017, #08; Mon, 29)
-X-master-at: e83352ef23cca2701953ed3c915f1db49b255a7d
-X-next-at: 88ad292c901b5a8436ade109286d30c4942be41f
+Subject: What's cooking in git.git (Jun 2017, #01; Thu, 1)
+X-master-at: 0339965c70d68fd3831c9a5306443c869de3f6a8
+X-next-at: b5e676d57ee80a379101c2e968b23f2342b77f7a
 
-What's cooking in git.git (May 2017, #08; Mon, 29)
+What's cooking in git.git (Jun 2017, #01; Thu, 1)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -27,408 +27,296 @@ of the repositories listed at
 --------------------------------------------------
 [Graduated to "master"]
 
-* bc/object-id (2017-05-08) 53 commits
-  (merged to 'next' on 2017-05-20 at e7372733fb)
- + object: convert parse_object* to take struct object_id
- + tree: convert parse_tree_indirect to struct object_id
- + sequencer: convert do_recursive_merge to struct object_id
- + diff-lib: convert do_diff_cache to struct object_id
- + builtin/ls-tree: convert to struct object_id
- + merge: convert checkout_fast_forward to struct object_id
- + sequencer: convert fast_forward_to to struct object_id
- + builtin/ls-files: convert overlay_tree_on_cache to object_id
- + builtin/read-tree: convert to struct object_id
- + sha1_name: convert internals of peel_onion to object_id
- + upload-pack: convert remaining parse_object callers to object_id
- + revision: convert remaining parse_object callers to object_id
- + revision: rename add_pending_sha1 to add_pending_oid
- + http-push: convert process_ls_object and descendants to object_id
- + refs/files-backend: convert many internals to struct object_id
- + refs: convert struct ref_update to use struct object_id
- + ref-filter: convert some static functions to struct object_id
- + Convert struct ref_array_item to struct object_id
- + Convert the verify_pack callback to struct object_id
- + Convert lookup_tag to struct object_id
- + log-tree: convert to struct object_id
- + Convert lookup_tree to struct object_id
- + builtin/reflog: convert tree_is_complete to take struct object_id
- + tree: convert read_tree_1 to use struct object_id internally
- + Convert lookup_blob to struct object_id
- + Convert remaining callers of lookup_blob to object_id
- + builtin/unpack-objects: convert to struct object_id
- + pack: convert struct pack_idx_entry to struct object_id
- + Convert lookup_commit* to struct object_id
- + Convert remaining callers of lookup_commit_reference* to object_id
- + builtin/tag: convert to struct object_id
- + sequencer: convert some functions to struct object_id
- + shallow: convert shallow registration functions to object_id
- + revision: convert prepare_show_merge to struct object_id
- + notes-utils: convert internals to struct object_id
- + http-push: convert some static functions to struct object_id
- + tag: convert parse_tag_buffer to struct object_id
- + builtin/verify-commit: convert to struct object_id
- + reflog_expire: convert to struct object_id
- + parse-options-cb: convert to struct object_id
- + notes-cache: convert to struct object_id
- + submodule: convert merge_submodule to use struct object_id
- + fast-import: convert to struct object_id
- + fast-import: convert internal structs to struct object_id
- + builtin/rev-parse: convert to struct object_id
- + builtin/blame: convert static function to struct object_id
- + branch: convert to struct object_id
- + bundle: convert to struct object_id
- + builtin/prune: convert to struct object_id
- + builtin/name-rev: convert to struct object_id
- + Convert struct cache_tree to use struct object_id
- + Clean up outstanding object_id transforms.
- + fetch-pack: convert to struct object_id
- (this branch is used by mh/packed-ref-store-prep.)
-
- Conversion from uchar[20] to struct object_id continues.
-
-
-* bm/interpret-trailers-cut-line-is-eom (2017-05-18) 1 commit
-  (merged to 'next' on 2017-05-23 at 3e5ff08517)
- + interpret-trailers: honor the cut line
-
- "git interpret-trailers", when used as GIT_EDITOR for "git commit
- -v", looked for and appended to a trailer block at the very end,
- i.e. at the end of the "diff" output.  The command has been
- corrected to pay attention to the cut-mark line "commit -v" adds to
- the buffer---the real trailer block should appear just before it.
-
-
-* bw/dir-c-stops-relying-on-the-index (2017-05-06) 14 commits
-  (merged to 'next' on 2017-05-20 at 1f1b764ec8)
- + dir: convert fill_directory to take an index
- + dir: convert read_directory to take an index
- + dir: convert read_directory_recursive to take an index
- + dir: convert open_cached_dir to take an index
- + dir: convert is_excluded to take an index
- + dir: convert prep_exclude to take an index
- + dir: convert add_excludes to take an index
- + dir: convert is_excluded_from_list to take an index
- + dir: convert last_exclude_matching_from_list to take an index
- + dir: convert dir_add* to take an index
- + dir: convert get_dtype to take index
- + dir: convert directory_exists_in_index to take index
- + dir: convert read_skip_worktree_file_from_index to take an index
- + dir: stop using the index compatibility macros
-
- API update.
-
-
-* ja/do-not-ask-needless-questions (2017-05-12) 3 commits
-  (merged to 'next' on 2017-05-23 at 6b373cd892)
- + git-filter-branch: be more direct in an error message
- + read-tree -m: make error message for merging 0 trees less smart aleck
- + usability: don't ask questions if no reply is required
-
- Git sometimes gives an advice in a rhetorical question that does
- not require an answer, which can confuse new users and non native
- speakers.  Attempt to rephrase them.
-
-
-* jc/read-tree-empty-with-m (2017-05-10) 1 commit
-  (merged to 'next' on 2017-05-20 at 7e86815364)
- + read-tree: "read-tree -m --empty" does not make sense
-
- "git read-tree -m" (no tree-ish) gave a nonsense suggestion "use
- --empty if you want to clear the index".  With "-m", such a request
- will still fail anyway, as you'd need to name at least one tree-ish
- to be merged.
-
-
-* jc/repack-threads (2017-04-27) 1 commit
-  (merged to 'next' on 2017-05-20 at c1fd54a2a4)
- + repack: accept --threads=<n> and pass it down to pack-objects
-
- "git repack" learned to accept the --threads=<n> option and pass it
- to pack-objects.
-
-
-* jk/alternate-ref-optim (2017-05-18) 1 commit
-  (merged to 'next' on 2017-05-23 at 4b4b3ac463)
- + t5400: avoid concurrent writes into a trace file
-
- A test allowed both "git push" and "git receive-pack" on the other
- end write their traces into the same file.  This is OK on platforms
- that allows atomically appending to a file opened with O_APPEND,
- but on other platforms led to a mangled output, causing
- intermittent test failures.  This has been fixed by disabling
- traces from "receive-pack" in the test.
-
-
-* jk/bug-to-abort (2017-05-22) 4 commits
-  (merged to 'next' on 2017-05-22 at 20371eebb6)
- + usage: add NORETURN to BUG() function definitions
-  (merged to 'next' on 2017-05-20 at db65acc882)
- + config: complain about --local outside of a git repo
- + setup_git_env: convert die("BUG") to BUG()
- + usage.c: add BUG() function
-
- Introduce the BUG() macro to improve die("BUG: ...").
-
-
-* jk/diff-submodule-diff-inline (2017-05-08) 1 commit
-  (merged to 'next' on 2017-05-20 at da7eb2626a)
- + diff: recurse into nested submodules for inline diff
-
- "git diff --submodule=diff" now recurses into nested submodules.
-
-
-* jk/disable-pack-reuse-when-broken (2017-05-09) 2 commits
-  (merged to 'next' on 2017-05-20 at 684e921273)
- + t5310: fix "; do" style
- + pack-objects: disable pack reuse for object-selection options
-
- "pack-objects" can stream a slice of an existing packfile out when
- the pack bitmap can tell that the reachable objects are all needed
- in the output, without inspecting individual objects.  This
- strategy however would not work well when "--local" and other
- options are in use, and need to be disabled.
-
-
-* jk/doc-config-include (2017-05-12) 4 commits
-  (merged to 'next' on 2017-05-23 at 4f60843265)
- + docs/config: consistify include.path examples
- + docs/config: avoid the term "expand" for includes
- + docs/config: give a relative includeIf example
- + docs/config: clarify include/includeIf relationship
-
- Clarify documentation for include.path and includeIf.<condition>.path
- configuration variables.
-
-
-* jk/ignore-broken-tags-when-ignoring-missing-links (2017-05-20) 1 commit
-  (merged to 'next' on 2017-05-23 at 977491e52a)
- + revision.c: ignore broken tags with ignore_missing_links
-
- Tag objects, which are not reachable from any ref, that point at
- missing objects were mishandled by "git gc" and friends (they
- should silently be ignored instead)
+* dk/send-email-avoid-net-smtp-ssl-when-able (2017-05-20) 1 commit
+  (merged to 'next' on 2017-05-23 at fc59b8a1d4)
+ + send-email: Net::SMTP::SSL is obsolete, use only when necessary
 
+ "git send-email" now uses Net::SMTP::SSL, which is obsolete, only
+ when needed.  Recent versions of Net::SMTP can do TLS natively.
 
-* jk/update-links-in-docs (2017-05-15) 1 commit
-  (merged to 'next' on 2017-05-23 at 5b2df9fdbe)
- + doc: use https links to Wikipedia to avoid http redirects
+ This is somewhat broken; a fix will be merged to 'master' shortly.
 
- A few http:// links that are redirected to https:// in the
- documentation have been updated to https:// links.
 
+* ab/conditional-config-with-symlinks (2017-05-17) 1 commit
+  (merged to 'next' on 2017-05-23 at 6162222c2e)
+ + config: match both symlink & realpath versions in IncludeIf.gitdir:*
 
-* js/eol-on-ourselves (2017-05-10) 6 commits
-  (merged to 'next' on 2017-05-20 at 8023c277d2)
- + t4051: mark supporting files as requiring LF-only line endings
- + Fix the remaining tests that failed with core.autocrlf=true
- + t3901: move supporting files into t/t3901/
- + completion: mark bash script as LF-only
- + git-new-workdir: mark script as LF-only
- + Fix build with core.autocrlf=true
+ The recently introduced "[includeIf "gitdir:$dir"] path=..."
+ mechansim has further been taught to take symlinks into account.
+ The directory "$dir" specified in "gitdir:$dir" may be a symlink to
+ a real location, not something that $(getcwd) may return.  In such
+ a case, a realpath of "$dir" is compared with the real path of the
+ current repository to determine if the contents from the named path
+ should be included.
 
- Make sure our tests would pass when the sources are checked out
- with "platform native" line ending convention by default on
- Windows.  Some "text" files out tests use and the test scripts
- themselves that are meant to be run with /bin/sh, ought to be
- checked out with eol=LF even on Windows.
 
+* ab/perf-wildmatch (2017-05-12) 2 commits
+  (merged to 'next' on 2017-05-23 at 0adb7dac31)
+ + perf: add test showing exponential growth in path globbing
+ + perf: add function to setup a fresh test repo
 
-* js/plug-leaks (2017-05-09) 26 commits
-  (merged to 'next' on 2017-05-20 at fb136ea2dc)
- + checkout: fix memory leak
- + submodule_uses_worktrees(): plug memory leak
- + show_worktree(): plug memory leak
- + name-rev: avoid leaking memory in the `deref` case
- + remote: plug memory leak in match_explicit()
- + add_reflog_for_walk: avoid memory leak
- + shallow: avoid memory leak
- + line-log: avoid memory leak
- + receive-pack: plug memory leak in update()
- + fast-export: avoid leaking memory in handle_tag()
- + mktree: plug memory leaks reported by Coverity
- + pack-redundant: plug memory leak
- + setup_discovered_git_dir(): plug memory leak
- + setup_bare_git_dir(): help static analysis
- + split_commit_in_progress(): simplify & fix memory leak
- + checkout: fix memory leak
- + cat-file: fix memory leak
- + mailinfo & mailsplit: check for EOF while parsing
- + status: close file descriptor after reading git-rebase-todo
- + difftool: address a couple of resource/memory leaks
- + get_mail_commit_oid(): avoid resource leak
- + git_config_rename_section_in_file(): avoid resource leak
- + add_commit_patch_id(): avoid allocating memory unnecessarily
- + winansi: avoid buffer overrun
- + winansi: avoid use of uninitialized value
- + mingw: avoid memory leak when splitting PATH
-
- Fix memory leaks pointed out by Coverity (and people).
-
-
-* km/log-showsignature-doc (2017-05-20) 1 commit
-  (merged to 'next' on 2017-05-23 at f43ea11956)
- + config.txt: add an entry for log.showSignature
+ Add perf-test for wildmatch.
 
- Doc update.
 
+* bp/sub-process-convert-filter (2017-05-15) 11 commits
+  (merged to 'next' on 2017-05-23 at 89f5420a82)
+ + convert: update subprocess_read_status() to not die on EOF
+ + sub-process: move sub-process functions into separate files
+ + convert: rename reusable sub-process functions
+ + convert: update generic functions to only use generic data structures
+ + convert: separate generic structures and variables from the filter specific ones
+ + convert: split start_multi_file_filter() into two separate functions
+ + pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
+ + convert: move packet_write_line() into pkt-line as packet_writel()
+ + pkt-line: add packet_read_line_gently()
+ + pkt-line: fix packet_read_line() to handle len < 0 errors
+ + convert: remove erroneous tests for errno == EPIPE
 
-* kn/ref-filter-branch-list (2017-05-20) 1 commit
-  (merged to 'next' on 2017-05-23 at e0cc721af0)
- + ref-filter: resolve HEAD when parsing %(HEAD) atom
+ Code from "conversion using external process" codepath has been
+ extracted to a separate sub-process.[ch] module.
 
- "git for-each-ref --format=..." with %(HEAD) in the format used to
- resolve the HEAD symref as many times as it had processed refs,
- which was wasteful, and "git branch" shared the same problem.
 
+* bw/forking-and-threading (2017-05-15) 14 commits
+  (merged to 'next' on 2017-05-23 at 79a6a59851)
+ + usage.c: drop set_error_handle()
+ + run-command: restrict PATH search to executable files
+ + run-command: expose is_executable function
+ + run-command: block signals between fork and execve
+ + run-command: add note about forking and threading
+ + run-command: handle dup2 and close errors in child
+ + run-command: eliminate calls to error handling functions in child
+ + run-command: don't die in child when duping /dev/null
+ + run-command: prepare child environment before forking
+ + string-list: add string_list_remove function
+ + run-command: use the async-signal-safe execv instead of execvp
+ + run-command: prepare command before forking
+ + t0061: run_command executes scripts without a #! line
+ + t5550: use write_script to generate post-update hook
 
-* nd/split-index-unshare (2017-05-08) 2 commits
-  (merged to 'next' on 2017-05-20 at 9048cdc2ce)
- + p3400: add perf tests for rebasing many changes
- + split-index: add and use unshare_split_index()
+ The "run-command" API implementation has been made more robust
+ against dead-locking in a threaded environment.
 
- Plug some leaks and updates internal API used to implement the
- split index feature to make it easier to avoid such a leak in the
- future.
 
+* bw/pathspec-sans-the-index (2017-05-12) 6 commits
+  (merged to 'next' on 2017-05-23 at 45c8ef3115)
+ + pathspec: convert find_pathspecs_matching_against_index to take an index
+ + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
+ + ls-files: prevent prune_cache from overeagerly pruning submodules
+ + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
+ + submodule: add die_in_unpopulated_submodule function
+ + pathspec: provide a more descriptive die message
 
-* pw/rebase-i-regression-fix (2017-05-20) 3 commits
-  (merged to 'next' on 2017-05-23 at 14676d0013)
- + rebase -i: add missing newline to end of message
- + rebase -i: silence stash apply
- + rebase -i: fix reflog message
+ Simplify parse_pathspec() codepath and stop it from looking at the
+ default in-core index.
+
+
+* dt/unpack-save-untracked-cache-extension (2017-05-20) 1 commit
+  (merged to 'next' on 2017-05-23 at 3196d093d6)
+ + unpack-trees: preserve index extensions
+
+ When "git checkout", "git merge", etc. manipulates the in-core
+ index, various pieces of information in the index extensions are
+ discarded from the original state, as it is usually not the case
+ that they are kept up-to-date and in-sync with the operation on the
+ main index.  The untracked cache extension is copied across these
+ operations now, which would speed up "git status" (as long as the
+ cache is properly invalidated).
+
+
+* jc/name-rev-lw-tag (2017-03-29) 2 commits
+  (merged to 'next' on 2017-05-23 at 3f88b6d73c)
+ + name-rev: favor describing with tags and use committer date to tiebreak
+ + name-rev: refactor logic to see if a new candidate is a better name
+ (this branch is used by mg/name-rev-debug.)
+
+ "git describe --contains" penalized light-weight tags so much that
+ they were almost never considered.  Instead, give them about the
+ same chance to be considered as an annotated tag that is the same
+ age as the underlying commit would.
+
+
+* jc/skip-test-in-the-middle (2017-05-18) 2 commits
+  (merged to 'next' on 2017-05-23 at 6c962b353b)
+ + t5545: enhance test coverage when no http server is installed
+ + test: allow skipping the remainder
 
- Regression fix to topic recently merged to 'master'.
+ A recent update to t5545-push-options.sh started skipping all the
+ tests in the script when a web server testing is disabled or
+ unavailable, not just the ones that require a web server.  Non HTTP
+ tests have been salvaged to always run in this script.
 
 
-* sb/checkout-recurse-submodules (2017-05-04) 3 commits
-  (merged to 'next' on 2017-05-20 at f972b2069f)
- + submodule: properly recurse for read-tree and checkout
- + submodule: avoid auto-discovery in new working tree manipulator code
- + submodule_move_head: reuse child_process structure for futher commands
+* jh/memihash-opt (2017-05-16) 5 commits
+  (merged to 'next' on 2017-05-23 at 2f0293e8b8)
+ + p0004: don't error out if test repo is too small
+ + p0004: don't abort if multi-threaded is too slow
+ + p0004: use test_perf
+ + p0004: avoid using pipes
+ + p0004: simplify calls of test-lazy-init-name-hash
 
- "git checkout --recurse-submodules" did not quite work with a
- submodule that itself has submodules.
+ perf-test update.
 
 
-* sb/reset-recurse-submodules (2017-04-23) 4 commits
-  (merged to 'next' on 2017-05-20 at 8adafdf1be)
- + builtin/reset: add --recurse-submodules switch
- + submodule.c: submodule_move_head works with broken submodules
- + submodule.c: uninitialized submodules are ignored in recursive commands
- + entry.c: submodule recursing: respect force flag correctly
- (this branch is used by sb/submodule-blanket-recursive.)
+* js/larger-timestamps (2017-05-20) 1 commit
+  (merged to 'next' on 2017-05-23 at 16f7c9e677)
+ + name-rev: change a "long" variable to timestamp_t
+
+ A follow-up hotfix for a topic already in 'master'.
 
- "git reset" learned "--recurse-submodules" option.
 
+* jt/fetch-allow-tip-sha1-implicitly (2017-05-16) 1 commit
+  (merged to 'next' on 2017-05-23 at 690ed987df)
+ + fetch-pack: always allow fetching of literal SHA1s
 
-* tg/stash-push-fixup (2017-05-17) 1 commit
-  (merged to 'next' on 2017-05-23 at 338eb650f2)
- + completion: add git stash push
+ There is no good reason why "git fetch $there $sha1" should fail
+ when the $sha1 names an object at the tip of an advertised ref,
+ even when the other side hasn't enabled allowTipSHA1InWant.
 
- The shell completion script (in contrib/) learned "git stash" has
- a new "push" subcommand.
+
+* jt/send-email-validate-hook (2017-05-16) 1 commit
+  (merged to 'next' on 2017-05-23 at 89848cb9ac)
+ + send-email: support validate hook
+
+ "git send-email" learned to run sendemail-validate hook to inspect
+ and reject a message before sending it out.
 
 --------------------------------------------------
 [New Topics]
 
-* ab/pcre-v2 (2017-05-26) 7 commits
- - grep: add support for PCRE v2
- - grep: un-break building with PCRE < 8.20
- - grep: un-break building with PCRE < 8.32
- - grep: add support for the PCRE v1 JIT API
- - log: add -P as a synonym for --perl-regexp
- - grep: skip pthreads overhead when using one thread
- - grep: don't redundantly compile throwaway patterns under threading
- (this branch uses ab/grep-preparatory-cleanup.)
+* dk/send-email-avoid-net-smtp-ssl-when-able (2017-06-01) 1 commit
+  (merged to 'next' on 2017-06-01 at 3ff3ddfac7)
+ + send-email: Net::SMTP::starttls was introduced in v2.34
 
- Update "perl-compatible regular expression" support to enable JIT
- and also allow linking with the newer PCRE v2 library.
+ A hotfix to a topic in 'master'.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* ab/ref-filter-no-contains (2017-05-23) 1 commit
-  (merged to 'next' on 2017-05-29 at 5d39fd2961)
- + tag: duplicate mention of --contains should mention --no-contains
+* ah/doc-rev-parse-short-default (2017-06-01) 1 commit
+  (merged to 'next' on 2017-06-01 at f64fcc2a26)
+ + doc: rewrite description for rev-parse --short
 
- Doc update to a recent topic.
+ Doc update.
 
  Will merge to 'master'.
 
 
-* rs/mingw-path-lookup-simplify (2017-05-23) 1 commit
-  (merged to 'next' on 2017-05-29 at 4365139a7f)
- + mingw: simplify PATH handling
+* rf/completion-config-commit (2017-05-30) 1 commit
+  (merged to 'next' on 2017-06-01 at cea32e0486)
+ + completion: add completions for git config commit
 
- Code simplification.
+ Completion update.
 
  Will merge to 'master'.
 
 
-* ab/sha1dc-maint (2017-05-22) 1 commit
- - sha1dc: update from upstream
- (this branch is used by ab/sha1dc.)
+* ab/c-translators-comment-style (2017-05-31) 1 commit
+  (merged to 'next' on 2017-06-01 at df7fb9199a)
+ + C style: use standard style for "TRANSLATORS" comments
 
- The "collision detecting" SHA-1 implementation shipped with 2.13
- was quite broken on some big-endian platforms and/or platforms that
- do not like unaligned fetches.  Update to the upstream code which
- has already fixed these issues.
+ Update the C style recommendation for notes for translators, as
+ recent versions of gettext tools can work with our style of
+ multi-line comments.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* ab/t3070-test-dedup (2017-05-29) 1 commit
- - wildmatch test: remove redundant duplicate test
+* jc/diff-log-help (2017-06-01) 1 commit
+ - diff- and log- family: handle "git cmd -h" early
+ (this branch is used by jc/wip-check-help-option.)
 
- Test cleanup.
+ The continuation of jk/consistent-h topic; the plumbing commands in
+ the diff- and log- family were calling into the revision machinery
+ without repository set-up upon "git $cmd -h", which is fixed.
 
- Will merge to 'next'.
+ Will squeeze into jk/consistent-h topic.
 
 
-* ah/doc-filter-branch-export-env (2017-05-29) 1 commit
- - doc: filter-branch does not require re-export of vars
+* jk/consistent-h (2017-05-30) 7 commits
+ - t0012: test "-h" with builtins
+ - git: add hidden --list-builtins option
+ - version: convert to parse-options
+ - submodule--helper: show usage for "-h"
+ - remote-{ext,fd}: print usage message on invalid arguments
+ - upload-archive: handle "-h" option early
+ - credential: handle invalid arguments earlier
+ (this branch uses jk/unbreak-am-h.)
 
- Docfix.
+ "git $cmd -h" for builtin commands calls the implementation of the
+ command (i.e. cmd_$cmd() function) without doing any repository
+ set-up, and the commands that expect RUN_SETUP is done by the Git
+ potty needs to be prepared to show the help text without barfing.
 
- Will merge to 'next'.
 
+* jk/drop-free-refspecs (2017-06-01) 1 commit
+  (merged to 'next' on 2017-06-01 at 8f455319fc)
+ + remote: drop free_refspecs() function
 
-* jk/connect-symref-info-leak-fix (2017-05-26) 1 commit
- - connect.c: fix leak in parse_one_symref_info()
+ Code clean-up.
 
Leakfix.
Will merge to 'master'.
 
- Will merge to 'next'.
 
+* jk/unbreak-am-h (2017-05-30) 1 commit
+  (merged to 'next' on 2017-06-01 at ee2233d409)
+ + am: handle "-h" argument earlier
+ (this branch is used by jk/consistent-h.)
 
-* jk/pathspec-magic-disambiguation (2017-05-29) 6 commits
- - verify_filename(): flip order of checks
- - verify_filename(): treat ":(magic)" as a pathspec
- - check_filename(): handle ":^" path magic
- - check_filename(): use skip_prefix
- - check_filename(): refactor ":/" handling
- - t4208: add check for ":/" without matching file
+ "git am -h" triggered a BUG().
 
- The convention for a command line is to follow "git cmdname
- --options" with revisions followed by an optional "--"
- disambiguator and then finally pathspecs.  When "--" is not there,
- we make sure early ones are all interpretable as revs (and do not
- look like paths) and later ones are the other way around.  A
- pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from
- the top-level of the working tree, no matter what subdirectory you
- are working from) are conservatively judged as "not a path", which
- required disambiguation more often.  The command line parser
- learned to say "it's a pathspec" a bit more often when the syntax
- looks like so.
+ Will merge to 'master'.
 
 
-* sd/t3200-typofix (2017-05-29) 1 commit
- - branch test: fix invalid config key access
+* jk/url-insteadof-config (2017-06-01) 1 commit
+  (merged to 'next' on 2017-06-01 at e7ea6032c2)
+ + docs/config: mention protocol implications of url.insteadOf
 
- Test fix.
+ The interaction of "url.*.insteadOf" and custom URL scheme's
+ whitelisting is now documented better.
+
+ Will merge to 'master'.
+
+
+* pw/rebase-i-regression-fix (2017-06-01) 1 commit
+ - rebase -i: add test for reflog message
+
+ Just the first one of three? new tests that follows up a regression
+ fix.
+
+ Expecting a portable update.
+
+
+* sb/submodule-blanket-recursive (2017-06-01) 9 commits
+ - builtin/fetch.c: respect 'submodule.recurse' option
+ - builtin/push.c: respect 'submodule.recurse' option
+ - builtin/grep.c: respect 'submodule.recurse' option
+ - Introduce 'submodule.recurse' option for worktree manipulators
+ - submodule loading: separate code path for .gitmodules and config overlay
+ - reset/checkout/read-tree: unify config callback for submodule recursion
+ - submodule test invocation: only pass additional arguments
+ - submodule recursing: do not write a config variable twice
+ - Merge branch 'ab/grep-preparatory-cleanup' into sb/submodule-blanket-recursive
+ (this branch uses ab/grep-preparatory-cleanup; is tangled with ab/pcre-v2.)
+
+ Many commands learned to pay attention to submodule.recurse
+ configuration.
 
  Will merge to 'next'.
 
+ It is not known if a simple "yes/no" is sufficient in the longer
+ term, and what should happen when --recurse-submodules option starts
+ taking "recurse into them how?" parameter, though.
+
+
+* tb/pull-ff-rebase-autostash (2017-06-01) 1 commit
+  (merged to 'next' on 2017-06-01 at b5e676d57e)
+ + pull: ff --rebase --autostash works in dirty repo
+
+ "git pull --rebase --autostash" didn't auto-stash when the local history
+ fast-forwards to the upstream.
+
+ Will merge to 'master'.
+
 --------------------------------------------------
 [Stalled]
 
@@ -445,7 +333,6 @@ of the repositories listed at
 * mg/name-rev-debug (2017-03-31) 2 commits
  - describe: pass --debug down to name-rev
  - name-rev: provide debug output
- (this branch uses jc/name-rev-lw-tag.)
 
  "git describe --debug --contains" did not add any meaningful
  information, even though without "--contains" it did.
@@ -478,21 +365,126 @@ of the repositories listed at
 
 
 * sk/dash-is-previous (2017-03-01) 5 commits
- revert.c: delegate handling of "-" shorthand to setup_revisions
- sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}"
- revision.c: args starting with "-" might be a revision
- revision.c: swap if/else blocks
- revision.c: do not update argv with unknown option
. revert.c: delegate handling of "-" shorthand to setup_revisions
. sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}"
. revision.c: args starting with "-" might be a revision
. revision.c: swap if/else blocks
. revision.c: do not update argv with unknown option
 
  A dash "-" can be written to mean "the branch that was previously
  checked out" in more places.
 
- Needs review.
- cf. <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com>
+ Ejected, as it seems that making -.. to mean @{-1}..HEAD etc. are
+ going too far.
 
 --------------------------------------------------
 [Cooking]
 
+* ab/pcre-v2 (2017-05-26) 7 commits
+ - grep: add support for PCRE v2
+ - grep: un-break building with PCRE < 8.20
+ - grep: un-break building with PCRE < 8.32
+ - grep: add support for the PCRE v1 JIT API
+ - log: add -P as a synonym for --perl-regexp
+ - grep: skip pthreads overhead when using one thread
+ - grep: don't redundantly compile throwaway patterns under threading
+ (this branch uses ab/grep-preparatory-cleanup; is tangled with sb/submodule-blanket-recursive.)
+
+ Update "perl-compatible regular expression" support to enable JIT
+ and also allow linking with the newer PCRE v2 library.
+
+ Waiting for a fix-up.
+ cf. <CACBZZX6YFKTLKxep2oW0_HrX+kNJ2PX5G4UCboB+4yosmLqr5g@mail.gmail.com>
+
+
+* ab/ref-filter-no-contains (2017-05-23) 1 commit
+  (merged to 'next' on 2017-05-29 at 5d39fd2961)
+ + tag: duplicate mention of --contains should mention --no-contains
+
+ Doc update to a recent topic.
+
+ Will merge to 'master'.
+
+
+* rs/mingw-path-lookup-simplify (2017-05-23) 1 commit
+  (merged to 'next' on 2017-05-29 at 4365139a7f)
+ + mingw: simplify PATH handling
+
+ Code simplification.
+
+ Will merge to 'master'.
+
+
+* ab/sha1dc-maint (2017-05-22) 1 commit
+  (merged to 'next' on 2017-05-30 at 9eb40bf912)
+ + sha1dc: update from upstream
+ (this branch is used by ab/sha1dc.)
+
+ The "collision detecting" SHA-1 implementation shipped with 2.13
+ was quite broken on some big-endian platforms and/or platforms that
+ do not like unaligned fetches.  Update to the upstream code which
+ has already fixed these issues.
+
+ Will merge to 'master'.
+
+
+* ab/t3070-test-dedup (2017-05-29) 1 commit
+  (merged to 'next' on 2017-05-30 at 71eadec33b)
+ + wildmatch test: remove redundant duplicate test
+
+ Test cleanup.
+
+ Will merge to 'master'.
+
+
+* ah/doc-filter-branch-export-env (2017-05-29) 1 commit
+  (merged to 'next' on 2017-05-30 at a62168bf77)
+ + doc: filter-branch does not require re-export of vars
+
+ Docfix.
+
+ Will merge to 'master'.
+
+
+* jk/connect-symref-info-leak-fix (2017-05-26) 1 commit
+  (merged to 'next' on 2017-05-30 at d8b75d2dd9)
+ + connect.c: fix leak in parse_one_symref_info()
+
+ Leakfix.
+
+ Will merge to 'master'.
+
+
+* jk/pathspec-magic-disambiguation (2017-05-29) 6 commits
+ - verify_filename(): flip order of checks
+ - verify_filename(): treat ":(magic)" as a pathspec
+ - check_filename(): handle ":^" path magic
+ - check_filename(): use skip_prefix
+ - check_filename(): refactor ":/" handling
+ - t4208: add check for ":/" without matching file
+
+ The convention for a command line is to follow "git cmdname
+ --options" with revisions followed by an optional "--"
+ disambiguator and then finally pathspecs.  When "--" is not there,
+ we make sure early ones are all interpretable as revs (and do not
+ look like paths) and later ones are the other way around.  A
+ pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from
+ the top-level of the working tree, no matter what subdirectory you
+ are working from) are conservatively judged as "not a path", which
+ required disambiguation more often.  The command line parser
+ learned to say "it's a pathspec" a bit more often when the syntax
+ looks like so.
+
+
+* sd/t3200-typofix (2017-05-29) 1 commit
+  (merged to 'next' on 2017-05-30 at 784e5e73f8)
+ + branch test: fix invalid config key access
+
+ Test fix.
+
+ Will merge to 'master'.
+
+
 * ah/doc-interpret-trailers-ifexists (2017-05-23) 1 commit
   (merged to 'next' on 2017-05-29 at cb353c1d21)
  + Documentation: fix reference to ifExists for interpret-trailers
@@ -520,34 +512,6 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* ab/conditional-config-with-symlinks (2017-05-17) 1 commit
-  (merged to 'next' on 2017-05-23 at 6162222c2e)
- + config: match both symlink & realpath versions in IncludeIf.gitdir:*
-
- The recently introduced "[includeIf "gitdir:$dir"] path=..."
- mechansim has further been taught to take symlinks into account.
- The directory "$dir" specified in "gitdir:$dir" may be a symlink to
- a real location, not something that $(getcwd) may return.  In such
- a case, a realpath of "$dir" is compared with the real path of the
- current repository to determine if the contents from the named path
- should be included.
-
- Will merge to 'master'.
-
-
-* jc/skip-test-in-the-middle (2017-05-18) 2 commits
-  (merged to 'next' on 2017-05-23 at 6c962b353b)
- + t5545: enhance test coverage when no http server is installed
- + test: allow skipping the remainder
-
- A recent update to t5545-push-options.sh started skipping all the
- tests in the script when a web server testing is disabled or
- unavailable, not just the ones that require a web server.  Non HTTP
- tests have been salvaged to always run in this script.
-
- Will merge to 'master'.
-
-
 * mh/packed-ref-store-prep (2017-05-24) 26 commits
   (merged to 'next' on 2017-05-29 at e4f5e06b4c)
  + cache_ref_iterator_begin(): avoid priming unneeded directories
@@ -594,7 +558,8 @@ of the repositories listed at
 
  "git clean -d" used to clean directories that has ignored files,
  even though the command should not lose ignored ones without "-x".
- This has been corrected.
+ "git status --ignored"  did not list ignored and untracked files
+ without "-uall".  These have been corrected.
 
  Will merge to 'master'.
 
@@ -622,30 +587,6 @@ of the repositories listed at
  - bswap: add 64 bit endianness helper get_be64
 
 
-* dk/send-email-avoid-net-smtp-ssl-when-able (2017-05-20) 1 commit
-  (merged to 'next' on 2017-05-23 at fc59b8a1d4)
- + send-email: Net::SMTP::SSL is obsolete, use only when necessary
-
- "git send-email" now uses Net::SMTP::SSL, which is obsolete, only
- when needed.  Recent versions of Net::SMTP can do TLS natively.
-
- Will merge to 'master'.
-
-
-* jc/name-rev-lw-tag (2017-03-29) 2 commits
-  (merged to 'next' on 2017-05-23 at 3f88b6d73c)
- + name-rev: favor describing with tags and use committer date to tiebreak
- + name-rev: refactor logic to see if a new candidate is a better name
- (this branch is used by mg/name-rev-debug.)
-
- "git describe --contains" penalized light-weight tags so much that
- they were almost never considered.  Instead, give them about the
- same chance to be considered as an annotated tag that is the same
- age as the underlying commit would.
-
- Will merge to 'master'.
-
-
 * jk/diff-blob (2017-05-24) 15 commits
   (merged to 'next' on 2017-05-29 at 5ecc979cc7)
  + diff: use blob path for blob/file diffs
@@ -684,16 +625,7 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* js/larger-timestamps (2017-05-20) 1 commit
-  (merged to 'next' on 2017-05-23 at 16f7c9e677)
- + name-rev: change a "long" variable to timestamp_t
-
- A follow-up hotfix for a topic already in 'master'.
-
- Will merge to 'master'.
-
-
-* sb/diff-color-move (2017-05-25) 17 commits
+* sb/diff-color-move (2017-06-01) 17 commits
  - diff.c: color moved lines differently
  - diff: buffer all output if asked to
  - diff.c: emit_line includes whitespace highlighting
@@ -728,99 +660,41 @@ of the repositories listed at
  cf. <CACBZZX5GYV50rjg9X602JHqFPaoofH9TwDf_-r_MDu8-rmNV6Q@mail.gmail.com>
 
 
-* jh/memihash-opt (2017-05-16) 5 commits
-  (merged to 'next' on 2017-05-23 at 2f0293e8b8)
- + p0004: don't error out if test repo is too small
- + p0004: don't abort if multi-threaded is too slow
- + p0004: use test_perf
- + p0004: avoid using pipes
- + p0004: simplify calls of test-lazy-init-name-hash
-
- perf-test update.
-
- Will merge to 'master'.
-
-
 * js/blame-lib (2017-05-25) 29 commits
- - blame: move entry prepend to libgit
- - blame: move scoreboard setup to libgit
- - blame: move scoreboard-related methods to libgit
- - blame: move fake-commit-related methods to libgit
- - blame: move origin-related methods to libgit
- - blame: move core structures to header
- - blame: create entry prepend function
- - blame: create scoreboard setup function
- - blame: create scoreboard init function
- - blame: rework methods that determine 'final' commit
- - blame: wrap blame_sort and compare_blame_final
- - blame: move progress updates to a scoreboard callback
- - blame: make sanity_check use a callback in scoreboard
- - blame: move no_whole_file_rename flag to scoreboard
- - blame: move xdl_opts flags to scoreboard
- - blame: move show_root flag to scoreboard
- - blame: move reverse flag to scoreboard
- - blame: move contents_from to scoreboard
- - blame: move copy/move thresholds to scoreboard
- - blame: move stat counters to scoreboard
- - blame: rename nth_line function
- - blame: rename ent_score function
- - blame: rename coalesce function
- - blame: rename origin-related functions
- - blame: rename scoreboard structure to blame_scoreboard
- - blame: rename origin structure to blame_origin
- - blame: remove unused parameters
- - blame: move textconv_object with related functions
- - blame: remove unneeded dependency on blob.h
+  (merged to 'next' on 2017-05-30 at b4678b36a7)
+ + blame: move entry prepend to libgit
+ + blame: move scoreboard setup to libgit
+ + blame: move scoreboard-related methods to libgit
+ + blame: move fake-commit-related methods to libgit
+ + blame: move origin-related methods to libgit
+ + blame: move core structures to header
+ + blame: create entry prepend function
+ + blame: create scoreboard setup function
+ + blame: create scoreboard init function
+ + blame: rework methods that determine 'final' commit
+ + blame: wrap blame_sort and compare_blame_final
+ + blame: move progress updates to a scoreboard callback
+ + blame: make sanity_check use a callback in scoreboard
+ + blame: move no_whole_file_rename flag to scoreboard
+ + blame: move xdl_opts flags to scoreboard
+ + blame: move show_root flag to scoreboard
+ + blame: move reverse flag to scoreboard
+ + blame: move contents_from to scoreboard
+ + blame: move copy/move thresholds to scoreboard
+ + blame: move stat counters to scoreboard
+ + blame: rename nth_line function
+ + blame: rename ent_score function
+ + blame: rename coalesce function
+ + blame: rename origin-related functions
+ + blame: rename scoreboard structure to blame_scoreboard
+ + blame: rename origin structure to blame_origin
+ + blame: remove unused parameters
+ + blame: move textconv_object with related functions
+ + blame: remove unneeded dependency on blob.h
 
  The internal logic used in "git blame" has been libified to make it
  easier to use by cgit.
 
- Will merge to 'next'.
-
-
-* jt/send-email-validate-hook (2017-05-16) 1 commit
-  (merged to 'next' on 2017-05-23 at 89848cb9ac)
- + send-email: support validate hook
-
- "git send-email" learned to run sendemail-validate hook to inspect
- and reject a message before sending it out.
-
- Will merge to 'master'.
-
-
-* bw/pathspec-sans-the-index (2017-05-12) 6 commits
-  (merged to 'next' on 2017-05-23 at 45c8ef3115)
- + pathspec: convert find_pathspecs_matching_against_index to take an index
- + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
- + ls-files: prevent prune_cache from overeagerly pruning submodules
- + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
- + submodule: add die_in_unpopulated_submodule function
- + pathspec: provide a more descriptive die message
-
- Simplify parse_pathspec() codepath and stop it from looking at the
- default in-core index.
-
- Will merge to 'master'.
-
-
-* jt/fetch-allow-tip-sha1-implicitly (2017-05-16) 1 commit
-  (merged to 'next' on 2017-05-23 at 690ed987df)
- + fetch-pack: always allow fetching of literal SHA1s
-
- There is no good reason why "git fetch $there $sha1" should fail
- when the $sha1 names an object at the tip of an advertised ref,
- even when the other side hasn't enabled allowTipSHA1InWant.
-
- Will merge to 'master'.
-
-
-* ab/perf-wildmatch (2017-05-12) 2 commits
-  (merged to 'next' on 2017-05-23 at 0adb7dac31)
- + perf: add test showing exponential growth in path globbing
- + perf: add function to setup a fresh test repo
-
- Add perf-test for wildmatch.
-
  Will merge to 'master'.
 
 
@@ -857,31 +731,14 @@ of the repositories listed at
  + test-lib: rename the LIBPCRE prerequisite to PCRE
  + grep & rev-list doc: stop promising libpcre for --perl-regexp
  + Makefile & configure: reword inaccurate comment about PCRE
- (this branch is used by ab/pcre-v2.)
+ (this branch is used by ab/pcre-v2 and sb/submodule-blanket-recursive.)
 
  The internal implementation of "git grep" has seen some clean-up.
 
  Will merge to 'master'.
 
 
-* dt/unpack-save-untracked-cache-extension (2017-05-20) 1 commit
-  (merged to 'next' on 2017-05-23 at 3196d093d6)
- + unpack-trees: preserve index extensions
-
- When "git checkout", "git merge", etc. manipulates the in-core
- index, various pieces of information in the index extensions are
- discarded from the original state, as it is usually not the case
- that they are kept up-to-date and in-sync with the operation on the
- main index.  The untracked cache extension is copied across these
- operations now, which would speed up "git status" (as long as the
- cache is properly invalidated).
-
- Will merge to 'master'.
-
-
-* sg/clone-refspec-from-command-line-config (2017-05-16) 4 commits
- - clone: use free_refspec() to free refspec list
- - remote: drop free_refspecs() function
+* sg/clone-refspec-from-command-line-config (2017-06-01) 2 commits
  - Documentation/clone: document ignored configuration variables
  - clone: respect additional configured fetch refspecs during initial fetch
 
@@ -890,8 +747,7 @@ of the repositories listed at
  variables take effect while the initial clone is happening,
  e.g. these configuration variables could be fetch refspecs.
 
- Waiting for response.
- cf. <xmqqa864kops.fsf@gitster.mtv.corp.google.com>
+ Are we happy with these two?
 
 
 * jh/close-index-before-stat (2017-04-28) 1 commit
@@ -924,9 +780,10 @@ of the repositories listed at
  cf. <20170509033258.q7auj5p5lxs4tggd@sigill.intra.peff.net>
 
 
-* nd/fopen-errors (2017-05-26) 13 commits
- - is_missing_file_error(): work around EINVAL on Windows
- - wrapper: factor out is_missing_file_error()
+* nd/fopen-errors (2017-05-30) 14 commits
+ - mingw_fopen: report ENOENT for invalid file names
+ - SQUASH??? use test_i18ngrep and add it at the end
+ - mingw: verify that paths are not mistaken for remote nicknames
  - log: fix memory leak in open_next_file()
  - rerere.c: move error_errno() closer to the source system call
  - print errno when reporting a system call error
@@ -943,7 +800,7 @@ of the repositories listed at
  optional, and silently ignore errors from open/fopen; report such
  errors if they are not due to missing files.
 
- Waiting for comments on the two changes at the tip from Windows folks.
+ Waiting for an Ack to the SQUASH fix or a reroll of the tip commits.
 
 
 * js/rebase-i-final (2017-05-02) 10 commits
@@ -966,49 +823,6 @@ of the repositories listed at
  cf. <cover.1493414945.git.johannes.schindelin@gmx.de>
 
 
-* bw/forking-and-threading (2017-05-15) 14 commits
-  (merged to 'next' on 2017-05-23 at 79a6a59851)
- + usage.c: drop set_error_handle()
- + run-command: restrict PATH search to executable files
- + run-command: expose is_executable function
- + run-command: block signals between fork and execve
- + run-command: add note about forking and threading
- + run-command: handle dup2 and close errors in child
- + run-command: eliminate calls to error handling functions in child
- + run-command: don't die in child when duping /dev/null
- + run-command: prepare child environment before forking
- + string-list: add string_list_remove function
- + run-command: use the async-signal-safe execv instead of execvp
- + run-command: prepare command before forking
- + t0061: run_command executes scripts without a #! line
- + t5550: use write_script to generate post-update hook
-
- The "run-command" API implementation has been made more robust
- against dead-locking in a threaded environment.
-
- Will merge to 'master'.
-
-
-* bp/sub-process-convert-filter (2017-05-15) 11 commits
-  (merged to 'next' on 2017-05-23 at 89f5420a82)
- + convert: update subprocess_read_status() to not die on EOF
- + sub-process: move sub-process functions into separate files
- + convert: rename reusable sub-process functions
- + convert: update generic functions to only use generic data structures
- + convert: separate generic structures and variables from the filter specific ones
- + convert: split start_multi_file_filter() into two separate functions
- + pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
- + convert: move packet_write_line() into pkt-line as packet_writel()
- + pkt-line: add packet_read_line_gently()
- + pkt-line: fix packet_read_line() to handle len < 0 errors
- + convert: remove erroneous tests for errno == EPIPE
-
- Code from "conversion using external process" codepath has been
- extracted to a separate sub-process.[ch] module.
-
- Will merge to 'master'.
-
-
 * nd/prune-in-worktree (2017-04-24) 12 commits
  - rev-list: expose and document --single-worktree
  - revision.c: --reflog add HEAD reflog from all worktrees
@@ -1032,92 +846,3 @@ of the repositories listed at
  Expecting a reroll.
  Has been waiting for nd/worktree-kill-parse-ref to settle.
  cf. <CACsJy8ADCVBiLoPg_Tz0L6CMdh_eFmK4RYzfQ-PmUgBK7w9e=A@mail.gmail.com>
-
---------------------------------------------------
-[Discard]
-
-* ab/compat-regex-update (2017-05-12) 3 commits
- . DONTMERGE compat/regex: make it compile with -Werror=int-to-pointer-cast
- . compat/regex: update the gawk regex engine from upstream
- . compat/regex: add a README with a maintenance guide
-
- Update compat/regex we borrowed from gawk.  It seems that some
- customizations we made to the older one were dropped by mistake.
-
- Will discard.
- cf. <CACBZZX4UUwzRQmyH8joYaqHnuVTjVtGBHp+iZKcnAnwoM_ZJhg@mail.gmail.com>
-
-
-* jk/no-looking-at-dotgit-outside-repo (2017-05-15) 1 commit
- . config: complain about --local outside of a git repo
-
- Will discard.
- Superseded by jk/bug-to-abort.
-
-
-* js/retire-old-remote-spec (2017-05-12) 11 commits
- . PREVIEW: remove support for .git/remotes/ and .git/branches/
- . PREVIEW: t0060: stop testing support for .git/remotes/ and .git/branches/
- . PREVIEW: t5515: remove .git/remotes/ and .git/branches/ tests
- . PREVIEW: remote: remove support for migrating ancient remotes
- . PREVIEW: t5516: stop testing .git/branches/ functionality
- . PREVIEW: t5510: convert .git/remotes/ test to use a regular remote
- . Revert "Revert "Don't create the $GIT_DIR/branches directory on init""
- . remote: warn loud and clear when .git/remotes/ is *still* used
- . remote: warn loud and clear when .git/branches/ is *still* used
- . Documentation: really deprecate .git/remotes/ and .git/branches/
- . git-parse-remote: fix highly misleading man page
-
- Stop reading from .git/remotes/ and .git/branches/, two old ways
- that we have been supporting to configure short-hands for fetching
- from remote repositories.
-
- Will discard.
- The procedure of removing an old and unused feature is correctly
- followed by this series, but it is far from clear that the feature
- this attempts to remove is unused or useless.
-
-
-* jc/checkout-working-tree-only (2017-04-27) 1 commit
- . checkout: add --working-tree-only option
-
- "git checkout <tree-ish> <pathspec>" learned a variant that does
- not update the index when doing its thing.
-
- Will discard.
- This was more of "the world could have been like this" illustration
- rather than a "let's make this change" proposal.
-
-
-* sb/submodule-blanket-recursive (2017-05-23) 6 commits
- . builtin/push.c: respect 'submodule.recurse' option
- . builtin/grep.c: respect 'submodule.recurse' option
- . builtin/fetch.c: respect 'submodule.recurse' option
- . Introduce submodule.recurse option for worktree manipulators
- . submodule test invocation: only pass additional arguments
- . submodule.c: add has_submodules to check if we have any submodules
-
- A new configuration variable "submodule.recurse" can be set to true
- to force various commands run at the top-level superproject to
- behave as if they were invoked with the "--recurse-submodules"
- option.
-
- Retracted for now.
- cf. <CAGZ79kZexcwh=E6_ks83=pJh=ZvKnLvJ54eLsn+HURsTZOpvqg@mail.gmail.com>
-
-
-* df/dir-iter-remove-subtree (2017-05-29) 5 commits
- . remove_subtree(): reimplement using iterators
- . dir_iterator: rewrite state machine model
- . dir_iterator: refactor dir_iterator_advance
- . remove_subtree(): test removing nested directories
- . dir_iterator: add tests for dir_iterator API
-
- Update the dir-iterator API and use it to reimplement
- remove_subtree().
-
- GSoC microproject.
- Ejected as it conflicts with other topics in flight in a
- non-trivial way.
-
-