What's cooking (2016/11 #01)

todo
Junio C Hamano 2016-11-09 16:43:03 -08:00
parent 0b3e657f53
commit 714e1af81c
1 changed files with 112 additions and 140 deletions

View File

@ -1,10 +1,10 @@
To: git@vger.kernel.org
Bcc: lwn@lwn.net
Subject: What's cooking in git.git (Oct 2016, #09; Mon, 31)
X-master-at: 1fe8f2cf461179c41f64efbd1dc0a9fb3b7a0fb1
X-next-at: 2c8536d0921902ede8654c83a512865ff5ecd153
Subject: What's cooking in git.git (Nov 2016, #01; Wed, 9)
X-master-at: be5a750939c212bc0781ffa04fabcfd2b2bd744e
X-next-at: f7463a1abc93dbed4ef482f037d1daa4a172805e

What's cooking in git.git (Oct 2016, #09; Mon, 31)
What's cooking in git.git (Nov 2016, #01; Wed, 9)
--------------------------------------------------

Here are the topics that have been cooking. Commits prefixed with
@ -12,11 +12,8 @@ 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.

Git v2.10.2, the second maintenance release for 2.10.x track, has
been tagged. On the master front, an early preview v2.11.0-rc0 has
been tagged. An updated, slightly slipped from the original,
schedule is found at http://tinyurl.com/gitCal and I am hoping that
we can conclude this cycle before US Thanksgiving.
Hopefully 2.11-rc1 can be tagged by the end of the week. Sorry for
the delay (and thanks for great help from y'all, especially Peff).

You can find the changes described here in the integration branches
of the repositories listed at
@ -26,151 +23,99 @@ of the repositories listed at
--------------------------------------------------
[Graduated to "master"]

* ak/pre-receive-hook-template-modefix (2016-10-28) 1 commit
(merged to 'next' on 2016-10-28 at 86d95836a3)
+ pre-receive.sample: mark it executable
* cc/split-index-typofix (2016-11-01) 1 commit
- split-index: s/eith/with/ typo fix

A trivial clean-up to a recently graduated topic.
Typofix in a comment in code


* ak/sh-setup-dot-source-i18n-fix (2016-10-30) 1 commit
(merged to 'next' on 2016-10-31 at 538a72700e)
+ git-sh-setup: be explicit where to dot-source git-sh-i18n from.
* jk/no-looking-at-dotgit-outside-repo (2016-11-01) 1 commit
- sha1_name: make wraparound of the index into ring-buffer explicit

Recent update to git-sh-setup (a library of shell functions that
are used by our in-tree scripted Porcelain commands) included
another shell library git-sh-i18n without specifying where it is,
relying on the $PATH. This has been fixed to be more explicit by
prefixing $(git --exec-path) output in front.
A small code cleanup.


* aw/numbered-stash (2016-10-26) 1 commit
(merged to 'next' on 2016-10-26 at 8d9325fa3a)
+ stash: allow stashes to be referenced by index only
* rs/cocci (2016-11-01) 1 commit
- cocci: avoid self-references in object_id transformations

The user always has to say "stash@{$N}" when naming a single
element in the default location of the stash, i.e. reflogs in
refs/stash. The "git stash" command learned to accept "git stash
apply 4" as a short-hand for "git stash apply stash@{4}".


* jk/common-main (2016-10-27) 1 commit
(merged to 'next' on 2016-10-28 at fcdd4f8a26)
+ git-compat-util: move content inside ifdef/endif guards

A trivial clean-up to a recently graduated topic.


* jk/rebase-config-insn-fmt-docfix (2016-10-30) 1 commit
(merged to 'next' on 2016-10-31 at d48e20ffa2)
+ doc: fix missing "::" in config list

Documentation fix.


* jt/trailer-with-cruft (2016-10-21) 8 commits
(merged to 'next' on 2016-10-27 at b5d1a21811)
+ trailer: support values folded to multiple lines
+ trailer: forbid leading whitespace in trailers
+ trailer: allow non-trailers in trailer block
+ trailer: clarify failure modes in parse_trailer
+ trailer: make args have their own struct
+ trailer: streamline trailer item create and add
+ trailer: use list.h for doubly-linked list
+ trailer: improve const correctness
(this branch is used by jt/use-trailer-api-in-commands.)

Update "interpret-trailers" machinery and teaches it that people in
real world write all sorts of crufts in the "trailer" that was
originally designed to have the neat-o "Mail-Header: like thing"
and nothing else.


* ls/filter-process (2016-10-17) 14 commits
(merged to 'next' on 2016-10-19 at ffd0de042c)
+ contrib/long-running-filter: add long running filter example
+ convert: add filter.<driver>.process option
+ convert: prepare filter.<driver>.process option
+ convert: make apply_filter() adhere to standard Git error handling
+ pkt-line: add functions to read/write flush terminated packet streams
+ pkt-line: add packet_write_gently()
+ pkt-line: add packet_flush_gently()
+ pkt-line: add packet_write_fmt_gently()
+ pkt-line: extract set_packet_header()
+ pkt-line: rename packet_write() to packet_write_fmt()
+ run-command: add clean_on_exit_handler
+ run-command: move check_pipe() from write_or_die to run_command
+ convert: modernize tests
+ convert: quote filter names in error messages

The smudge/clean filter API expect an external process is spawned
to filter the contents for each path that has a filter defined. A
new type of "process" filter API has been added to allow the first
request to run the filter for a path to spawn a single process, and
all filtering need is served by this single process for multiple
paths, reducing the process creation overhead.


* ls/git-open-cloexec (2016-10-25) 3 commits
(merged to 'next' on 2016-10-26 at f7259cbddb)
+ read-cache: make sure file handles are not inherited by child processes
+ sha1_file: open window into packfiles with O_CLOEXEC
+ sha1_file: rename git_open_noatime() to git_open()
(this branch is used by jc/git-open-cloexec.)

Git generally does not explicitly close file descriptors that were
open in the parent process when spawning a child process, but most
of the time the child does not want to access them. As Windows does
not allow removing or renaming a file that has a file descriptor
open, a slow-to-exit child can even break the parent process by
holding onto them. Use O_CLOEXEC flag to open files in various
codepaths.


* nd/test-helpers (2016-10-27) 1 commit
(merged to 'next' on 2016-10-31 at 9780fe6d90)
+ valgrind: support test helpers

Update to the test framework made in 2.9 timeframe broke running
the tests under valgrind, which has been fixed.


* rs/commit-pptr-simplify (2016-10-30) 1 commit
(merged to 'next' on 2016-10-31 at ddeed2e66a)
+ commit: simplify building parents list

Code simplification.


* sc/fmt-merge-msg-doc-markup-fix (2016-10-28) 1 commit
(merged to 'next' on 2016-10-31 at 198c259bb2)
+ Documentation/fmt-merge-msg: fix markup in example

Documentation fix.
Improve the rule to convert "unsigned char [20]" into "struct
object_id *" in contrib/coccinelle/

--------------------------------------------------
[New Topics]

* jc/push-default-explicit (2016-10-28) 1 commit
- push: do not use potentially ambiguous default refspec
* as/merge-attr-sleep (2016-11-08) 1 commit
(merged to 'next' on 2016-11-09 at 17fbe796e6)
+ t6026-merge-attr: don't fail if sleep exits early

A lazy "git push" without refspec did not internally use a fully
specified refspec to perform 'current', 'simple', or 'upstream'
push, causing unnecessary "ambiguous ref" errors.
Fix for a racy false-positive test failure.

Needs updates to the tests.
Will merge to 'master'.


* jt/use-trailer-api-in-commands (2016-10-28) 4 commits
- sequencer: use trailer's trailer layout
- trailer: have function to describe trailer layout
- trailer: avoid unnecessary splitting on lines
- commit: make ignore_non_trailer take buf/len
* jk/alt-odb-cleanup (2016-11-08) 1 commit
(merged to 'next' on 2016-11-09 at f7463a1abc)
+ alternates: re-allow relative paths from environment

Commands that operate on a log message and add lines to the trailer
blocks, such as "format-patch -s", "cherry-pick (-x|-s)", and
"commit -s", have been taught to use the logic of and share the
code with "git interpret-trailer".
Fix a corner-case regression in a topic that graduated during the
v2.11 cycle.

Will merge to 'master'.


* jk/filter-process-fix (2016-11-02) 4 commits
(merged to 'next' on 2016-11-09 at 535b4f4de9)
+ t0021: fix filehandle usage on older perl
+ t0021: use $PERL_PATH for rot13-filter.pl
+ t0021: put $TEST_ROOT in $PATH
+ t0021: use write_script to create rot13 shell script

Test portability improvements and cleanups for t0021.

Will merge to 'master'.


* js/prepare-sequencer (2016-11-08) 1 commit
- sequencer: silence -Wtautological-constant-out-of-range-compare

Silence a clang warning introduced by a recently graduated topic.

Will merge to 'master'.


* ls/filter-process (2016-11-08) 2 commits
(merged to 'next' on 2016-11-09 at 7d217ebb5e)
+ t0021: compute file size with a single process instead of a pipeline
+ t0021: expect more variations in the output of uniq -c

Test portability improvements and optimization for an
already-graduated topic.

Will merge to 'master'.


* jc/retire-compaction-heuristics (2016-11-02) 3 commits
- SQUASH???
- SQUASH???
- diff: retire the original experimental "compaction" heuristics


* jc/abbrev-autoscale-config (2016-11-01) 1 commit
- config.abbrev: document the new default that auto-scales


* jk/nofollow-attr-ignore (2016-11-02) 5 commits
- exclude: do not respect symlinks for in-tree .gitignore
- attr: do not respect symlinks for in-tree .gitattributes
- exclude: convert "check_index" into a flags field
- attr: convert "macro_ok" into a flags field
- add open_nofollow() helper


* sb/submodule-config-cleanup (2016-11-02) 3 commits
- submodule-config: clarify parsing of null_sha1 element
- submodule-config: rename commit_sha1 to commit_or_tree
- submodule config: inline config_from_{name, path}

--------------------------------------------------
[Stalled]
@ -313,6 +258,32 @@ of the repositories listed at
--------------------------------------------------
[Cooking]

* jc/push-default-explicit (2016-10-31) 2 commits
(merged to 'next' on 2016-11-01 at 8dc3a6cf25)
+ push: test pushing ambiguously named branches
+ push: do not use potentially ambiguous default refspec

A lazy "git push" without refspec did not internally use a fully
specified refspec to perform 'current', 'simple', or 'upstream'
push, causing unnecessary "ambiguous ref" errors.

Will hold.


* jt/use-trailer-api-in-commands (2016-11-02) 6 commits
- sequencer: use trailer's trailer layout
- trailer: have function to describe trailer layout
- trailer: avoid unnecessary splitting on lines
- commit: make ignore_non_trailer take buf/len
- SQUASH???
- trailer: be stricter in parsing separators

Commands that operate on a log message and add lines to the trailer
blocks, such as "format-patch -s", "cherry-pick (-x|-s)", and
"commit -s", have been taught to use the logic of and share the
code with "git interpret-trailer".


* nd/rebase-forget (2016-10-28) 1 commit
- rebase: add --forget to cleanup rebase, leave HEAD untouched

@ -323,7 +294,7 @@ of the repositories listed at
Waiting for a reroll.


* jc/git-open-cloexec (2016-10-31) 3 commits
* jc/git-open-cloexec (2016-11-02) 3 commits
- sha1_file: stop opening files with O_NOATIME
- git_open_cloexec(): use fcntl(2) w/ FD_CLOEXEC fallback
- git_open(): untangle possible NOATIME and CLOEXEC interactions
@ -436,9 +407,10 @@ of the repositories listed at
cf. <20161007210721.20437-1-santiago@nyu.edu>


* sb/attr (2016-10-28) 37 commits
* sb/attr (2016-11-09) 38 commits
- completion: clone can initialize specific submodules
- clone: add --init-submodule=<pathspec> switch
- SQUASH to: submodule update: add `--init-default-path` switch
- submodule update: add `--init-default-path` switch
- pathspec: allow escaped query values
- pathspec: allow querying for attributes