To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Aug 2017, #01; Fri, 4)
-X-master-at: 4384e3cde2ce8ecd194202e171ae16333d241326
-X-next-at: 98096fd7a85b93626db8757f944f2d8ffdf7e96a
+Subject: What's cooking in git.git (Aug 2017, #02; Fri, 11)
+X-master-at: b3622a4ee94e4916cd05e6d96e41eeb36b941182
+X-next-at: b18f417b8938ccf4d9dfc9a6ecca90dcaa2868f7
-What's cooking in git.git (Aug 2017, #01; Fri, 4)
+What's cooking in git.git (Aug 2017, #02; Fri, 11)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
'+' are in 'next'. The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.
-The 2.14-rc2 was a bit delayed for various reasons and then there
-wasn't any last-minite regressions discovered and fixed during that
-timeframe, so I just decided to skip the second release candidate
-and go straight to tag the final, which was done a few minutes ago.
+The first batch of 32 topics (not counting the v2.14.1 update which
+was a security fix), which are the ones that have been cooking in
+'next' during the pre-release freeze period, have now been merged to
+'master'. I have not really started pickng up new topics posted to
+the list yet and yet to rewind and rebuild the 'next' branch to
+start a new cycle. Hopefully it can happen early next week.
-I expect that the tree to stay a bit quiet for a week until the first
-maintenance release for 2.14 series is tagged, perhaps by the end of
-the next week.
+The top part of the draft release notes for the next cycle, which I
+tentatively called Git 2.15, declares that "git add ''" will still
+be supported up to this release but will become illegal after that.
+Given that a typical release cycle is 8-12 weeks, that will happen
+sometime early next year.
You can find the changes described here in the integration branches
of the repositories listed at
--------------------------------------------------
[Graduated to "master"]
-* ah/patch-id-doc (2017-07-28) 1 commit
- (merged to 'next' on 2017-08-04 at 7808b7abd3)
- + doc: remove unsupported parameter from patch-id
+* ah/doc-wserrorhighlight (2017-07-25) 1 commit
+ (merged to 'next' on 2017-07-27 at cd1bb28d95)
+ + doc: add missing values "none" and "default" for diff.wsErrorHighlight
+
+ Doc update.
+
+
+* bc/object-id (2017-07-17) 12 commits
+ (merged to 'next' on 2017-07-18 at fd161056e4)
+ + sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ
+ + sha1_name: convert GET_SHA1* flags to GET_OID*
+ + sha1_name: convert get_sha1* to get_oid*
+ + Convert remaining callers of get_sha1 to get_oid.
+ + builtin/unpack-file: convert to struct object_id
+ + bisect: convert bisect_checkout to struct object_id
+ + builtin/update_ref: convert to struct object_id
+ + sequencer: convert to struct object_id
+ + remote: convert struct push_cas to struct object_id
+ + submodule: convert submodule config lookup to use object_id
+ + builtin/merge-tree: convert remaining caller of get_sha1 to object_id
+ + builtin/fsck: convert remaining caller of get_sha1 to object_id
+ (this branch is used by bw/submodule-config-cleanup; uses sb/object-id.)
+
+ Conversion from uchar[20] to struct object_id continues.
- Docfix.
+* bw/object-id (2017-07-17) 3 commits
+ (merged to 'next' on 2017-07-18 at 90d27c0e7c)
+ + receive-pack: don't access hash of NULL object_id pointer
+ + notes: don't access hash of NULL object_id pointer
+ + tree-diff: don't access hash of NULL object_id pointer
-* as/diff-options-grammofix (2017-07-31) 1 commit
- (merged to 'next' on 2017-08-01 at bfc60e3ec5)
- + diff-options doc: grammar fix
+ Conversion from uchar[20] to struct object_id continues.
- A grammofix.
+* cc/ref-is-hidden-microcleanup (2017-07-24) 1 commit
+ (merged to 'next' on 2017-07-27 at 37af544e1c)
+ + refs: use skip_prefix() in ref_is_hidden()
-* js/blame-lib (2017-07-24) 1 commit
- (merged to 'next' on 2017-07-26 at db0d081012)
- + blame: fix memory corruption scrambling revision name in error message
+ Code cleanup.
- A hotfix to a topic already in 'master'.
---------------------------------------------------
-[New Topics]
+* dc/fmt-merge-msg-microcleanup (2017-07-25) 1 commit
+ (merged to 'next' on 2017-07-27 at 6df06eb788)
+ + fmt-merge-msg: fix coding style
+
+ Code cleanup.
+
+
+* dl/credential-cache-socket-in-xdg-cache (2017-07-27) 1 commit
+ (merged to 'next' on 2017-08-01 at 87687ae1d4)
+ + credential-cache: interpret an ECONNRESET as an EOF
+
+ A recently added test for the "credential-cache" helper revealed
+ that EOF detection done around the time the connection to the cache
+ daemon is torn down were flaky. This was fixed by reacting to
+ ECONNRESET and behaving as if we got an EOF.
+
+
+* eb/contacts-reported-by (2017-07-27) 1 commit
+ (merged to 'next' on 2017-08-01 at cca9972d6b)
+ + git-contacts: also recognise "Reported-by:"
+
+ "git contacts" (in contrib/) now lists the address on the
+ "Reported-by:" trailer to its output, in addition to those on
+ S-o-b: and other trailers, to make it easier to notify (and thank)
+ the original bug reporter.
+
+
+* hb/gitweb-project-list (2017-07-18) 1 commit
+ (merged to 'next' on 2017-07-27 at c25d65ca25)
+ + gitweb: skip unreadable subdirectories
+
+ When a directory is not readable, "gitweb" fails to build the
+ project list. Work this around by skipping such a directory.
+
+ It might end up hiding a problem under the rug and a better
+ solution might be to loudly complain to the administrator pointing
+ out the problematic directory, but this will at least make it
+ "work".
+
+
+* jb/t8008-cleanup (2017-07-26) 1 commit
+ (merged to 'next' on 2017-08-01 at f979c9340d)
+ + t8008: rely on rev-parse'd HEAD instead of sha1 value
+
+ Code clean-up.
+
+
+* jc/http-sslkey-and-ssl-cert-are-paths (2017-07-20) 1 commit
+ (merged to 'next' on 2017-07-20 at 5489304b99)
+ + http.c: http.sslcert and http.sslkey are both pathnames
+
+ The http.{sslkey,sslCert} configuration variables are to be
+ interpreted as a pathname that honors "~[username]/" prefix, but
+ weren't, which has been fixed.
+
+
+* jk/c99 (2017-07-18) 2 commits
+ (merged to 'next' on 2017-07-18 at 1cfc30f7c1)
+ + clean.c: use designated initializer
+ + strbuf: use designated initializers in STRBUF_INIT
+
+ Start using selected c99 constructs in small, stable and
+ essentialpart of the system to catch people who care about
+ older compilers that do not grok them.
+
+
+* jk/ref-filter-colors (2017-07-13) 15 commits
+ (merged to 'next' on 2017-07-18 at 75d4eb7ecf)
+ + ref-filter: consult want_color() before emitting colors
+ + pretty: respect color settings for %C placeholders
+ + rev-list: pass diffopt->use_colors through to pretty-print
+ + for-each-ref: load config earlier
+ + color: check color.ui in git_default_config()
+ + ref-filter: pass ref_format struct to atom parsers
+ + ref-filter: factor out the parsing of sorting atoms
+ + ref-filter: make parse_ref_filter_atom a private function
+ + ref-filter: provide a function for parsing sort options
+ + ref-filter: move need_color_reset_at_eol into ref_format
+ + ref-filter: abstract ref format into its own struct
+ + ref-filter: simplify automatic color reset
+ + t: use test_decode_color rather than literal ANSI codes
+ + docs/for-each-ref: update pointer to color syntax
+ + check return value of verify_ref_format()
+
+ "%C(color name)" in the pretty print format always produced ANSI
+ color escape codes, which was an early design mistake. They now
+ honor the configuration (e.g. "color.ui = never") and also tty-ness
+ of the output medium.
+
+
+* jk/reflog-walk (2017-07-09) 9 commits
+ (merged to 'next' on 2017-07-09 at 7449e964c6)
+ + reflog-walk: apply --since/--until to reflog dates
+ + reflog-walk: stop using fake parents
+ + rev-list: check reflog_info before showing usage
+ + get_revision_1(): replace do-while with an early return
+ + log: do not free parents when walking reflog
+ + log: clarify comment about reflog cycles
+ + revision: disallow reflog walking with revs->limited
+ + t1414: document some reflog-walk oddities
+ + Merge branch 'jk/reflog-walk-maint' into jk/reflog-walk
+
+ Numerous bugs in walking of reflogs via "log -g" and friends have
+ been fixed.
+
* jk/rev-list-empty-input (2017-08-02) 4 commits
(merged to 'next' on 2017-08-04 at cb4f9b84e0)
"git log --tag=no-such-tag" showed log starting from HEAD, which
has been fixed---it now shows nothing.
- Will cook in 'next'.
+
+* js/git-gui-msgfmt-on-windows (2017-07-25) 7 commits
+ (merged to 'next' on 2017-08-01 at 219577a73e)
+ + Merge branch 'js/msgfmt-on-windows' of ../git-gui into js/git-gui-msgfmt-on-windows
+ + git-gui (MinGW): make use of MSys2's msgfmt
+ + Merge remote-tracking branch 'philoakley/dup-gui'
+ + git gui: allow for a long recentrepo list
+ + git gui: de-dup selected repo from recentrepo history
+ + git gui: cope with duplicates in _get_recentrepo
+ + git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
+
+ Because recent Git for Windows do come with a real msgfmt, the
+ build procedure for git-gui has been updated to use it instead of a
+ hand-rolled substitute.
+
+
+* js/run-process-parallel-api-fix (2017-07-21) 1 commit
+ (merged to 'next' on 2017-07-27 at 4b54b69172)
+ + run_processes_parallel: change confusing task_cb convention
+
+ API fix.
+
+
+* jt/fsck-code-cleanup (2017-07-26) 3 commits
+ (merged to 'next' on 2017-07-26 at 7a17e279da)
+ + fsck: cleanup unused variable
+ (merged to 'next' on 2017-07-20 at f7045a8c47)
+ + object: remove "used" field from struct object
+ + fsck: remove redundant parse_tree() invocation
+
+ Code clean-up.
+
+
+* jt/subprocess-handshake (2017-07-26) 3 commits
+ (merged to 'next' on 2017-08-01 at a0f78deffd)
+ + sub-process: refactor handshake to common function
+ + Documentation: migrate sub-process docs to header
+ + Merge branch 'ls/filter-process-delayed' into jt/subprocess-handshake
+ (this branch uses ls/filter-process-delayed.)
+
+ Code cleanup.
* jt/t1450-fsck-corrupt-packfile (2017-07-28) 1 commit
A test update.
- Will cook in 'next'.
+
+* ks/commit-abort-on-empty-message-fix (2017-07-17) 1 commit
+ (merged to 'next' on 2017-07-27 at e81ad4c1dc)
+ + commit: check for empty message before the check for untouched template
+
+ "git commit" when seeing an totally empty message said "you did not
+ edit the message", which is clearly wrong. The message has been
+ corrected.
+
+
+* ks/prepare-commit-msg-sample (2017-07-12) 4 commits
+ (merged to 'next' on 2017-07-18 at 48d9650a30)
+ + hook: add a simple first example
+ + hook: add sign-off using "interpret-trailers"
+ + hook: name the positional variables
+ + hook: cleanup script
+
+ Remove an example that is now obsolete from a sample hook,
+ and improve an old example in it that added a sign-off manually
+ to use the interpret-trailers command.
+
+
+* ls/filter-process-delayed (2017-06-30) 7 commits
+ (merged to 'next' on 2017-07-05 at a35e644082)
+ + convert: add "status=delayed" to filter process protocol
+ + convert: refactor capabilities negotiation
+ + convert: move multiple file filter error handling to separate function
+ + convert: put the flags field before the flag itself for consistent style
+ + t0021: write "OUT <size>" only on success
+ + t0021: make debug log file name configurable
+ + t0021: keep filter log files on comparison
+ (this branch is used by jt/subprocess-handshake.)
+
+ The filter-process interface learned to allow a process with long
+ latency give a "delayed" response.
* ma/pager-per-subcommand-action (2017-08-03) 7 commits
pager depending on what operation is being carried out to fix this,
and then "git tag -l" is made to run pager by default.
- Will cook in 'next'.
-
If this works out OK, I think there are low-hanging fruits in
other commands like "git branch" that outputs long list in one mode
while taking input in another.
-* pw/sequence-rerere-autoupdate (2017-08-02) 6 commits
- - cherry-pick/revert: reject --rerere-autoupdate when continuing
- - cherry-pick/revert: remember --rerere-autoupdate
- - t3504: use test_commit
- - rebase -i: honor --rerere-autoupdate
- - rebase: honor --rerere-autoupdate
- - am: remember --rerere-autoupdate setting
+* rg/rerere-train-overwrite (2017-07-26) 1 commit
+ (merged to 'next' on 2017-08-01 at 7fcd42974c)
+ + contrib/rerere-train: optionally overwrite existing resolutions
- Commands like "git rebase" accepted the --rerere-autoupdate option
- from the command line, but did not always use it. This has been
- fixed.
+ The "rerere-train" script (in contrib/) learned the "--overwrite"
+ option to allow overwriting existing recorded resolutions.
- Will merge to and cook in 'next'.
+* rs/bswap-ubsan-fix (2017-07-17) 2 commits
+ (merged to 'next' on 2017-07-20 at ce6bad07b0)
+ + bswap: convert get_be16, get_be32 and put_be32 to inline functions
+ + bswap: convert to unsigned before shifting in get_be32
-* bw/clone-recursive-quiet (2017-08-04) 1 commit
- - clone: teach recursive clones to respect -q
+ Code clean-up.
- "git clone --recurse-submodules --quiet" did not pass the quiet
- option down to submodules.
- Will merge to and cook in 'next'.
+* rs/move-array (2017-07-17) 4 commits
+ (merged to 'next' on 2017-07-20 at f3086cd20e)
+ + ls-files: don't try to prune an empty index
+ + apply: use COPY_ARRAY and MOVE_ARRAY in update_image()
+ + use MOVE_ARRAY
+ + add MOVE_ARRAY
+
+ Code clean-up.
+
+
+* rs/pack-objects-pbase-cleanup (2017-07-20) 1 commit
+ (merged to 'next' on 2017-07-20 at a6b618559b)
+ + pack-objects: remove unnecessary NULL check
+
+ Code clean-up.
+
+
+* rs/stat-data-unaligned-reads-fix (2017-07-17) 1 commit
+ (merged to 'next' on 2017-07-20 at e7d3782823)
+ + dir: support platforms that require aligned reads
+
+ Code clean-up.
+
+
+* sb/hashmap-cleanup (2017-07-05) 10 commits
+ (merged to 'next' on 2017-07-12 at ce31d06165)
+ + t/helper/test-hashmap: use custom data instead of duplicate cmp functions
+ + name-hash.c: drop hashmap_cmp_fn cast
+ + submodule-config.c: drop hashmap_cmp_fn cast
+ + remote.c: drop hashmap_cmp_fn cast
+ + patch-ids.c: drop hashmap_cmp_fn cast
+ + convert/sub-process: drop cast to hashmap_cmp_fn
+ + config.c: drop hashmap_cmp_fn cast
+ + builtin/describe: drop hashmap_cmp_fn cast
+ + builtin/difftool.c: drop hashmap_cmp_fn cast
+ + attr.c: drop hashmap_cmp_fn cast
+
+ Many uses of comparision callback function the hashmap API uses
+ cast the callback function type when registering it to
+ hashmap_init(), which defeats the compile time type checking when
+ the callback interface changes (e.g. gaining more parameters).
+ The callback implementations have been updated to take "void *"
+ pointers and cast them to the type they expect instead.
+
+
+* sb/object-id (2017-07-13) 2 commits
+ (merged to 'next' on 2017-07-18 at e4df0ba3b1)
+ + tag: convert gpg_verify_tag to use struct object_id
+ + commit: convert lookup_commit_graft to struct object_id
+ (this branch is used by bc/object-id and bw/submodule-config-cleanup.)
+
+ Conversion from uchar[20] to struct object_id continues.
+
+
+* st/lib-gpg-kill-stray-agent (2017-07-20) 1 commit
+ (merged to 'next' on 2017-07-20 at 8ea68c483f)
+ + t: lib-gpg: flush gpg agent on startup
+
+ Some versions of GnuPG fails to kill gpg-agent it auto-spawned
+ and such a left-over agent can interfere with a test. Work it
+ around by attempting to kill one before starting a new test.
+
+
+* wd/rebase-conflict-guide (2017-07-17) 1 commit
+ (merged to 'next' on 2017-07-20 at c78e758b23)
+ + rebase: make resolve message clearer for inexperienced users
+
+ The advice message given when "git rebase" stops for conflicting
+ changes has been improved.
--------------------------------------------------
-[Stalled]
+[New Topics]
-* 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
+* ab/ref-filter-no-contains (2017-08-07) 1 commit
+ - tests: don't give unportable ">" to "test" built-in, use -gt
- "git status" learns an option to report various operations
- (e.g. "merging") that the user is in the middle of.
+ A test fix.
- cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
+ Will merge to 'next'.
-* 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()
+* ma/parse-maybe-bool (2017-08-07) 6 commits
+ - parse_decoration_style: drop unused argument `var`
+ - treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
+ - config: make git_{config,parse}_maybe_bool equivalent
+ - config: introduce git_parse_maybe_bool_text
+ - t5334: document that git push --signed=1 does not work
+ - Doc/git-{push,send-pack}: correct --sign= to --signed=
- "git worktree" learned move and remove subcommands.
+ Code clean-up.
- 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>
+ Will merge to 'next'.
-* 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.)
+* mf/no-dashed-subcommands (2017-08-07) 1 commit
+ - scripts: use "git foo" not "git-foo"
- "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
- variables take effect while the initial clone is happening,
- e.g. these configuration variables could be fetch refspecs.
+ Code clean-up.
- Waiting for a response.
- cf. <20170617112228.vugswym4o4owf6wj@sigill.intra.peff.net>
- cf. <xmqqmv8zhdap.fsf@gitster.mtv.corp.google.com>
+ Will merge to 'next'.
-* js/rebase-i-final (2017-07-27) 10 commits
- - rebase -i: rearrange fixup/squash lines using the rebase--helper
- - t3415: test fixup with wrapped oneline
- - rebase -i: skip unnecessary picks using the rebase--helper
- - rebase -i: check for missing commits in the rebase--helper
- - t3404: relax rebase.missingCommitsCheck tests
- - rebase -i: also expand/collapse the SHA-1s via the rebase--helper
- - rebase -i: do not invent onelines when expanding/collapsing SHA-1s
- - rebase -i: remove useless indentation
- - rebase -i: generate the script via rebase--helper
- - t3415: verify that an empty instructionFormat is handled as before
+* mk/diff-delta-uint-may-be-shorter-than-ulong (2017-08-10) 1 commit
+ - diff-delta: fix encoding size that would not fit in "unsigned int"
- The final batch to "git rebase -i" updates to move more code from
- the shell script to C.
+ The machinery to create xdelta used in pack files received the
+ sizes of the data in size_t, but lost the higher bits of them by
+ storing them in "unsigned int" during the computation, which is
+ fixed.
+
+ Will merge to 'next'.
+
+
+* rs/freebsd-getcwd-workaround (2017-08-07) 1 commit
+ - t0001: skip test with restrictive permissions if getpwd(3) respects them
+
+ Test portability fix for BSDs.
+
+ Will merge to 'next'.
+
+
+* rs/in-obsd-basename-dirname-take-const (2017-08-07) 1 commit
+ - test-path-utils: handle const parameter of basename and dirname
+
+ Portability fix.
+
+ Will merge to 'next'.
+
+
+* rs/t3700-clean-leftover (2017-08-08) 1 commit
+ - t3700: fix broken test under !POSIXPERM
+
+ A test fix.
+
+ Will merge to 'next'.
+
+
+* jc/perl-git-comment-typofix (2017-08-07) 1 commit
+ - perl/Git.pm: typofix in a comment
+
+ A comment fix.
+
+ Will merge to 'next'.
+
+
+* jk/drop-ancient-curl (2017-08-09) 5 commits
+ . http: #error on too-old curl
+ . curl: remove ifdef'd code never used with curl >=7.19.4
+ . http: drop support for curl < 7.19.4
+ . http: drop support for curl < 7.16.0
+ . http: drop support for curl < 7.11.1
+
+
+* jk/drop-sha1-entry-pos (2017-08-09) 1 commit
+ - sha1_file: drop experimental GIT_USE_LOOKUP search
+
+ Code clean-up.
+
+ Will merge to 'next'.
+
+
+* jk/hashcmp-memcmp (2017-08-09) 1 commit
+ - hashcmp: use memcmp instead of open-coded loop
- Expecting a reroll.
+ Code clean-up.
+ Will merge to 'next'.
-* bp/fsmonitor (2017-06-12) 6 commits
- - fsmonitor: add a sample query-fsmonitor hook script for Watchman
- - fsmonitor: add documentation for the fsmonitor extension.
- - fsmonitor: add test cases for fsmonitor extension
- - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
- - dir: make lookup_untracked() available outside of dir.c
- - bswap: add 64 bit endianness helper get_be64
- We learned to talk to watchman to speed up "git status".
+* jk/trailers-parse (2017-08-10) 5 commits
+ - interpret-trailers: add --parse convenience option
+ - interpret-trailers: add an option to normalize output
+ - interpret-trailers: add an option to show only existing trailers
+ - interpret-trailers: add an option to show only the trailers
+ - trailer: put process_trailers() options into a struct
- Expecting a reroll.
- cf. <bade1166-e646-b05a-f65b-adb8da8ba0a7@gmail.com>
---------------------------------------------------
-[Cooking]
+* mk/use-size-t-in-zlib (2017-08-10) 1 commit
+ - zlib.c: use size_t for size
-* ah/doc-wserrorhighlight (2017-07-25) 1 commit
- (merged to 'next' on 2017-07-27 at cd1bb28d95)
- + doc: add missing values "none" and "default" for diff.wsErrorHighlight
+ The wrapper to call into zlib followed our long tradition to use
+ "unsigned long" for sizes of regions in memory, which have been
+ updated to use "size_t".
- Doc update.
+ Will merge to 'next'.
- Will cook in 'next'.
+* pw/am-signoff (2017-08-08) 1 commit
+ - am: fix signoff when other trailers are present
-* dc/fmt-merge-msg-microcleanup (2017-07-25) 1 commit
- (merged to 'next' on 2017-07-27 at 6df06eb788)
- + fmt-merge-msg: fix coding style
+ "git am -s" has been taught that some input may end with a trailer
+ block that is not Signed-off-by: and it should refrain from adding
+ an extra blank line before adding a new sign-off in such a case.
- Code cleanup.
+ Will merge to 'next'.
- Will cook in 'next'.
+* rj/add-chmod-error-message (2017-08-09) 1 commit
+ - builtin/add: add detail to a 'cannot chmod' error message
-* js/git-gui-msgfmt-on-windows (2017-07-25) 7 commits
- (merged to 'next' on 2017-08-01 at 219577a73e)
- + Merge branch 'js/msgfmt-on-windows' of ../git-gui into js/git-gui-msgfmt-on-windows
- + git-gui (MinGW): make use of MSys2's msgfmt
- + Merge remote-tracking branch 'philoakley/dup-gui'
- + git gui: allow for a long recentrepo list
- + git gui: de-dup selected repo from recentrepo history
- + git gui: cope with duplicates in _get_recentrepo
- + git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
+ Message fix.
- Because recent Git for Windows do come with a real msgfmt, the
- build procedure for git-gui has been updated to use it instead of a
- hand-rolled substitute.
+ Will merge to 'next'.
- Will cook in 'next'.
- As we haven't heard from Pat, let's advance the update to 'next'
- ourselves.
+* rs/apply-lose-prefix-length (2017-08-09) 1 commit
+ - apply: remove prefix_length member from apply_state
-* jt/subprocess-handshake (2017-07-26) 3 commits
- (merged to 'next' on 2017-08-01 at a0f78deffd)
- + sub-process: refactor handshake to common function
- + Documentation: migrate sub-process docs to header
- + Merge branch 'ls/filter-process-delayed' into jt/subprocess-handshake
- (this branch uses ls/filter-process-delayed.)
+ Code clean-up.
- Code cleanup.
+ Will merge to 'next'.
- Will cook in 'next'.
+* rs/find-pack-entry-bisection (2017-08-09) 1 commit
+ - sha1_file: avoid comparison if no packed hash matches the first byte
-* lg/merge-signoff (2017-07-25) 1 commit
- - merge: add a --signoff flag
+ Code clean-up.
- "git merge" learned a "--signoff" option to add the Signed-off-by:
- trailer with the committer's name.
+ Will merge to 'next'.
-* pb/trailers-from-command-line (2017-07-25) 4 commits
- - SQUASH???
- - interpret-trailers: add options for actions
- - trailers: introduce struct new_trailer_item
- - trailers: export action enums and corresponding lookup functions
+* rs/fsck-obj-leakfix (2017-08-10) 1 commit
+ - fsck: free buffers on error in fsck_obj()
- "git interpret-trailers" learned to take the trailer specifications
- from the command line that overrides the configured values.
+ Memory leak in an error codepath has been plugged.
- Expecting a reroll for compilation fix.
+ Will merge to 'next'.
-* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
- - Documentation/checkout: clarify submodule HEADs to be detached
- - recursive submodules: detach HEAD from new state
+* rs/merge-microcleanup (2017-08-10) 1 commit
+ - merge: use skip_prefix()
- "git checkout --recursive" may overwrite and rewind the history of
- the branch that happens to be checked out in submodule
- repositories, which might not be desirable. Detach the HEAD but
- still allow the recursive checkout to succeed in such a case.
+ Code clean-up.
- Undecided.
- This needs justification in a larger picture; it is unclear why
- this is better than rejecting recursive checkout, for example.
+ Will merge to 'next'.
-* ti/external-sha1dc (2017-07-25) 1 commit
- (merged to 'next' on 2017-07-27 at d1ce394fe2)
- + hash: allow building with the external sha1dc library
+* rs/strbuf-getwholeline-fix (2017-08-10) 1 commit
+ - strbuf: clear errno before calling getdelim(3)
- Platforms that ship with a separate sha1 with collision detection
- library can link to it instead of using the copy we ship as part of
- our source tree.
+ A helper function to read a single whole line into strbuf
+ mistakenly triggered OOM error at EOF under certain conditions,
+ which has been fixed.
- Waiting for review to conclude
- cf. <CACBZZX7M=H8tNkZXpHBvv0rbY58EJk4dkoUzGKMftWoKUqF8sA@mail.gmail.com>
+ Will merge to 'next'.
-* bw/submodule-config-cleanup (2017-08-03) 17 commits
- - submodule: remove gitmodules_config
- - unpack-trees: improve loading of .gitmodules
- - submodule-config: lazy-load a repository's .gitmodules file
- - submodule-config: move submodule-config functions to submodule-config.c
- - submodule-config: remove support for overlaying repository config
- - diff: stop allowing diff to have submodules configured in .git/config
- - submodule: remove submodule_config callback routine
- - unpack-trees: don't respect submodule.update
- - submodule: don't rely on overlayed config when setting diffopts
- - fetch: don't overlay config with submodule-config
- - submodule--helper: don't overlay config in update-clone
- - submodule--helper: don't overlay config in remote_submodule_branch
- - add, reset: ensure submodules can be added or reset
- - submodule: don't use submodule_from_name
- - t7411: check configuration parsing errors
- - Merge branch 'bc/object-id' into bw/submodule-config-cleanup
- - Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
- (this branch uses bc/object-id, bw/grep-recurse-submodules and sb/object-id.)
+* rs/t4062-obsd (2017-08-09) 1 commit
+ - t4062: use less than 256 repetitions in regex
- Code clean-up to avoid mixing values read from the .gitmodules file
- and values read from the .git/config file.
+ Test portability fix.
+ Will merge to 'next'.
-* jb/t8008-cleanup (2017-07-26) 1 commit
- (merged to 'next' on 2017-08-01 at f979c9340d)
- + t8008: rely on rev-parse'd HEAD instead of sha1 value
- Code clean-up.
+* rs/unpack-entry-leakfix (2017-08-10) 1 commit
+ - sha1_file: release delta_stack on error in unpack_entry()
- Will cook in 'next'.
+ Memory leak in an error codepath has been plugged.
+ Will merge to 'next'.
-* rg/rerere-train-overwrite (2017-07-26) 1 commit
- (merged to 'next' on 2017-08-01 at 7fcd42974c)
- + contrib/rerere-train: optionally overwrite existing resolutions
- The "rerere-train" script (in contrib/) learned the "--overwrite"
- option to allow overwriting existing recorded resolutions.
+* rs/win32-syslog-leakfix (2017-08-10) 1 commit
+ - win32: plug memory leak on realloc() failure in syslog()
- Will cook in 'next'.
+ Memory leak in an error codepath has been plugged.
+ Will merge to 'next'.
-* dl/credential-cache-socket-in-xdg-cache (2017-07-27) 1 commit
- (merged to 'next' on 2017-08-01 at 87687ae1d4)
- + credential-cache: interpret an ECONNRESET as an EOF
- A recently added test for the "credential-cache" helper revealed
- that EOF detection done around the time the connection to the cache
- daemon is torn down were flaky. This was fixed by reacting to
- ECONNRESET and behaving as if we got an EOF.
+* sb/retire-t1200 (2017-08-10) 1 commit
+ - t1200: remove t1200-tutorial.sh
- Will cook in 'next'.
+ A test script that outlived its usefulness has been removed.
+ Will merge to 'next'.
-* eb/contacts-reported-by (2017-07-27) 1 commit
- (merged to 'next' on 2017-08-01 at cca9972d6b)
- + git-contacts: also recognise "Reported-by:"
- "git contacts" (in contrib/) now lists the address on the
- "Reported-by:" trailer to its output, in addition to those on
- S-o-b: and other trailers, to make it easier to notify (and thank)
- the original bug reporter.
+* ur/svn-local-zone (2017-08-08) 1 commit
+ - git svn fetch: Create correct commit timestamp when using --localtime
- Will cook in 'next'.
+ "git svn" used with "--localtime" option did not compute the tz
+ offset for the timestamp in question and instead always used the
+ current time, which has been corrected.
+ Will merge to 'next'.
-* js/run-process-parallel-api-fix (2017-07-21) 1 commit
- (merged to 'next' on 2017-07-27 at 4b54b69172)
- + run_processes_parallel: change confusing task_cb convention
- API fix.
+* jt/sha1-file-cleanup (2017-08-11) 2 commits
+ - sha1_file: remove read_packed_sha1()
+ - sha1_file: set whence in storage-specific info fn
- Will cook in 'next'.
+ Preparatory code clean-up.
+ Will merge to 'next'.
-* cc/ref-is-hidden-microcleanup (2017-07-24) 1 commit
- (merged to 'next' on 2017-07-27 at 37af544e1c)
- + refs: use skip_prefix() in ref_is_hidden()
- Code cleanup.
+* kw/rebase-progress (2017-08-11) 2 commits
+ - rebase: turn on progress option by default for format-patch
+ - format-patch: have progress option while generating patches
- Will cook in 'next'.
+ "git rebase", especially when it is run by mistake and ends up
+ trying to replay many changes, spent long time in silence. The
+ command has been taught to show progress report when it spends
+ long time preparing these many changes to replay (which would give
+ the user a chance to abort with ^C).
+ Waiting for a response.
+ cf. <20170810232033.46ujnozvnodkguog@sigill.intra.peff.net>
+ cf. <xmqqshgxycal.fsf@gitster.mtv.corp.google.com>
-* bw/push-options-recursively-to-submodules (2017-07-20) 1 commit
- (merged to 'next' on 2017-07-27 at 26b3af2544)
- + submodule--helper: teach push-check to handle HEAD
- "git push --recurse-submodules $there HEAD:$target" was not
- propagated down to the submodules, but now it is.
+* mk/diff-delta-avoid-large-offset (2017-08-11) 1 commit
+ - diff-delta: do not allow delta offset truncation
- Will cook in 'next'.
+ The delta format used in the packfile cannot reference data at
+ offset larger than what can be expressed in 4-byte, but the
+ generator for the data failed to make sure the offset does not
+ overflow. This has been corrected.
+ Will merge to 'next'.
-* jc/http-sslkey-and-ssl-cert-are-paths (2017-07-20) 1 commit
- (merged to 'next' on 2017-07-20 at 5489304b99)
- + http.c: http.sslcert and http.sslkey are both pathnames
- The http.{sslkey,sslCert} configuration variables are to be
- interpreted as a pathname that honors "~[username]/" prefix, but
- weren't, which has been fixed.
+* nm/stash-untracked (2017-08-11) 1 commit
+ - stash: clean untracked files before reset
- Will cook in 'next'.
+ "git stash -u" used the contents of the committed version of the
+ ".gitignore" file to decide which paths are ignored, even when the
+ file has local changes. The command has been taught to instead use
+ the locally modified contents.
+ Will merge to 'next'.
-* jt/fsck-code-cleanup (2017-07-26) 3 commits
- (merged to 'next' on 2017-07-26 at 7a17e279da)
- + fsck: cleanup unused variable
- (merged to 'next' on 2017-07-20 at f7045a8c47)
- + object: remove "used" field from struct object
- + fsck: remove redundant parse_tree() invocation
- Code clean-up.
+* tc/curl-with-backports (2017-08-11) 2 commits
+ - http: use a feature check to enable GSSAPI delegation control
+ - http: fix handling of missing CURLPROTO_*
- Will cook in 'next'.
+ Updates to the HTTP layer we made recently unconditionally used
+ features of libCurl without checking the existence of them, causing
+ compilation errors, which has been fixed. Also migrate the code to
+ check feature macros, not version numbers, to cope better with
+ libCurl that vendor ships with backported features.
+--------------------------------------------------
+[Stalled]
-* rs/pack-objects-pbase-cleanup (2017-07-20) 1 commit
- (merged to 'next' on 2017-07-20 at a6b618559b)
- + pack-objects: remove unnecessary NULL check
+* 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
- Code clean-up.
+ "git status" learns an option to report various operations
+ (e.g. "merging") that the user is in the middle of.
- Will cook in 'next'.
+ cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
-* st/lib-gpg-kill-stray-agent (2017-07-20) 1 commit
- (merged to 'next' on 2017-07-20 at 8ea68c483f)
- + t: lib-gpg: flush gpg agent on startup
+* 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()
- Some versions of GnuPG fails to kill gpg-agent it auto-spawned
- and such a left-over agent can interfere with a test. Work it
- around by attempting to kill one before starting a new test.
+ "git worktree" learned move and remove subcommands.
- Will cook in 'next'.
+ 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>
-* jk/c99 (2017-07-18) 2 commits
- (merged to 'next' on 2017-07-18 at 1cfc30f7c1)
- + clean.c: use designated initializer
- + strbuf: use designated initializers in STRBUF_INIT
+* 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.)
- Start using selected c99 constructs in small, stable and
- essentialpart of the system to catch people who care about
- older compilers that do not grok them.
+ "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
+ variables take effect while the initial clone is happening,
+ e.g. these configuration variables could be fetch refspecs.
- Will cook in 'next'.
+ Waiting for a response.
+ cf. <20170617112228.vugswym4o4owf6wj@sigill.intra.peff.net>
+ cf. <xmqqmv8zhdap.fsf@gitster.mtv.corp.google.com>
-* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
- - check-ref-format: require a repository for --branch
+* js/rebase-i-final (2017-07-27) 10 commits
+ - rebase -i: rearrange fixup/squash lines using the rebase--helper
+ - t3415: test fixup with wrapped oneline
+ - rebase -i: skip unnecessary picks using the rebase--helper
+ - rebase -i: check for missing commits in the rebase--helper
+ - t3404: relax rebase.missingCommitsCheck tests
+ - rebase -i: also expand/collapse the SHA-1s via the rebase--helper
+ - rebase -i: do not invent onelines when expanding/collapsing SHA-1s
+ - rebase -i: remove useless indentation
+ - rebase -i: generate the script via rebase--helper
+ - t3415: verify that an empty instructionFormat is handled as before
- Objected...
- cf. <20170717172709.GL93855@aiede.mtv.corp.google.com>
+ The final batch to "git rebase -i" updates to move more code from
+ the shell script to C.
+ Expecting a reroll.
-* bw/grep-recurse-submodules (2017-08-02) 10 commits
- (merged to 'next' on 2017-08-04 at 4e60c34bad)
- + grep: recurse in-process using 'struct repository'
- + submodule: merge repo_read_gitmodules and gitmodules_config
- + submodule: check for unmerged .gitmodules outside of config parsing
- + submodule: check for unstaged .gitmodules outside of config parsing
- + submodule: remove fetch.recursesubmodules from submodule-config parsing
- + submodule: remove submodule.fetchjobs from submodule-config parsing
- + config: add config_from_gitmodules
- + cache.h: add GITMODULES_FILE macro
- + repository: have the_repository use the_index
- + repo_read_index: don't discard the index
- (this branch is used by bw/submodule-config-cleanup.)
- "git grep --recurse-submodules" has been reworked to give a more
- consistent output across submodule boundary (and do its thing
- without having to fork a separate process).
+* bp/fsmonitor (2017-06-12) 6 commits
+ - fsmonitor: add a sample query-fsmonitor hook script for Watchman
+ - fsmonitor: add documentation for the fsmonitor extension.
+ - fsmonitor: add test cases for fsmonitor extension
+ - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
+ - dir: make lookup_untracked() available outside of dir.c
+ - bswap: add 64 bit endianness helper get_be64
- Will cook in 'next'.
+ We learned to talk to watchman to speed up "git status".
+
+ Expecting a reroll.
+ cf. <bade1166-e646-b05a-f65b-adb8da8ba0a7@gmail.com>
+--------------------------------------------------
+[Cooking]
-* bw/object-id (2017-07-17) 3 commits
- (merged to 'next' on 2017-07-18 at 90d27c0e7c)
- + receive-pack: don't access hash of NULL object_id pointer
- + notes: don't access hash of NULL object_id pointer
- + tree-diff: don't access hash of NULL object_id pointer
+* pw/sequence-rerere-autoupdate (2017-08-02) 6 commits
+ (merged to 'next' on 2017-08-11 at cd2d165be2)
+ + cherry-pick/revert: reject --rerere-autoupdate when continuing
+ + cherry-pick/revert: remember --rerere-autoupdate
+ + t3504: use test_commit
+ + rebase -i: honor --rerere-autoupdate
+ + rebase: honor --rerere-autoupdate
+ + am: remember --rerere-autoupdate setting
- Conversion from uchar[20] to struct object_id continues.
+ Commands like "git rebase" accepted the --rerere-autoupdate option
+ from the command line, but did not always use it. This has been
+ fixed.
- Will cook in 'next'.
+ Will merge to 'master'.
-* ks/commit-abort-on-empty-message-fix (2017-07-17) 1 commit
- (merged to 'next' on 2017-07-27 at e81ad4c1dc)
- + commit: check for empty message before the check for untouched template
+* bw/clone-recursive-quiet (2017-08-04) 1 commit
+ (merged to 'next' on 2017-08-11 at f49ac463f7)
+ + clone: teach recursive clones to respect -q
- "git commit" when seeing an totally empty message said "you did not
- edit the message", which is clearly wrong. The message has been
- corrected.
+ "git clone --recurse-submodules --quiet" did not pass the quiet
+ option down to submodules.
- Will cook in 'next'.
+ Will merge to 'master'.
-* rs/bswap-ubsan-fix (2017-07-17) 2 commits
- (merged to 'next' on 2017-07-20 at ce6bad07b0)
- + bswap: convert get_be16, get_be32 and put_be32 to inline functions
- + bswap: convert to unsigned before shifting in get_be32
+* lg/merge-signoff (2017-07-25) 1 commit
+ - merge: add a --signoff flag
- Code clean-up.
+ "git merge" learned a "--signoff" option to add the Signed-off-by:
+ trailer with the committer's name.
- Will cook in 'next'.
+* pb/trailers-from-command-line (2017-07-25) 4 commits
+ - SQUASH???
+ - interpret-trailers: add options for actions
+ - trailers: introduce struct new_trailer_item
+ - trailers: export action enums and corresponding lookup functions
-* rs/move-array (2017-07-17) 4 commits
- (merged to 'next' on 2017-07-20 at f3086cd20e)
- + ls-files: don't try to prune an empty index
- + apply: use COPY_ARRAY and MOVE_ARRAY in update_image()
- + use MOVE_ARRAY
- + add MOVE_ARRAY
+ "git interpret-trailers" learned to take the trailer specifications
+ from the command line that overrides the configured values.
- Code clean-up.
+ Expecting a reroll for compilation fix.
- Will cook in 'next'.
+* sb/submodule-recursive-checkout-detach-head (2017-07-28) 2 commits
+ - Documentation/checkout: clarify submodule HEADs to be detached
+ - recursive submodules: detach HEAD from new state
-* rs/stat-data-unaligned-reads-fix (2017-07-17) 1 commit
- (merged to 'next' on 2017-07-20 at e7d3782823)
- + dir: support platforms that require aligned reads
+ "git checkout --recursive" may overwrite and rewind the history of
+ the branch that happens to be checked out in submodule
+ repositories, which might not be desirable. Detach the HEAD but
+ still allow the recursive checkout to succeed in such a case.
- Code clean-up.
+ Undecided.
+ This needs justification in a larger picture; it is unclear why
+ this is better than rejecting recursive checkout, for example.
- Will cook in 'next'.
+* ti/external-sha1dc (2017-07-25) 1 commit
+ (merged to 'next' on 2017-07-27 at d1ce394fe2)
+ + hash: allow building with the external sha1dc library
-* wd/rebase-conflict-guide (2017-07-17) 1 commit
- (merged to 'next' on 2017-07-20 at c78e758b23)
- + rebase: make resolve message clearer for inexperienced users
+ Platforms that ship with a separate sha1 with collision detection
+ library can link to it instead of using the copy we ship as part of
+ our source tree.
- The advice message given when "git rebase" stops for conflicting
- changes has been improved.
+ Waiting for review to conclude
+ cf. <CACBZZX7M=H8tNkZXpHBvv0rbY58EJk4dkoUzGKMftWoKUqF8sA@mail.gmail.com>
- Will cook in 'next'.
+* bw/submodule-config-cleanup (2017-08-03) 17 commits
+ - submodule: remove gitmodules_config
+ - unpack-trees: improve loading of .gitmodules
+ - submodule-config: lazy-load a repository's .gitmodules file
+ - submodule-config: move submodule-config functions to submodule-config.c
+ - submodule-config: remove support for overlaying repository config
+ - diff: stop allowing diff to have submodules configured in .git/config
+ - submodule: remove submodule_config callback routine
+ - unpack-trees: don't respect submodule.update
+ - submodule: don't rely on overlayed config when setting diffopts
+ - fetch: don't overlay config with submodule-config
+ - submodule--helper: don't overlay config in update-clone
+ - submodule--helper: don't overlay config in remote_submodule_branch
+ - add, reset: ensure submodules can be added or reset
+ - submodule: don't use submodule_from_name
+ - t7411: check configuration parsing errors
+ - Merge branch 'bc/object-id' into bw/submodule-config-cleanup
+ - Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
+ (this branch uses bw/grep-recurse-submodules.)
-* hb/gitweb-project-list (2017-07-18) 1 commit
- (merged to 'next' on 2017-07-27 at c25d65ca25)
- + gitweb: skip unreadable subdirectories
+ Code clean-up to avoid mixing values read from the .gitmodules file
+ and values read from the .git/config file.
- When a directory is not readable, "gitweb" fails to build the
- project list. Work this around by skipping such a directory.
- Will cook in 'next'.
+* bw/push-options-recursively-to-submodules (2017-07-20) 1 commit
+ (merged to 'next' on 2017-07-27 at 26b3af2544)
+ + submodule--helper: teach push-check to handle HEAD
- It might end up hiding a problem under the rug and a better
- solution might be to loudly complain to the administrator pointing
- out the problematic directory, but this will at least make it
- "work".
+ "git push --recurse-submodules $there HEAD:$target" was not
+ propagated down to the submodules, but now it is.
+ Will merge to 'master'.
-* jk/ref-filter-colors (2017-07-13) 15 commits
- (merged to 'next' on 2017-07-18 at 75d4eb7ecf)
- + ref-filter: consult want_color() before emitting colors
- + pretty: respect color settings for %C placeholders
- + rev-list: pass diffopt->use_colors through to pretty-print
- + for-each-ref: load config earlier
- + color: check color.ui in git_default_config()
- + ref-filter: pass ref_format struct to atom parsers
- + ref-filter: factor out the parsing of sorting atoms
- + ref-filter: make parse_ref_filter_atom a private function
- + ref-filter: provide a function for parsing sort options
- + ref-filter: move need_color_reset_at_eol into ref_format
- + ref-filter: abstract ref format into its own struct
- + ref-filter: simplify automatic color reset
- + t: use test_decode_color rather than literal ANSI codes
- + docs/for-each-ref: update pointer to color syntax
- + check return value of verify_ref_format()
- "%C(color name)" in the pretty print format always produced ANSI
- color escape codes, which was an early design mistake. They now
- honor the configuration (e.g. "color.ui = never") and also tty-ness
- of the output medium.
+* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
+ - check-ref-format: require a repository for --branch
- Will cook in 'next'.
+ Objected...
+ cf. <20170717172709.GL93855@aiede.mtv.corp.google.com>
-* sb/object-id (2017-07-13) 2 commits
- (merged to 'next' on 2017-07-18 at e4df0ba3b1)
- + tag: convert gpg_verify_tag to use struct object_id
- + commit: convert lookup_commit_graft to struct object_id
- (this branch is used by bc/object-id and bw/submodule-config-cleanup.)
+* bw/grep-recurse-submodules (2017-08-02) 10 commits
+ (merged to 'next' on 2017-08-04 at 4e60c34bad)
+ + grep: recurse in-process using 'struct repository'
+ + submodule: merge repo_read_gitmodules and gitmodules_config
+ + submodule: check for unmerged .gitmodules outside of config parsing
+ + submodule: check for unstaged .gitmodules outside of config parsing
+ + submodule: remove fetch.recursesubmodules from submodule-config parsing
+ + submodule: remove submodule.fetchjobs from submodule-config parsing
+ + config: add config_from_gitmodules
+ + cache.h: add GITMODULES_FILE macro
+ + repository: have the_repository use the_index
+ + repo_read_index: don't discard the index
+ (this branch is used by bw/submodule-config-cleanup.)
- Conversion from uchar[20] to struct object_id continues.
+ "git grep --recurse-submodules" has been reworked to give a more
+ consistent output across submodule boundary (and do its thing
+ without having to fork a separate process).
- Will cook in 'next'.
+ Will merge to 'master'.
* rs/sha1-file-micro-optim (2017-07-09) 2 commits
cf. <f59c8256-716b-9305-2a4f-d4fe49f666ff@web.de>
-* ks/prepare-commit-msg-sample (2017-07-12) 4 commits
- (merged to 'next' on 2017-07-18 at 48d9650a30)
- + hook: add a simple first example
- + hook: add sign-off using "interpret-trailers"
- + hook: name the positional variables
- + hook: cleanup script
-
- Remove an example that is now obsolete from a sample hook,
- and improve an old example in it that added a sign-off manually
- to use the interpret-trailers command.
-
- Will cook in 'next'.
-
-
* jc/allow-lazy-cas (2017-07-06) 1 commit
- push: disable lazy --force-with-lease by default
cf. <alpine.DEB.2.21.1.1707131435220.4193@virtualbox>
-* bc/object-id (2017-07-17) 12 commits
- (merged to 'next' on 2017-07-18 at fd161056e4)
- + sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ
- + sha1_name: convert GET_SHA1* flags to GET_OID*
- + sha1_name: convert get_sha1* to get_oid*
- + Convert remaining callers of get_sha1 to get_oid.
- + builtin/unpack-file: convert to struct object_id
- + bisect: convert bisect_checkout to struct object_id
- + builtin/update_ref: convert to struct object_id
- + sequencer: convert to struct object_id
- + remote: convert struct push_cas to struct object_id
- + submodule: convert submodule config lookup to use object_id
- + builtin/merge-tree: convert remaining caller of get_sha1 to object_id
- + builtin/fsck: convert remaining caller of get_sha1 to object_id
- (this branch is used by bw/submodule-config-cleanup; uses sb/object-id.)
-
- Conversion from uchar[20] to struct object_id continues.
-
- Will cook in 'next'.
-
-
-* jk/reflog-walk (2017-07-09) 9 commits
- (merged to 'next' on 2017-07-09 at 7449e964c6)
- + reflog-walk: apply --since/--until to reflog dates
- + reflog-walk: stop using fake parents
- + rev-list: check reflog_info before showing usage
- + get_revision_1(): replace do-while with an early return
- + log: do not free parents when walking reflog
- + log: clarify comment about reflog cycles
- + revision: disallow reflog walking with revs->limited
- + t1414: document some reflog-walk oddities
- + Merge branch 'jk/reflog-walk-maint' into jk/reflog-walk
-
- Numerous bugs in walking of reflogs via "log -g" and friends have
- been fixed.
-
- Will cook in 'next'.
-
-
-* sb/hashmap-cleanup (2017-07-05) 10 commits
- (merged to 'next' on 2017-07-12 at ce31d06165)
- + t/helper/test-hashmap: use custom data instead of duplicate cmp functions
- + name-hash.c: drop hashmap_cmp_fn cast
- + submodule-config.c: drop hashmap_cmp_fn cast
- + remote.c: drop hashmap_cmp_fn cast
- + patch-ids.c: drop hashmap_cmp_fn cast
- + convert/sub-process: drop cast to hashmap_cmp_fn
- + config.c: drop hashmap_cmp_fn cast
- + builtin/describe: drop hashmap_cmp_fn cast
- + builtin/difftool.c: drop hashmap_cmp_fn cast
- + attr.c: drop hashmap_cmp_fn cast
-
- Many uses of comparision callback function the hashmap API uses
- cast the callback function type when registering it to
- hashmap_init(), which defeats the compile time type checking when
- the callback interface changes (e.g. gaining more parameters).
- The callback implementations have been updated to take "void *"
- pointers and cast them to the type they expect instead.
-
- Will cook in 'next'.
-
-
* ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits
(merged to 'next' on 2017-06-26 at d026281517)
+ pathspec: die on empty strings as pathspec
The "ref-store" code reorganization continues.
- Will cook in 'next'.
+ Will merge to 'master'.
* sd/branch-copy (2017-06-18) 3 commits
"git branch" learned "-c/-C" to create and switch to a new branch
by copying an existing one.
- Will cook in 'next'.
+ Will merge to 'master'.
I personally do not think "branch --copy master backup" while on
"master" that switches to "backup" is a good UI, and I *will* say
'master'.
-* ls/filter-process-delayed (2017-06-30) 7 commits
- (merged to 'next' on 2017-07-05 at a35e644082)
- + convert: add "status=delayed" to filter process protocol
- + convert: refactor capabilities negotiation
- + convert: move multiple file filter error handling to separate function
- + convert: put the flags field before the flag itself for consistent style
- + t0021: write "OUT <size>" only on success
- + t0021: make debug log file name configurable
- + t0021: keep filter log files on comparison
- (this branch is used by jt/subprocess-handshake.)
-
- The filter-process interface learned to allow a process with long
- latency give a "delayed" response.
-
- Will cook in 'next'.
-
-
* sb/diff-color-move (2017-06-30) 26 commits
(merged to 'next' on 2017-07-06 at 758ed40e4f)
+ diff: document the new --color-moved setting
the same as deleted lines elsewhere differently from genuinely new
lines.
- Will cook in 'next'.
+ Will merge to 'master'.
--------------------------------------------------
[Discarded]