From: Junio C Hamano Date: Thu, 22 Jun 2017 22:34:35 +0000 (-0700) Subject: What's cooking (2017/06 #06) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=847201368337976fd5482e3fa4b2e0d79bb05443;p=thirdparty%2Fgit.git What's cooking (2017/06 #06) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index c1df8d2724..1a13716ed8 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (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 " 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. + + +* 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. + +-------------------------------------------------- +[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. - - -* 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. - --------------------------------------------------- -[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 " 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