From: Junio C Hamano Date: Tue, 21 Jul 2015 21:59:07 +0000 (-0700) Subject: What's cooking (2015/07 #06) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=163e88a64fd6b0026d58657841890152be98a026;p=thirdparty%2Fgit.git What's cooking (2015/07 #06) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 2aa0f18ac4..d74efb137c 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,105 +1,182 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Jul 2015, #05; Mon, 20) -X-master-at: fbdeabf1f0992e41237caee8fc357849e0038a82 -X-next-at: 76e840bed084a99e9de166e429c25bc0b2d6a698 +Subject: What's cooking in git.git (Jul 2015, #06; Tue, 21) +X-master-at: f99a38c0121456822f8a9dfb7928eefceaa98201 +X-next-at: 68aafd0cff0775f143dd13a8f2d95a3e65155388 -What's cooking in git.git (Jul 2015, #05; Mon, 20) +What's cooking in git.git (Jul 2015, #06; Tue, 21) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. +Tagged v2.5-rc3 today; hopefully we can have an uneventful 2.5 next +week and then start the next cycle. I'll eject/drop the stalled +topics and ask people to reroll/rebase if their topics are still +viable. + You can find the changes described here in the integration branches of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- -[New Topics] +[Stalled] -* zb/userdiff-fountain (2015-07-17) 1 commit - - userdiff: add support for Fountain documents +* jc/clone-bundle (2015-04-30) 1 commit + - repack: optionally create a clone.bundle - New userdiff pattern definition for fountain screenwriting markup - format. + Waiting for further work. + Still an early WIP. - Needs another reroll? ($gmane/274354) +* jh/strbuf-read-use-read-in-full (2015-06-01) 1 commit + - strbuf_read(): skip unnecessary strbuf_grow() at eof -* as/sparse-checkout-removal (2015-07-17) 1 commit - - unpack-trees: don't update files with CE_WT_REMOVE set + Avoid one extra iteration and strbuf_grow() of 8kB in + strbuf_read(). - Duy's replacement needs to be applied ($gmane/274158). + Looked reasonable; perhaps a log message clarification is needed. + Expecting a reroll. -* cb/uname-in-untracked (2015-07-17) 1 commit - - untracked: fix detection of uname(2) failure - An experimental "untracked cache" feature used to use uname(2) in a - slightly unportable way. +* mg/index-read-error-messages (2015-06-01) 2 commits + - messages: uniform error messages for index write + - show-index: uniform error messages for index read - Will merge to 'next'. + The tip was RFC. + Expecting a reroll. -* jc/rerere-multi (2015-07-20) 5 commits - - t4200: rerere a merge with two identical conflicts - - rerere: delay the recording of preimage for the first time - - rerere: handle leftover rr-cache/$ID directory and postimage files - - rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id - - rerere: split conflict ID further - (this branch uses jc/rerere.) +* hv/submodule-config (2015-06-15) 4 commits + - do not die on error of parsing fetchrecursesubmodules option + - use new config API for worktree configurations of submodules + - extract functions for submodule config set and lookup + - implement submodule config API for lookup of .gitmodules values - This is a contination of jc/rerere topic. + The gitmodules API accessed from the C code learned to cache stuff + lazily. + Needs another reroll? ($gmane/273743). -* bw/portability-solaris (2015-07-20) 3 commits - - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris - - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris - - tests: modify tr expressions so that xpg4/tr handles it on Solaris - Needs another reroll? ($gmane/274296) +* jk/log-missing-default-HEAD (2015-06-03) 1 commit + - log: diagnose empty HEAD more clearly + "git init empty && git -C empty log" said "bad default revision 'HEAD'", + which was found to be a bit confusing to new users. -* es/worktree-add (2015-07-20) 5 commits - (merged to 'next' on 2015-07-20 at 76e840b) - + config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire" - + Documentation/git-worktree: wordsmith worktree-related manpages - + Documentation/config: fix stale "git prune --worktree" reference - + Documentation/git-worktree: fix incorrect reference to file "locked" - + Documentation/git-worktree: consistently use term "linked working tree" - (this branch is used by es/worktree-add-cleanup.) + What's the status of this one? - Will merge to 'master'. +* bc/object-id (2015-06-17) 10 commits + . remote.c: use struct object_id in many functions + . object-id: use struct object_id in struct object + . remote.c: use struct object_id in ref_newer() + . transport-helper.c: use struct object_id in push_refs_with_export() + . connect.c: use struct object_id in get_remote_heads() + . remote-curl: use struct object_id in parse_fetch() + . fetch-pack: use struct object_id in add_sought_entry_mem() + . object_id: convert struct ref to use object_id. + . sha1_file: introduce has_object_file() helper + . refs: convert some internal functions to use object_id -* sg/bash-prompt-untracked-optim (2015-07-20) 2 commits - - bash prompt: faster untracked status indicator with untracked directories - - bash prompt: test untracked files status indicator with untracked dirs + More transition from "unsigned char[40]" to "struct object_id". - Will merge to 'next'. + While GSoC and other topics are actively moving existing code + around, this cannot go in; ejected from 'pu'. --------------------------------------------------- -[Graduated to "master"] -* jc/diff-ws-error-highlight (2015-07-12) 1 commit - (merged to 'next' on 2015-07-12 at 15b60ce) - + diff: parse ws-error-highlight option more strictly +* wp/sha1-name-negative-match (2015-06-08) 2 commits + - sha1_name.c: introduce '^{/!-}' notation + - test for '!' handling in rev-parse's named commits - A hotfix to a new feature in 2.5.0-rc. + Introduce "branch^{/!-}" notation to name a commit + reachable from branch that does not match the given pattern. + Expecting a reroll. -* jk/still-interesting (2015-06-29) 1 commit - (merged to 'next' on 2015-07-09 at e19fc0e) - + revision.c: remove unneeded check for NULL - Code clean-up. +* mk/utf8-no-iconv-warn (2015-06-08) 1 commit + - utf8.c: print warning about disabled iconv - Will merge to 'master'. + Warn when a reencoding is requested in a build without iconv + support, as the end user is likely to get an unexpected result. I + think the same level of safety should be added to a build with + iconv support when the specified encoding is not available, but the + patch does not go there. + + Expecting a reroll. + + +* ak/format-patch-odir-config (2015-06-19) 1 commit + - format-patch: introduce format.outputDirectory configuration + + Reroll exists but didn't pick it up as it seemed to be still + collecting review comments. + + Expecting a reroll. + ($gmane/272180). + + +* mh/tempfile (2015-06-10) 14 commits + - credential-cache--daemon: use tempfile module + - credential-cache--daemon: delete socket from main() + - gc: use tempfile module to handle gc.pid file + - lock_repo_for_gc(): compute the path to "gc.pid" only once + - diff: use tempfile module + - setup_temporary_shallow(): use tempfile module + - write_shared_index(): use tempfile module + - register_tempfile(): new function to handle an existing temporary file + - tempfile: add several functions for creating temporary files + - register_tempfile_object(): new function, extracted from create_tempfile() + - commit_lock_file(): use get_locked_file_path() + - lockfile: remove some redundant functions + - tempfile: a new module for handling temporary files + - Move lockfile API documentation to lockfile.h + + Rebuild "lockfile" API on top of a new "tempfile" API. + This needs rerolling, to include "tempfile.h" in "lockfile.h", at + least. + + Expecting a reroll. + ($gmane/271353) + + +* ad/bisect-terms (2015-06-29) 4 commits + - bisect: allow setting any user-specified in 'git bisect start' + - bisect: add 'git bisect terms' to view the current terms + - bisect: add the terms old/new + - bisect: sanity check on terms + (this branch uses ad/bisect-cleanup.) + + The use of 'good/bad' in "git bisect" made it confusing to use when + hunting for a state change that is not a regression (e.g. bugfix). + The command learned 'old/new' and then allows the end user to + say e.g. "bisect start --term-old=fast --term=new=slow" to find a + performance regression. + + Michael's idea to make 'good/bad' more intelligent does have + certain attractiveness ($gname/272867), and makes some of the work + on this topic a moot point. + + Will hold. + + +* mh/notes-allow-reading-treeish (2015-07-13) 1 commit + - notes: allow treeish expressions as notes ref + + Some "git notes" operations, e.g. "git log --notes=", should + be able to read notes from any tree-ish that is shaped like a notes + tree, but the notes infrastructure required that the argument must + be a ref under refs/notes/. Loosen it to require a valid ref only + when the operation would update the notes (in which case we must + have a place to store the updated notes tree, iow, a ref). + + Needs update to docs. --------------------------------------------------- -[Stalled] * sg/config-name-only (2015-05-28) 3 commits - completion: use new 'git config' options to reliably list variable names @@ -165,19 +242,6 @@ of the repositories listed at ($gmane/268058). -* tf/gitweb-project-listing (2015-03-19) 5 commits - - gitweb: make category headings into links when they are directories - - gitweb: optionally set project category from its pathname - - gitweb: add a link under the search box to clear a project filter - - gitweb: if the PATH_INFO is incomplete, use it as a project_filter - - gitweb: fix typo in man page - - Update gitweb to make it more pleasant to deal with a hierarchical - forest of repositories. - - Any comments from those who use or have their own code in Gitweb? - - * jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit - "-" and "@{-1}" on various programs @@ -293,6 +357,64 @@ of the repositories listed at -------------------------------------------------- [Cooking] +* zb/userdiff-fountain (2015-07-21) 2 commits + - SQUASH??? + - userdiff: add support for Fountain documents + + New userdiff pattern definition for fountain screenwriting markup + format. + + Waiting for a response ($gmane/274403). + + +* as/sparse-checkout-removal (2015-07-21) 1 commit + (merged to 'next' on 2015-07-21 at ab94680) + + unpack-trees: don't update files with CE_WT_REMOVE set + + "sparse checkout" misbehaved for a path that is excluded from the + checkout when switching between branches that differ at the path. + + Will merge to 'master'. + + +* cb/uname-in-untracked (2015-07-17) 1 commit + (merged to 'next' on 2015-07-21 at d867af0) + + untracked: fix detection of uname(2) failure + + An experimental "untracked cache" feature used uname(2) in a + slightly unportable way. + + Will merge to 'master'. + + +* bw/portability-solaris (2015-07-20) 3 commits + - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris + - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris + - tests: modify tr expressions so that xpg4/tr handles it on Solaris + + Needs another reroll? ($gmane/274296) + + +* es/worktree-add (2015-07-20) 5 commits + (merged to 'next' on 2015-07-20 at 76e840b) + + config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire" + + Documentation/git-worktree: wordsmith worktree-related manpages + + Documentation/config: fix stale "git prune --worktree" reference + + Documentation/git-worktree: fix incorrect reference to file "locked" + + Documentation/git-worktree: consistently use term "linked working tree" + (this branch is used by es/worktree-add-cleanup.) + + Will merge to 'master'. + + +* sg/bash-prompt-untracked-optim (2015-07-20) 2 commits + (merged to 'next' on 2015-07-21 at e151fb7) + + bash prompt: faster untracked status indicator with untracked directories + + bash prompt: test untracked files status indicator with untracked dirs + + Will merge to 'master'. + + * es/worktree-add-cleanup (2015-07-20) 22 commits - checkout: drop intimate knowledge of newly created worktree - worktree: populate via "git reset --hard" rather than "git checkout" @@ -353,19 +475,6 @@ of the repositories listed at Will merge to 'master'. -* mh/notes-allow-reading-treeish (2015-07-13) 1 commit - - notes: allow treeish expressions as notes ref - - Some "git notes" operations, e.g. "git log --notes=", should - be able to read notes from any tree-ish that is shaped like a notes - tree, but the notes infrastructure required that the argument must - be a ref under refs/notes/. Loosen it to require a valid ref only - when the operation would update the notes (in which case we must - have a place to store the updated notes tree, iow, a ref). - - Needs update to docs. - - * dt/log-follow-config (2015-07-09) 1 commit (merged to 'next' on 2015-07-10 at b8fbb43) + log: add "log.follow" configuration variable @@ -384,7 +493,8 @@ of the repositories listed at * se/doc-checkout-ours-theirs (2015-07-12) 1 commit - - checkout: document subtlety around --ours/--theirs + (merged to 'next' on 2015-07-21 at 5275f04) + + checkout: document subtlety around --ours/--theirs A "rebase" replays changes of the local branch on top of something else, as such they are placed in stage #3 and referred to as @@ -392,22 +502,25 @@ of the repositories listed at work, are placed in stage #2 and referred to as "ours". Clarify the "checkout --ours/--theirs". + Will merge to 'master'. + * pt/am-tests (2015-07-20) 12 commits - - t3901: test git-am encoding conversion - - t3418: non-interactive rebase --continue with rerere enabled - - t4150: tests for am --[no-]scissors - - t4150: am with post-applypatch hook - - t4150: am with pre-applypatch hook - - t4150: am with applypatch-msg hook - - t4150: am --resolved fails if index has unmerged entries - - t4150: am --resolved fails if index has no changes - - t4150: am refuses patches when paused - - t4151: am --abort will keep dirty index intact - - t4150: am fails if index is dirty - - t4150: am.messageid really adds the message id + (merged to 'next' on 2015-07-21 at 8d3d5f4) + + t3901: test git-am encoding conversion + + t3418: non-interactive rebase --continue with rerere enabled + + t4150: tests for am --[no-]scissors + + t4150: am with post-applypatch hook + + t4150: am with pre-applypatch hook + + t4150: am with applypatch-msg hook + + t4150: am --resolved fails if index has unmerged entries + + t4150: am --resolved fails if index has no changes + + t4150: am refuses patches when paused + + t4151: am --abort will keep dirty index intact + + t4150: am fails if index is dirty + + t4150: am.messageid really adds the message id - Will merge to 'next'. + Will merge to 'master'. * kn/for-each-tag-branch (2015-07-13) 11 commits @@ -484,6 +597,8 @@ of the repositories listed at Rewrite "am" in "C". + Will merge to 'next'. + * ad/bisect-cleanup (2015-06-29) 6 commits (merged to 'next' on 2015-07-09 at 75e2a06) @@ -514,13 +629,13 @@ of the repositories listed at Will merge to 'master'. -* dt/refs-backend-preamble (2015-07-13) 7 commits +* dt/refs-backend-preamble (2015-07-21) 7 commits - git-stash: use update-ref --create-reflog instead of creating files - update-ref and tag: add --create-reflog arg - refs: add REF_FORCE_CREATE_REFLOG flag - git-reflog: add exists command - refs: new public ref function: safe_create_reflog - - refs: Break out check for reflog autocreation + - refs: break out check for reflog autocreation - refs.c: add err arguments to reflog functions In preparation for allowing different "backends" to store the refs @@ -529,12 +644,12 @@ of the repositories listed at direct filesystem access to ref-like things like CHERRY_PICK_HEAD from scripts and programs. - Still under discussion. - - Will hold. + Will merge to 'next'. -* jk/date-mode-format (2015-06-29) 3 commits +* jk/date-mode-format (2015-07-20) 4 commits + (merged to 'next' on 2015-07-21 at 69f66be) + + strbuf: make strbuf_addftime more robust (merged to 'next' on 2015-07-09 at a01bfc3) + introduce "format" date-mode + convert "enum date_mode" into a struct @@ -580,48 +695,15 @@ of the repositories listed at Code clean-up and minor fixes (so far). -* ad/bisect-terms (2015-06-29) 4 commits - - bisect: allow setting any user-specified in 'git bisect start' - - bisect: add 'git bisect terms' to view the current terms - - bisect: add the terms old/new - - bisect: sanity check on terms - (this branch uses ad/bisect-cleanup.) - - The use of 'good/bad' in "git bisect" made it confusing to use when - hunting for a state change that is not a regression (e.g. bugfix). - The command learned 'old/new' and then allows the end user to - say e.g. "bisect start --term-old=fast --term=new=slow" to find a - performance regression. - - Michael's idea to make 'good/bad' more intelligent does have - certain attractiveness ($gname/272867), and makes some of the work - on this topic a moot point. - - Will hold. - - -* mh/tempfile (2015-06-10) 14 commits - - credential-cache--daemon: use tempfile module - - credential-cache--daemon: delete socket from main() - - gc: use tempfile module to handle gc.pid file - - lock_repo_for_gc(): compute the path to "gc.pid" only once - - diff: use tempfile module - - setup_temporary_shallow(): use tempfile module - - write_shared_index(): use tempfile module - - register_tempfile(): new function to handle an existing temporary file - - tempfile: add several functions for creating temporary files - - register_tempfile_object(): new function, extracted from create_tempfile() - - commit_lock_file(): use get_locked_file_path() - - lockfile: remove some redundant functions - - tempfile: a new module for handling temporary files - - Move lockfile API documentation to lockfile.h - - Rebuild "lockfile" API on top of a new "tempfile" API. - This needs rerolling, to include "tempfile.h" in "lockfile.h", at - least. +* jc/rerere-multi (2015-07-20) 5 commits + - t4200: rerere a merge with two identical conflicts + - rerere: delay the recording of preimage for the first time + - rerere: handle leftover rr-cache/$ID directory and postimage files + - rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id + - rerere: split conflict ID further + (this branch uses jc/rerere.) - Expecting a reroll. - ($gmane/271353) + This is a contination of jc/rerere topic. * js/fsck-opt (2015-06-23) 19 commits @@ -653,16 +735,6 @@ of the repositories listed at Will merge to 'master'. -* ak/format-patch-odir-config (2015-06-19) 1 commit - - format-patch: introduce format.outputDirectory configuration - - Reroll exists but didn't pick it up as it seems to be still - collecting review comments. - - Expecting a reroll. - ($gmane/272180). - - * bc/gpg-verify-raw (2015-06-22) 7 commits (merged to 'next' on 2015-06-24 at 08a1164) + verify-tag: add option to print raw gpg status information @@ -794,18 +866,6 @@ of the repositories listed at Will merge to 'master'. -* mk/utf8-no-iconv-warn (2015-06-08) 1 commit - - utf8.c: print warning about disabled iconv - - Warn when a reencoding is requested in a build without iconv - support, as the end user is likely to get an unexpected result. I - think the same level of safety should be added to a build with - iconv support when the specified encoding is not available, but the - patch does not go there. - - Expecting a reroll. - - * mr/rebase-i-customize-insn-sheet (2015-06-15) 1 commit (merged to 'next' on 2015-07-10 at ec383cd) + git-rebase--interactive.sh: add config option for custom instruction format @@ -880,43 +940,6 @@ of the repositories listed at Will merge to 'master'. -* wp/sha1-name-negative-match (2015-06-08) 2 commits - - sha1_name.c: introduce '^{/!-}' notation - - test for '!' handling in rev-parse's named commits - - Introduce "branch^{/!-}" notation to name a commit - reachable from branch that does not match the given pattern. - - Expecting a reroll. - - -* bc/object-id (2015-06-17) 10 commits - . remote.c: use struct object_id in many functions - . object-id: use struct object_id in struct object - . remote.c: use struct object_id in ref_newer() - . transport-helper.c: use struct object_id in push_refs_with_export() - . connect.c: use struct object_id in get_remote_heads() - . remote-curl: use struct object_id in parse_fetch() - . fetch-pack: use struct object_id in add_sought_entry_mem() - . object_id: convert struct ref to use object_id. - . sha1_file: introduce has_object_file() helper - . refs: convert some internal functions to use object_id - - More transition from "unsigned char[40]" to "struct object_id". - - While GSoC and other topics are actively moving existing code - around, this cannot go in; ejected from 'pu'. - - -* jk/log-missing-default-HEAD (2015-06-03) 1 commit - - log: diagnose empty HEAD more clearly - - "git init empty && git -C empty log" said "bad default revision 'HEAD'", - which was found to be a bit confusing to new users. - - What's the status of this one? - - * gr/rebase-i-drop-warn (2015-06-30) 3 commits (merged to 'next' on 2015-07-15 at 6f4f2c8) + git rebase -i: add static check for commands and SHA-1 @@ -931,37 +954,6 @@ of the repositories listed at Will merge to 'master'. -* jh/strbuf-read-use-read-in-full (2015-06-01) 1 commit - - strbuf_read(): skip unnecessary strbuf_grow() at eof - - Avoid one extra iteration and strbuf_grow() of 8kB in - strbuf_read(). - - Looked reasonable; perhaps a log message clarification is needed. - - Expecting a reroll. - - -* mg/index-read-error-messages (2015-06-01) 2 commits - - messages: uniform error messages for index write - - show-index: uniform error messages for index read - - The tip was RFC. - Expecting a reroll. - - -* hv/submodule-config (2015-06-15) 4 commits - - do not die on error of parsing fetchrecursesubmodules option - - use new config API for worktree configurations of submodules - - extract functions for submodule config set and lookup - - implement submodule config API for lookup of .gitmodules values - - The gitmodules API accessed from the C code learned to cache stuff - lazily. - - Needs another reroll? ($gmane/273743). - - * jc/push-tags-also (2015-05-29) 1 commit - push --tags: push tags *in addition to* other stuff @@ -984,13 +976,6 @@ of the repositories listed at Will merge to 'master'. -* jc/clone-bundle (2015-04-30) 1 commit - - repack: optionally create a clone.bundle - - Waiting for further work. - Still an early WIP. - - * ee/clean-remove-dirs (2015-06-26) 6 commits (merged to 'next' on 2015-06-29 at d595659) + read_gitfile_gently: fix use-after-free @@ -1016,3 +1001,18 @@ of the repositories listed at has been deprecated since October 2007. Will keep in 'next' during the 2.5 cycle. + +-------------------------------------------------- +[Discarded] + +* tf/gitweb-project-listing (2015-03-19) 4 commits + - gitweb: make category headings into links when they are directories + - gitweb: optionally set project category from its pathname + - gitweb: add a link under the search box to clear a project filter + - gitweb: if the PATH_INFO is incomplete, use it as a project_filter + + Update gitweb to make it more pleasant to deal with a hierarchical + forest of repositories. + + A fresh restart will not be rejected, but ejected from my tree for + now.