]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2017/06 #06)
authorJunio C Hamano <gitster@pobox.com>
Thu, 22 Jun 2017 22:34:35 +0000 (15:34 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 22 Jun 2017 22:34:35 +0000 (15:34 -0700)
whats-cooking.txt

index c1df8d27243151c5b422eaab3ae691d16364f231..1a13716ed88e6a98896ce4799774c6b00f062fb7 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jun 2017, #05; Mon, 19)
-X-master-at: 05ec6e13aaf33b6a647e1321203a770e697eea9a
-X-next-at: 0b547a2794f32e58c5c5c23c1b30b5e3920b2855
+Subject: What's cooking in git.git (Jun 2017, #06; Thu, 22)
+X-master-at: 5402b1352f5181247405fbff1887008a0cb3b04a
+X-next-at: bc1a90f0778b337f20670d4cbce0a6e2c034cbf5
 
-What's cooking in git.git (Jun 2017, #05; Mon, 19)
+What's cooking in git.git (Jun 2017, #06; Thu, 22)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -20,227 +20,365 @@ of the repositories listed at
 --------------------------------------------------
 [Graduated to "master"]
 
-* ab/pcre-v2 (2017-06-02) 8 commits
-  (merged to 'next' on 2017-06-13 at 34bf49ee44)
- + grep: add support for PCRE v2
- + grep: un-break building with PCRE >= 8.32 without --enable-jit
- + 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
-
- Update "perl-compatible regular expression" support to enable JIT
- and also allow linking with the newer PCRE v2 library.
-
-
-* ab/perf-remove-index-lock (2017-06-05) 1 commit
-  (merged to 'next' on 2017-06-13 at c532e59233)
- + perf: work around the tested repo having an index.lock
-
- When an existing repository is used for t/perf testing, we first
- create bit-for-bit copy of it, which may grab a transient state of
- the repository and freeze it into the repository used for testing,
- which then may cause Git operations to fail.  Single out "the index
- being locked" case and forcibly drop the lock from the copy.
-
-
-* bw/object-id (2017-06-05) 33 commits
-  (merged to 'next' on 2017-06-13 at 0582278759)
- + diff: rename diff_fill_sha1_info to diff_fill_oid_info
- + diffcore-rename: use is_empty_blob_oid
- + tree-diff: convert path_appendnew to object_id
- + tree-diff: convert diff_tree_paths to struct object_id
- + tree-diff: convert try_to_follow_renames to struct object_id
- + builtin/diff-tree: cleanup references to sha1
- + diff-tree: convert diff_tree_sha1 to struct object_id
- + notes-merge: convert write_note_to_worktree to struct object_id
- + notes-merge: convert verify_notes_filepair to struct object_id
- + notes-merge: convert find_notes_merge_pair_ps to struct object_id
- + notes-merge: convert merge_from_diffs to struct object_id
- + notes-merge: convert notes_merge* to struct object_id
- + tree-diff: convert diff_root_tree_sha1 to struct object_id
- + combine-diff: convert find_paths_* to struct object_id
- + combine-diff: convert diff_tree_combined to struct object_id
- + diff: convert diff_flush_patch_id to struct object_id
- + patch-ids: convert to struct object_id
- + diff: finish conversion for prepare_temp_file to struct object_id
- + diff: convert reuse_worktree_file to struct object_id
- + diff: convert fill_filespec to struct object_id
- + diff: convert diff_change to struct object_id
- + diff: convert run_diff_files to struct object_id
- + diff: convert diff_addremove to struct object_id
- + diff: convert diff_index_show_file to struct object_id
- + diff: convert get_stat_data to struct object_id
- + grep: convert to struct object_id
- + notes: convert some accessor functions to struct object_id
- + builtin/notes: convert to struct object_id
- + notes: convert format_display_notes to struct object_id
- + notes: make get_note return pointer to struct object_id
- + notes: convert for_each_note to struct object_id
- + notes: convert internal parts to struct object_id
- + notes: convert internal structures to struct object_id
-
- Conversion from uchar[20] to struct object_id continues.
-
-
-* jk/consistent-h (2017-06-05) 8 commits
-  (merged to 'next' on 2017-06-13 at e09c1fe968)
- + t0012: test "-h" with builtins
- + git: add hidden --list-builtins option
- + version: convert to parse-options
- + diff- and log- family: handle "git cmd -h" early
- + 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
-
- "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.
-
-
-* jk/pathspec-magic-disambiguation (2017-05-29) 6 commits
-  (merged to 'next' on 2017-06-13 at 088987f033)
- + 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.
-
-
-* sb/submodule-rm-absorb (2017-06-04) 1 commit
-  (merged to 'next' on 2017-06-13 at ed902e8fb4)
- + Documentation/git-rm: correct submodule description
-
- Doc update to a recently graduated topic.
+* ah/filter-branch-setup (2017-06-12) 2 commits
+  (merged to 'next' on 2017-06-19 at f3440f2c1a)
+ + filter-branch: add [--] to usage
+ + filter-branch: add `--setup` step
+
+ "filter-branch" learned a pseudo filter "--setup" that can be used
+ to define a common function/variable that can be used by other
+ filters.
+
+
+* km/test-mailinfo-b-failure (2017-06-12) 1 commit
+  (merged to 'next' on 2017-06-19 at badc2c2337)
+ + t5100: add some more mailinfo tests
+
+ New tests.
+
+
+* ls/github (2017-06-13) 1 commit
+  (merged to 'next' on 2017-06-19 at 4d2024615f)
+ + Configure Git contribution guidelines for github.com
+
+ Help contributors that visit us at GitHub.
+
+
+* mh/fast-import-raise-default-depth (2017-06-12) 1 commit
+  (merged to 'next' on 2017-06-19 at 7093c07b8e)
+ + fast-import: increase the default pack depth to 50
+
+ "fast-import" uses a default pack chain depth that is consistent
+ with other parts of the system.
+
+
+* nd/fopen-errors (2017-06-15) 1 commit
+  (merged to 'next' on 2017-06-15 at 86bcb7c082)
+ + configure.ac: loosen FREAD_READS_DIRECTORIES test program
+
+ Hotfix for a topic that is already in 'master'.
+
+
+* pc/dir-count-slashes (2017-06-12) 1 commit
+  (merged to 'next' on 2017-06-19 at 57351a2771)
+ + dir: create function count_slashes()
+
+ Three instances of the same helper function have been consolidated
+ to one.
+
+
+* ps/stash-push-pathspec-fix (2017-06-13) 1 commit
+  (merged to 'next' on 2017-06-19 at 866c9035e0)
+ + git-stash: fix pushing stash with pathspec from subdir
+
+ "git stash push <pathspec>" did not work from a subdirectory at all.
+ Bugfix for a topic in v2.13
+
+
+* rs/strbuf-addftime-zZ (2017-06-15) 3 commits
+  (merged to 'next' on 2017-06-19 at 77480669f0)
+ + date: use localtime() for "-local" time formats
+ + t0006: check --date=format zone offsets
+ + strbuf: let strbuf_addftime handle %z and %Z itself
+
+ As there is no portable way to pass timezone information to
+ strftime, some output format from "git log" and friends are
+ impossible to produce.  Teach our own strbuf_addftime to replace %z
+ and %Z with caller-supplied values to help working around this.
+
+
+* sb/t4005-modernize (2017-06-10) 1 commit
+  (merged to 'next' on 2017-06-19 at beedeb757b)
+ + t4005: modernize style and drop hard coded sha1
+
+ Test clean-up.
+
+
+* sd/t3200-branch-m-test (2017-06-13) 1 commit
+  (merged to 'next' on 2017-06-19 at 0fd712c46e)
+ + t3200: add test for single parameter passed to -m option
+
+ New test.
+
+
+* sg/revision-parser-skip-prefix (2017-06-12) 5 commits
+  (merged to 'next' on 2017-06-19 at 0a90bec767)
+ + revision.c: use skip_prefix() in handle_revision_pseudo_opt()
+ + revision.c: use skip_prefix() in handle_revision_opt()
+ + revision.c: stricter parsing of '--early-output'
+ + revision.c: stricter parsing of '--no-{min,max}-parents'
+ + revision.h: turn rev_info.early_output back into an unsigned int
+
+ Code clean-up.
 
 --------------------------------------------------
 [New Topics]
 
+* mh/packed-ref-store-prep-extra (2017-06-18) 1 commit
+ - prefix_ref_iterator_advance(): relax the check of trim length
+ (this branch uses mh/packed-ref-store-prep; is tangled with mh/packed-ref-store.)
+
+ Split out of mh/packed-ref-store-prep; will drop.
+
+
+* ab/die-errors-in-threaded (2017-06-21) 1 commit
+ - die(): stop hiding errors due to overzealous recursion guard
+
+ Traditionally, the default die() routine had a code to prevent it
+ from getting called multiple times, which interacted badly when a
+ threaded program used it (one downside is that the real error may
+ be hidden and instead the only error message given to the user may
+ end up being "die recursion detected", which is not very useful).
+
+ Will merge to 'next'.
+
+
+* ab/pcre-v2 (2017-06-21) 1 commit
+  (merged to 'next' on 2017-06-21 at fb6320213c)
+ + grep: fix erroneously copy/pasted variable in check/assert pattern
+
+ Hotfix for a topic already in 'master'.
+
+ Will merge to 'master'.
+
+
+* bw/repo-object (2017-06-22) 21 commits
+ - ls-files: use repository object
+ - repository: enable initialization of submodules
+ - submodule: convert is_submodule_initialized to work on a repository
+ - submodule: add repo_read_gitmodules
+ - submodule-config: store the_submodule_cache in the_repository
+ - repository: add index_state to struct repo
+ - config: read config from a repository object
+ - path: add repo_worktree_path and strbuf_repo_worktree_path
+ - path: add repo_git_path and strbuf_repo_git_path
+ - path: worktree_git_path() should not use file relocation
+ - path: convert do_git_path to take a 'struct repository'
+ - path: convert strbuf_git_common_path to take a 'struct repository'
+ - path: always pass in commondir to update_common_dir
+ - path: create path.h
+ - environment: store worktree in the_repository
+ - environment: place key repository state in the_repository
+ - repository: introduce the repository object
+ - environment: remove namespace_len variable
+ - setup: add comment indicating a hack
+ - setup: don't perform lazy initialization of repository state
+ - Merge branches 'bw/ls-files-sans-the-index' and 'bw/config-h' into HEAD
+ (this branch uses bw/config-h, bw/ls-files-sans-the-index and js/alias-early-config.)
+
+ Introduce a "repository" object to eventually make it easier to
+ work in multiple repositories (the primary focus is to work with
+ the superproject and its submodules) in a single process.
+
+
+* dt/raise-core-packed-git-limit (2017-06-21) 1 commit
+  (merged to 'next' on 2017-06-22 at bc1a90f077)
+ + docs: update 64-bit core.packedGitLimit default
+
+ Doc update for a topic already in 'master'.
+
+ Will merge to 'master'.
+
+
+* jk/add-p-commentchar-fix (2017-06-21) 2 commits
+  (merged to 'next' on 2017-06-22 at 5a1d464e6d)
+ + add--interactive: quote commentChar regex
+ + add--interactive: handle EOF in prompt_yesno
+
+ "git add -p" were updated in 2.12 timeframe to cope with custom
+ core.commentchar but the implementation was buggy and a
+ metacharacter like $ and * did not work.
+
+ Will merge to 'master'.
+
+
+* ks/t7508-indent-fix (2017-06-21) 1 commit
+  (merged to 'next' on 2017-06-22 at d12526967b)
+ + t7508: fix a broken indentation
+
+ Cosmetic update to a test.
+
+ Will merge to 'master'.
+
+
+* mb/reword-autocomplete-message (2017-06-21) 1 commit
+  (merged to 'next' on 2017-06-22 at 878888a743)
+ + auto-correct: tweak phrasing
+
+ Message update.
+
+ Will merge to 'master'.
+
+
+* ks/submodule-add-doc (2017-06-22) 1 commit
+ - Documentation/git-submodule: cleanup "add" section
+
+ Doc update.
+
+ Will merge to 'next'.
+
+
+* pw/unquote-path-in-git-pm (2017-06-22) 5 commits
+ - git-add--interactive.perl: Use unquote_path() from Git.pm
+ - Add tests for Git::unquote_path()
+ - Git::unquote_path() throw an exception on bad path
+ - Git::unquote_path() Handle '\a'
+ - Git.pm: add unquote_path()
+ (this branch uses rs/sha1-name-readdir-optim.)
+
+ Code refactoring.
+
+ Expecting a reroll.
+ The structure of the series has a bit to be desired, but the end
+ result looked mostly OK.
+
+
+* rs/sha1-name-readdir-optim (2017-06-22) 1 commit
+ - sha1_name: cache readdir(3) results in find_short_object_filename()
+ (this branch is used by pw/unquote-path-in-git-pm.)
+
+ Optimize "what are the object names already taken in an alternate
+ object database?" query that is used to derive the length of prefix
+ an object name is uniquely abbreviated to.
+
+ It would be nice to have some numbers, though.
+
+--------------------------------------------------
+[Stalled]
+
+* mg/status-in-progress-info (2017-05-10) 2 commits
+ - status --short --inprogress: spell it as --in-progress
+ - status: show in-progress info for short status
+
+ "git status" learns an option to report various operations
+ (e.g. "merging") that the user is in the middle of.
+
+ cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
+
+
+* nd/worktree-move (2017-04-20) 6 commits
+ - worktree remove: new command
+ - worktree move: refuse to move worktrees with submodules
+ - worktree move: accept destination as directory
+ - worktree move: new command
+ - worktree.c: add update_worktree_location()
+ - worktree.c: add validate_worktree()
+
+ "git worktree" learned move and remove subcommands.
+
+ Expecting a reroll.
+ cf. <20170420101024.7593-1-pclouds@gmail.com>
+ cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
+ cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
+
+--------------------------------------------------
+[Cooking]
+
 * ab/free-and-null (2017-06-16) 6 commits
- - *.[ch] refactoring: make use of the FREE_AND_NULL() macro
- - coccinelle: make use of the "expression" FREE_AND_NULL() rule
- - coccinelle: add a rule to make "expression" code use FREE_AND_NULL()
- - coccinelle: make use of the "type" FREE_AND_NULL() rule
- - coccinelle: add a rule to make "type" code use FREE_AND_NULL()
- - git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL
+  (merged to 'next' on 2017-06-21 at a1825fabd8)
+ + *.[ch] refactoring: make use of the FREE_AND_NULL() macro
+ + coccinelle: make use of the "expression" FREE_AND_NULL() rule
+ + coccinelle: add a rule to make "expression" code use FREE_AND_NULL()
+ + coccinelle: make use of the "type" FREE_AND_NULL() rule
+ + coccinelle: add a rule to make "type" code use FREE_AND_NULL()
+ + git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL
 
  A common pattern to free a piece of memory and assign NULL to the
  pointer that used to point at it has been replaced with a new
  FREE_AND_NULL() macro.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * ab/wildmatch-glob-slash-test (2017-06-15) 1 commit
- - wildmatch test: cover a blind spot in "/" matching
+  (merged to 'next' on 2017-06-21 at 8f4a056f5f)
+ + wildmatch test: cover a blind spot in "/" matching
 
  A new test to show the interaction between the pattern [^a-z]
  (which matches '/') and a slash in a path has been added.  The
  pattern should not match the slash with "pathmatch", but should
  with "wildmatch".
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * ah/doc-gitattributes-empty-index (2017-06-15) 1 commit
- - doc: do not use `rm .git/index` when normalizing line endings
+  (merged to 'next' on 2017-06-21 at f1dc92557b)
+ + doc: do not use `rm .git/index` when normalizing line endings
 
  An example in documentation that does not work in multi worktree
  configuration has been corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/diff-highlight-module (2017-06-15) 1 commit
- - diff-highlight: split code into module
+  (merged to 'next' on 2017-06-21 at e418062ad2)
+ + diff-highlight: split code into module
 
  The 'diff-highlight' program (in contrib/) has been restructured
  for easier reuse by an external project 'diff-so-fancy'.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* jt/unify-object-info (2017-06-15) 4 commits
- - sha1_file, fsck: add missing blob support
- - sha1_file: consolidate storage-agnostic object fns
+* jt/unify-object-info (2017-06-21) 8 commits
+ - sha1_file: refactor has_sha1_file_with_flags
+ - sha1_file: do not access pack if unneeded
+ - sha1_file: improve sha1_object_info_extended
+ - sha1_file: refactor read_object
  - sha1_file: move delta base cache code up
+ - sha1_file: rename LOOKUP_REPLACE_OBJECT
+ - sha1_file: rename LOOKUP_UNKNOWN_OBJECT
  - sha1_file: teach packed_object_info about typename
 
  Code clean-ups.
 
- I seem to have made a mistake during my review of the previous
- one, and took this one in a wrong direction.  A better organization
- was suggested.
- cf. <20170617121934.a6onn7f2luhkuuym@sigill.intra.peff.net>
+ Looked sensible to me.  Any further comments?
 
 
 * rs/pretty-add-again (2017-06-15) 1 commit
- - pretty: recalculate duplicate short hashes
+  (merged to 'next' on 2017-06-21 at 5128ad3632)
+ + pretty: recalculate duplicate short hashes
 
  The pretty-format specifiers like '%h', '%t', etc. had an
  optimization that no longer works correctly.  In preparation/hope
  of getting it correctly implemented, first discard the optimization
  that is broken.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * sg/doc-pretty-formats (2017-06-15) 1 commit
- - docs/pretty-formats: stress that %- removes all preceding line-feeds
+  (merged to 'next' on 2017-06-21 at 011df65cf5)
+ + docs/pretty-formats: stress that %- removes all preceding line-feeds
 
  Doc update.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * sn/reset-doc-typofix (2017-06-15) 1 commit
- - doc: git-reset: fix a trivial typo
+  (merged to 'next' on 2017-06-21 at 3e629ac2cb)
+ + doc: git-reset: fix a trivial typo
 
  Doc update.
 
- Will merge to 'next'.
-
-
-* nd/fopen-errors (2017-06-15) 1 commit
-  (merged to 'next' on 2017-06-15 at 86bcb7c082)
- + configure.ac: loosen FREAD_READS_DIRECTORIES test program
-
- Hotfix for a topic that is already in 'master'.
-
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * da/mergetools-meld-output-opt-on-macos (2017-06-18) 1 commit
- - mergetools/meld: improve compatibiilty with Meld on macOS X
+  (merged to 'next' on 2017-06-21 at de00cce3c0)
+ + mergetools/meld: improve compatibiilty with Meld on macOS X
 
  "git mergetool" learned to work around a wrapper MacOS X adds
  around underlying meld.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* ks/status-initial-commit (2017-06-18) 4 commits
- - SQUASH???
- - Add test for the new status message
- - SQUASH???
- - Contextually notify user about an initial commit
+* ks/status-initial-commit (2017-06-21) 1 commit
+ - status: contextually notify user about an initial commit
 
  "git status" has long shown essentially the same message as "git
  commit"; the message it gives while preparing for the root commit,
@@ -249,22 +387,23 @@ of the repositories listed at
  (rather than the commit the user is preparing for, which is more in
  line with the focus of "git commit").
 
- Expecting a reroll.
- cf. <20170619024123.5438-1-kaarticsivaraam91196@gmail.com>
+ Will merge to 'next'.
 
 
 * lb/status-stash-count (2017-06-18) 3 commits
- - glossary: define 'stash entry'
- - status: add optional stash count information
- - stash: update documentation to use 'stash entry'
+  (merged to 'next' on 2017-06-22 at 86bc2f2213)
+ + glossary: define 'stash entry'
+ + status: add optional stash count information
+ + stash: update documentation to use 'stash entry'
 
  "git status" learned to optionally give how many stash entries the
  user has in its output.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* mh/packed-ref-store (2017-06-18) 28 commits
+* mh/packed-ref-store (2017-06-19) 29 commits
+ - SQUASH???
  - read_packed_refs(): die if `packed-refs` contains bogus data
  - repack_without_refs(): don't lock or unlock the packed refs
  - commit_packed_refs(): remove call to `packed_refs_unlock()`
@@ -293,7 +432,7 @@ of the repositories listed at
  - packed_ref_store: move `packed_refs_path` here
  - packed_ref_store: new struct
  - add_packed_ref(): teach function to overwrite existing refs
- (this branch uses mh/packed-ref-store-prep.)
+ (this branch uses mh/packed-ref-store-prep; is tangled with mh/packed-ref-store-prep-extra.)
 
  The "ref-store" code reorganization continues.
 
@@ -302,45 +441,16 @@ of the repositories listed at
  error.
  cf. <20170619195330.fhjlfiqmcwhgttaa@sigill.intra.peff.net>
 
---------------------------------------------------
-[Stalled]
-
-* mg/status-in-progress-info (2017-05-10) 2 commits
- - status --short --inprogress: spell it as --in-progress
- - status: show in-progress info for short status
-
- "git status" learns an option to report various operations
- (e.g. "merging") that the user is in the middle of.
-
- cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
-
-
-* nd/worktree-move (2017-04-20) 6 commits
- - worktree remove: new command
- - worktree move: refuse to move worktrees with submodules
- - worktree move: accept destination as directory
- - worktree move: new command
- - worktree.c: add update_worktree_location()
- - worktree.c: add validate_worktree()
-
- "git worktree" learned move and remove subcommands.
-
- Expecting a reroll.
- cf. <20170420101024.7593-1-pclouds@gmail.com>
- cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
- cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
-
---------------------------------------------------
-[Cooking]
 
 * js/alias-early-config (2017-06-15) 6 commits
- - alias: use the early config machinery to expand aliases
- - t7006: demonstrate a problem with aliases in subdirectories
- - t1308: relax the test verifying that empty alias values are disallowed
- - help: use early config when autocorrecting aliases
- - config: report correct line number upon error
- - discover_git_directory(): avoid setting invalid git_dir
- (this branch is used by bw/config-h.)
+  (merged to 'next' on 2017-06-21 at ca4995aac2)
+ + alias: use the early config machinery to expand aliases
+ + t7006: demonstrate a problem with aliases in subdirectories
+ + t1308: relax the test verifying that empty alias values are disallowed
+ + help: use early config when autocorrecting aliases
+ + config: report correct line number upon error
+ + discover_git_directory(): avoid setting invalid git_dir
+ (this branch is used by bw/config-h and bw/repo-object.)
 
  The code to pick up and execute command alias definition from the
  configuration used to switch to the top of the working tree and
@@ -348,142 +458,77 @@ of the repositories listed at
  unnecessarilyl complex.  Attempt to simplify the logic by using the
  early-config mechanism that does not chdir around.
 
- Will merge to 'next'.
-
-
-* pc/dir-count-slashes (2017-06-12) 1 commit
-  (merged to 'next' on 2017-06-19 at 57351a2771)
- + dir: create function count_slashes()
-
- Three instances of the same helper function have been consolidated
- to one.
-
- Will merge to 'master'.
-
-
-* sb/t4005-modernize (2017-06-10) 1 commit
-  (merged to 'next' on 2017-06-19 at beedeb757b)
- + t4005: modernize style and drop hard coded sha1
-
- Test clean-up.
-
- Will merge to 'master'.
-
-
-* ah/filter-branch-setup (2017-06-12) 2 commits
-  (merged to 'next' on 2017-06-19 at f3440f2c1a)
- + filter-branch: add [--] to usage
- + filter-branch: add `--setup` step
-
- "filter-branch" learned a pseudo filter "--setup" that can be used
- to define a common function/variable that can be used by other
- filters.
-
  Will merge to 'master'.
 
 
 * bw/config-h (2017-06-15) 6 commits
- - config: don't implicitly use gitdir or commondir
- - config: respect commondir
- - setup: teach discover_git_directory to respect the commondir
- - config: don't include config.h by default
- - config: remove git_config_iter
- - config: create config.h
- (this branch uses js/alias-early-config.)
+  (merged to 'next' on 2017-06-21 at 15c5f34034)
+ + config: don't implicitly use gitdir or commondir
+ + config: respect commondir
+ + setup: teach discover_git_directory to respect the commondir
+ + config: don't include config.h by default
+ + config: remove git_config_iter
+ + config: create config.h
+ (this branch is used by bw/repo-object; uses js/alias-early-config.)
 
  Fix configuration codepath to pay proper attention to commondir
  that is used in multi-worktree situation, and isolate config API
  into its own header file.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * bw/ls-files-sans-the-index (2017-06-13) 17 commits
- - ls-files: factor out tag calculation
- - ls-files: factor out debug info into a function
- - ls-files: convert show_files to take an index
- - ls-files: convert show_ce_entry to take an index
- - ls-files: convert prune_cache to take an index
- - ls-files: convert ce_excluded to take an index
- - ls-files: convert show_ru_info to take an index
- - ls-files: convert show_other_files to take an index
- - ls-files: convert show_killed_files to take an index
- - ls-files: convert write_eolinfo to take an index
- - ls-files: convert overlay_tree_on_cache to take an index
- - tree: convert read_tree to take an index parameter
- - convert: convert renormalize_buffer to take an index
- - convert: convert convert_to_git to take an index
- - convert: convert convert_to_git_filter_fd to take an index
- - convert: convert crlf_to_git to take an index
- - convert: convert get_cached_convert_stats_ascii to take an index
+  (merged to 'next' on 2017-06-21 at 39ce64f6c7)
+ + ls-files: factor out tag calculation
+ + ls-files: factor out debug info into a function
+ + ls-files: convert show_files to take an index
+ + ls-files: convert show_ce_entry to take an index
+ + ls-files: convert prune_cache to take an index
+ + ls-files: convert ce_excluded to take an index
+ + ls-files: convert show_ru_info to take an index
+ + ls-files: convert show_other_files to take an index
+ + ls-files: convert show_killed_files to take an index
+ + ls-files: convert write_eolinfo to take an index
+ + ls-files: convert overlay_tree_on_cache to take an index
+ + tree: convert read_tree to take an index parameter
+ + convert: convert renormalize_buffer to take an index
+ + convert: convert convert_to_git to take an index
+ + convert: convert convert_to_git_filter_fd to take an index
+ + convert: convert crlf_to_git to take an index
+ + convert: convert get_cached_convert_stats_ascii to take an index
+ (this branch is used by bw/repo-object.)
 
  Code clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/warn-add-gitlink (2017-06-15) 2 commits
- - t: move "git add submodule" into test blocks
- - add: warn when adding an embedded repository
+  (merged to 'next' on 2017-06-21 at 7210ddbb2e)
+ + t: move "git add submodule" into test blocks
+ + add: warn when adding an embedded repository
 
  Using "git add d/i/r" when d/i/r is the top of the working tree of
  a separate repository would create a gitlink in the index, which
  would appear as a not-quite-initialized submodule to others.  We
  learned to give warnings when this happens.
 
- Will merge to 'next'.
-
-
-* km/test-mailinfo-b-failure (2017-06-12) 1 commit
-  (merged to 'next' on 2017-06-19 at badc2c2337)
- + t5100: add some more mailinfo tests
-
- New tests.
-
  Will merge to 'master'.
 
 
-* ls/github (2017-06-13) 1 commit
-  (merged to 'next' on 2017-06-19 at 4d2024615f)
- + Configure Git contribution guidelines for github.com
-
- Help contributors that visit us at GitHub.
-
- Will merge to 'master'.
-
-
-* mh/fast-import-raise-default-depth (2017-06-12) 1 commit
-  (merged to 'next' on 2017-06-19 at 7093c07b8e)
- + fast-import: increase the default pack depth to 50
-
- "fast-import" uses a default pack chain depth that is consistent
- with other parts of the system.
-
- Will merge to 'master'.
-
-
-* mh/packed-ref-store-prep (2017-06-18) 3 commits
- - prefix_ref_iterator_advance(): relax the check of trim length
- - for_each_bisect_ref(): don't trim refnames
- - lock_packed_refs(): fix cache validity check
- (this branch is used by mh/packed-ref-store.)
+* mh/packed-ref-store-prep (2017-06-18) 2 commits
+  (merged to 'next' on 2017-06-22 at 3f7a4da1e8)
+ + for_each_bisect_ref(): don't trim refnames
+ + lock_packed_refs(): fix cache validity check
+ (this branch is used by mh/packed-ref-store and mh/packed-ref-store-prep-extra.)
 
  Bugfix for a topic that is (only) in 'master'.
 
- Will merge the first two to 'next'.
-
-
-* ps/stash-push-pathspec-fix (2017-06-13) 1 commit
-  (merged to 'next' on 2017-06-19 at 866c9035e0)
- + git-stash: fix pushing stash with pathspec from subdir
-
- "git stash push <pathspec>" did not work from a subdirectory at all.
- Bugfix for a topic in v2.13
-
  Will merge to 'master'.
 
 
-* sb/submodule-doc (2017-06-13) 1 commit
+* sb/submodule-doc (2017-06-22) 1 commit
  - submodules: overhaul documentation
 
  Doc update.
@@ -491,15 +536,6 @@ of the repositories listed at
  Waiting for discussion to settle.
 
 
-* sd/t3200-branch-m-test (2017-06-13) 1 commit
-  (merged to 'next' on 2017-06-19 at 0fd712c46e)
- + t3200: add test for single parameter passed to -m option
-
- New test.
-
- Will merge to 'master'.
-
-
 * sd/branch-copy (2017-06-18) 3 commits
  - branch: add a --copy (-c) option to go with --move (-m)
  - branch: add test for -m renaming multiple config sections
@@ -512,33 +548,6 @@ of the repositories listed at
  wait for them to stabilize a bit more.
 
 
-* rs/strbuf-addftime-zZ (2017-06-15) 3 commits
-  (merged to 'next' on 2017-06-19 at 77480669f0)
- + date: use localtime() for "-local" time formats
- + t0006: check --date=format zone offsets
- + strbuf: let strbuf_addftime handle %z and %Z itself
-
- As there is no portable way to pass timezone information to
- strftime, some output format from "git log" and friends are
- impossible to produce.  Teach our own strbuf_addftime to replace %z
- and %Z with caller-supplied values to help working around this.
-
- Will merge to 'master'.
-
-
-* sg/revision-parser-skip-prefix (2017-06-12) 5 commits
-  (merged to 'next' on 2017-06-19 at 0a90bec767)
- + revision.c: use skip_prefix() in handle_revision_pseudo_opt()
- + revision.c: use skip_prefix() in handle_revision_opt()
- + revision.c: stricter parsing of '--early-output'
- + revision.c: stricter parsing of '--no-{min,max}-parents'
- + revision.h: turn rev_info.early_output back into an unsigned int
-
- Code clean-up.
-
- Will merge to 'master'.
-
-
 * ls/filter-process-delayed (2017-06-01) 5 commits
  - convert: add "status=delayed" to filter process protocol
  - convert: move multiple file filter error handling to separate function
@@ -553,15 +562,16 @@ of the repositories listed at
 
 
 * pw/rebase-i-regression-fix-tests (2017-06-19) 4 commits
- - rebase: add more regression tests for console output
- - rebase: add regression tests for console output
- - rebase -i: add test for reflog message
- - sequencer: print autostash messages to stderr
+  (merged to 'next' on 2017-06-22 at d1dde1672a)
+ + rebase: add more regression tests for console output
+ + rebase: add regression tests for console output
+ + rebase -i: add test for reflog message
+ + sequencer: print autostash messages to stderr
 
  Fix a recent regression to "git rebase -i" and add tests that would
  have caught it and others.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * ab/sha1dc (2017-06-07) 2 commits
@@ -590,24 +600,32 @@ of the repositories listed at
  Waiting for discussion to settle.
 
 
-* sb/diff-color-move (2017-06-01) 17 commits
+* sb/diff-color-move (2017-06-21) 25 commits
+ - diff: document the new --color-moved setting
+ - diff.c: add dimming to moved line detection
+ - diff.c: color moved lines differently, plain mode
  - diff.c: color moved lines differently
- - diff: buffer all output if asked to
- - diff.c: emit_line includes whitespace highlighting
- - diff.c: convert diff_summary to use emit_line_*
- - diff.c: convert diff_flush to use emit_line_*
- - diff.c: convert word diffing to use emit_line_*
- - diff.c: convert show_stats to use emit_line_*
- - diff.c: convert emit_binary_diff_body to use emit_line_*
- - submodule.c: convert show_submodule_summary to use emit_line_fmt
- - diff.c: convert emit_rewrite_lines to use emit_line_*
- - diff.c: convert emit_rewrite_diff to use emit_line_*
- - diff.c: convert builtin_diff to use emit_line_*
- - diff.c: convert fn_out_consume to use emit_line
- - diff: introduce more flexible emit function
+ - diff.c: buffer all output if asked to
+ - diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY
+ - diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP
+ - diff.c: convert word diffing to use emit_diff_symbol
+ - diff.c: convert show_stats to use emit_diff_symbol
+ - diff.c: convert emit_binary_diff_body to use emit_diff_symbol
+ - submodule.c: migrate diff output to use emit_diff_symbol
+ - diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF
+ - diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES
+ - diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER
+ - diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR
+ - diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE
+ - diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS{_PORCELAIN}
+ - diff.c: migrate emit_line_checked to use emit_diff_symbol
+ - diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF
+ - diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO
+ - diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER
+ - diff.c: introduce emit_diff_symbol
  - diff.c: factor out diff_flush_patch_all_file_pairs
- - diff: move line ending check into emit_hunk_header
- - diff: readability fix
+ - diff.c: move line ending check into emit_hunk_header
+ - diff.c: readability fix
 
  "git diff" has been taught to optionally paint new lines that are
  the same as deleted lines elsewhere differently from genuinely new
@@ -630,6 +648,7 @@ of the repositories listed at
 * sg/clone-refspec-from-command-line-config (2017-06-16) 2 commits
  - Documentation/clone: document ignored configuration variables
  - clone: respect additional configured fetch refspecs during initial fetch
+ (this branch is used by sg/remote-no-string-refspecs.)
 
  "git clone -c var=val" is a way to set configuration variables in
  the resulting repository, but it is more useful to also make these