Meta/cook: loosen the regexp to catch What's cooking intro blurb
[alt-git.git] / whats-cooking.txt
blob8122884ea6711b560cc89cb588401be1e8de282e
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Oct 2014, #06; Fri, 24)
4 X-master-at: fbecd99861ea5795aeba46faf2ac7a8c1b70d485
5 X-next-at: 26228e10cc494c2d5b0b4302c361a1870ba75e35
7 What's cooking in git.git (Oct 2014, #06; Fri, 24)
8 --------------------------------------------------
10 Here are the topics that have been cooking.  Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
14 According to tinyurl.com/gitCal, the feature freeze for this cycle
15 is scheduled for the end of this month.  What's in the 'master'
16 branch as of today looks more or less complete picture, I would
17 think.
19 You can find the changes described here in the integration branches
20 of the repositories listed at
22     http://git-blame.blogspot.com/p/git-public-repositories.html
24 --------------------------------------------------
25 [Graduated to "master"]
27 * da/mergetool-meld (2014-10-16) 1 commit
28   (merged to 'next' on 2014-10-17 at 00ee553)
29  + mergetools/meld: make usage of `--output` configurable and more robust
31  Newer versions of 'meld' breaks the auto-detection we use to see if
32  they are new enough to support the `--output` option.
35 * da/mergetool-temporary-directory (2014-10-16) 2 commits
36   (merged to 'next' on 2014-10-17 at 261e74e)
37  + t7610-mergetool: add test cases for mergetool.writeToTemp
38  + mergetool: add an option for writing to a temporary directory
39  (this branch uses da/mergetool-temporary-filename and da/mergetool-tests; is tangled with da/mergetool-tool-help.)
41  Allow a temporary directory specified to be used while running "git
42  mergetool" backend.
45 * da/mergetool-temporary-filename (2014-10-16) 1 commit
46   (merged to 'next' on 2014-10-17 at 3fb95b5)
47  + mergetool: use more conservative temporary filenames
48  (this branch is used by da/mergetool-temporary-directory; uses da/mergetool-tests; is tangled with da/mergetool-tool-help.)
50  Tweak the names of the three throw-away files "git mergetool" comes
51  up with to feed the merge tool backend, so that a file with a
52  single dot in its name in the original (e.g. "hello.c") will have
53  only one dot in these variants (e.g. "hello_BASE_4321.c").
56 * da/mergetool-tests (2014-10-16) 4 commits
57   (merged to 'next' on 2014-10-17 at 239fefe)
58  + test-lib-functions: adjust style to match CodingGuidelines
59  + t7610-mergetool: use test_config to isolate tests
60  + t7610-mergetool: add missing && and remove commented-out code
61  + t7610-mergetool: use tabs instead of a mix of tabs and spaces
62  (this branch is used by da/mergetool-temporary-directory and da/mergetool-temporary-filename; is tangled with da/mergetool-tool-help.)
64  The clean-up of this test script was long overdue and is a very
65  welcome change.
68 * da/mergetool-tool-help (2014-10-15) 8 commits
69   (merged to 'next' on 2014-10-17 at 854654c)
70  + difftool: don't assume that default sh is sane
71  + mergetool: don't require a work tree for --tool-help
72  + git-sh-setup: move GIT_DIR initialization into a function
73  + mergetool: use more conservative temporary filenames
74  + test-lib-functions: adjust style to match CodingGuidelines
75  + t7610-mergetool: prefer test_config over git config
76  + t7610-mergetool: add missing && and remove commented-out code
77  + t7610-mergetool: use tabs instead of a mix of tabs and spaces
78  (this branch is tangled with da/mergetool-temporary-directory, da/mergetool-temporary-filename and da/mergetool-tests.)
80  Allow "git mergetool --help" to run outside a Git repository.
83 * eb/no-pthreads (2014-10-19) 3 commits
84   (merged to 'next' on 2014-10-21 at c455d39)
85  + Handle atexit list internaly for unthreaded builds
86  + pack-objects: set number of threads before checking and warning
87  + index-pack: fix compilation with NO_PTHREADS
89  Allow us build with NO_PTHREADS=NoThanks compilation option.  The
90  last change (not queued) needs a bit more explanation in its log
91  message.
94 * jk/pack-objects-no-bitmap-when-splitting (2014-10-19) 1 commit
95   (merged to 'next' on 2014-10-21 at c3c8c2a)
96  + pack-objects: turn off bitmaps when we split packs
98  Splitting pack-objects output into multiple packs is incompatible
99  with the use of reachability bitmap.
102 * js/completion-hide-not-a-repo (2014-10-14) 1 commit
103   (merged to 'next' on 2014-10-17 at 466de3c)
104  + completion: silence "fatal: Not a git repository" error
106  Some internal error messages leaked out of the bash completion when
107  typing "git cmd <TAB>" and the machinery tried to complete
108  refnames.
111 * nd/dir-prep-exclude-cleanup (2014-10-21) 1 commit
112   (merged to 'next' on 2014-10-21 at c90ba7a)
113  + dir.c: remove the second declaration of "stk" in prep_exclude()
115  Code clean-up.
118 * po/doc-status-markup (2014-10-19) 1 commit
119   (merged to 'next' on 2014-10-21 at efca89c)
120  + doc: fix 'git status --help' character quoting
122  Update documentation mark-up.
125 * rs/ref-transaction (2014-10-15) 25 commits
126   (merged to 'next' on 2014-10-17 at 1390624)
127  + ref_transaction_commit: bail out on failure to remove a ref
128  + lockfile: remove unable_to_lock_error
129  + refs.c: do not permit err == NULL
130  + remote rm/prune: print a message when writing packed-refs fails
131  + for-each-ref: skip and warn about broken ref names
132  + refs.c: allow listing and deleting badly named refs
133  + test: put tests for handling of bad ref names in one place
134  + packed-ref cache: forbid dot-components in refnames
135  + branch -d: simplify by using RESOLVE_REF_READING
136  + branch -d: avoid repeated symref resolution
137  + reflog test: test interaction with detached HEAD
138  + refs.c: change resolve_ref_unsafe reading argument to be a flags field
139  + refs.c: make write_ref_sha1 static
140  + fetch.c: change s_update_ref to use a ref transaction
141  + refs.c: ref_transaction_commit: distinguish name conflicts from other errors
142  + refs.c: pass a list of names to skip to is_refname_available
143  + refs.c: call lock_ref_sha1_basic directly from commit
144  + refs.c: refuse to lock badly named refs in lock_ref_sha1_basic
145  + rename_ref: don't ask read_ref_full where the ref came from
146  + refs.c: pass the ref log message to _create/delete/update instead of _commit
147  + refs.c: add an err argument to delete_ref_loose
148  + wrapper.c: add a new function unlink_or_msg
149  + refs.c: lock_ref_sha1_basic is used for all refs
150  + wrapper.c: remove/unlink_or_warn: simplify, treat ENOENT as success
151  + mv test: recreate mod/ directory instead of relying on stale copy
153  The API to update refs have been restructured to allow introducing
154  a true transactional updates later.  We would even allow storing
155  refs in backends other than the traditional filesystem-based one.
158 * rs/run-command-env-array (2014-10-19) 2 commits
159   (merged to 'next' on 2014-10-21 at 4e56fa2)
160  + use env_array member of struct child_process
161  + run-command: add env_array, an optional argv_array for env
163  Add managed "env" array to child_process to clarify the lifetime
164  rules.
167 * sb/plug-transport-leak (2014-10-21) 2 commits
168   (merged to 'next' on 2014-10-21 at 0a462d7)
169  + .mailmap: add Stefan Bellers corporate mail address
170  + transport: free leaking head in transport_print_push_status()
172  Code clean-up.
175 * tb/core-filemode-doc (2014-10-19) 1 commit
176   (merged to 'next' on 2014-10-21 at ad3e63b)
177  + core.filemode may need manual action
179  Doc update.
182 * wk/t1304-wo-USER (2014-10-19) 1 commit
183   (merged to 'next' on 2014-10-21 at 00fe6d9)
184  + t1304: Set LOGNAME even if USER is unset or null
186 --------------------------------------------------
187 [New Topics]
189 * zk/grep-color-words (2014-10-22) 1 commit
190   (merged to 'next' on 2014-10-24 at 2d2f8f8)
191  + grep: fix match highlighting for combined patterns with context lines
193  "git grep --color" highlighted matching tokens on non-matching
194  context lines and function name headers, which was unwanted.
196  Will merge to 'master'.
199 * jc/conflict-hint (2014-10-24) 3 commits
200  - merge & sequencer: turn "Conflicts:" hint into a comment
201  - merge & sequencer: unify codepaths that write "Conflicts:" hint
202  - builtin/merge.c: drop a parameter that is never used
205 * jc/diff-b-m (2014-10-23) 1 commit
206  - diff -B -M: fix output for "copy and then rewrite" case
209 * oc/mergetools-beyondcompare (2014-10-21) 1 commit
210   (merged to 'next' on 2014-10-24 at e9278e8)
211  + mergetool: rename bc3 to bc
213  Will merge to 'master'.
216 * rs/ref-transaction-reflog (2014-10-22) 15 commits
217  - refs.c: allow deleting refs with a broken sha1
218  - refs.c: remove lock_any_ref_for_update
219  - refs.c: make unlock_ref/close_ref/commit_ref static
220  - refs.c: rename log_ref_setup to create_reflog
221  - reflog.c: use a reflog transaction when writing during expire
222  - refs.c: allow multiple reflog updates during a single transaction
223  - refs.c: only write reflog update if msg is non-NULL
224  - refs.c: add a flag to allow reflog updates to truncate the log
225  - refs.c: add a transaction function to append a reflog entry
226  - copy.c: make copy_fd preserve meaningful errno
227  - refs.c: add a function to append a reflog entry to a fd
228  - refs.c: add a new update_type field to ref_update
229  - refs.c: rename the transaction functions
230  - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
231  - refs.c make ref_transaction_create a wrapper to ref_transaction_update
232  (this branch is used by rs/ref-transaction-rename and rs/ref-transaction-send-pack.)
235 * rs/ref-transaction-rename (2014-10-22) 15 commits
236  - refs.c: add an err argument to pack_refs
237  - refs.c: make lock_packed_refs take an err argument
238  - refs.c: make add_packed_ref return an error instead of calling die
239  - refs.c: replace the onerr argument in update_ref with a strbuf err
240  - refs.c: make the *_packed_refs functions static
241  - refs.c: make repack_without_refs static
242  - remote.c: use a transaction for deleting refs
243  - refs.c: write updates to packed refs when a transaction has more than one ref
244  - refs.c: move reflog updates into its own function
245  - refs.c: rollback the lockfile before we die() in repack_without_refs
246  - refs.c: update rename_ref to use a transaction
247  - refs.c: use a stringlist for repack_without_refs
248  - refs.c: use packed refs when deleting refs during a transaction
249  - refs.c: return error instead of dying when locking fails during transaction
250  - refs.c: allow passing raw git_committer_info as email to _update_reflog
251  (this branch is used by rs/ref-transaction-send-pack; uses rs/ref-transaction-reflog.)
254 * rs/ref-transaction-send-pack (2014-10-22) 8 commits
255  - refs.c: add an err argument to create_symref
256  - refs.c: add an err argument to create_reflog
257  - receive-pack.c: add a receive.preferatomicpush configuration variable
258  - t5543-atomic-push.sh: add basic tests for atomic pushes
259  - push.c: add an --atomic-push argument
260  - receive-pack.c: use a single transaction when atomic-push is negotiated
261  - send-pack.c: add an --atomic-push command line argument
262  - receive-pack.c: add protocol support to negotiate atomic-push
263  (this branch uses rs/ref-transaction-reflog and rs/ref-transaction-rename.)
265 --------------------------------------------------
266 [Stalled]
268 * je/quiltimport-no-fuzz (2014-10-21) 2 commits
269  - git-quiltimport: flip the default not to allow fuzz
270  - git-quiltimport.sh: allow declining fuzz with --exact option
272  "quiltimport" drove "git apply" always with -C1 option to reduce
273  context of the patch in order to give more chance to somewhat stale
274  patches to apply.  Add an "--exact" option to disable, and also
275  "-C$n" option to customize this behaviour.  The top patch
276  optionally flips the default to "--exact".
278  Waiting for an Ack.
281 * jc/push-cert-hmac-optim (2014-09-25) 2 commits
282  - receive-pack: truncate hmac early and convert only necessary bytes
283  - sha1_to_hex: split out "hex-format n bytes" helper and use it
285  This is "we could do this if we wanted to", not "we measured and it
286  improves performance critical codepath".
288  Will perhaps drop.
291 * nd/multiple-work-trees (2014-09-27) 32 commits
292  . t2025: add a test to make sure grafts is working from a linked checkout
293  . checkout: don't require a work tree when checking out into a new one
294  . git_path(): keep "info/sparse-checkout" per work-tree
295  . count-objects: report unused files in $GIT_DIR/worktrees/...
296  . gc: support prune --worktrees
297  . gc: factor out gc.pruneexpire parsing code
298  . gc: style change -- no SP before closing parenthesis
299  . checkout: clean up half-prepared directories in --to mode
300  . checkout: reject if the branch is already checked out elsewhere
301  . prune: strategies for linked checkouts
302  . checkout: support checking out into a new working directory
303  . use new wrapper write_file() for simple file writing
304  . wrapper.c: wrapper to open a file, fprintf then close
305  . setup.c: support multi-checkout repo setup
306  . setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
307  . setup.c: convert check_repository_format_gently to use strbuf
308  . setup.c: detect $GIT_COMMON_DIR in is_git_directory()
309  . setup.c: convert is_git_directory() to use strbuf
310  . git-stash: avoid hardcoding $GIT_DIR/logs/....
311  . *.sh: avoid hardcoding $GIT_DIR/hooks/...
312  . git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
313  . $GIT_COMMON_DIR: a new environment variable
314  . commit: use SEQ_DIR instead of hardcoding "sequencer"
315  . fast-import: use git_path() for accessing .git dir instead of get_git_dir()
316  . reflog: avoid constructing .lock path with git_path
317  . *.sh: respect $GIT_INDEX_FILE
318  . git_path(): be aware of file relocation in $GIT_DIR
319  . path.c: group git_path(), git_pathdup() and strbuf_git_path() together
320  . path.c: rename vsnpath() to do_git_path()
321  . git_snpath(): retire and replace with strbuf_git_path()
322  . path.c: make get_pathname() call sites return const char *
323  . path.c: make get_pathname() return strbuf instead of static buffer
325  A replacement for contrib/workdir/git-new-workdir that does not
326  rely on symbolic links and make sharing of objects and refs safer
327  by making the borrowee and borrowers aware of each other.
329  A few tests need some tweaks for MinGW ($gmane/{257756,257757}).
330  Conflicts with rs/ref-transaction so ejected for now, waiting for a
331  reroll.
334 * mt/patch-id-stable (2014-06-10) 1 commit
335  - patch-id: change default to stable
337  Teaches "git patch-id" to compute the patch ID that does not change
338  when the files in a single patch is reordered. As this new algorithm
339  is backward incompatible, the last bit to flip it to be the default
340  is left out of 'master' for now.
342  Nobody seems to be jumping up & down requesting this last step,
343  which makes the result somewhat backward incompatible.
344  Will perhaps drop.
347 * tr/remerge-diff (2014-09-08) 8 commits
348  - log --remerge-diff: show what the conflict resolution changed
349  - name-hash: allow dir hashing even when !ignore_case
350  - merge-recursive: allow storing conflict hunks in index
351  - merge_diff_mode: fold all merge diff variants into an enum
352  - combine-diff: do not pass revs->dense_combined_merges redundantly
353  - merge-recursive: -Xindex-only to leave worktree unchanged
354  - merge-recursive: internal flag to avoid touching the worktree
355  - merge-recursive: remove dead conditional in update_stages()
357  "log -p" output learns a new way to let users inspect a merge
358  commit by showing the differences between the automerged result
359  with conflicts the person who recorded the merge would have seen
360  and the final conflict resolution that was recorded in the merge.
362  Waiting for a reroll ($gmane/256591).
365 * hv/submodule-config (2014-06-30) 4 commits
366  - do not die on error of parsing fetchrecursesubmodules option
367  - use new config API for worktree configurations of submodules
368  - extract functions for submodule config set and lookup
369  - implement submodule config cache for lookup of submodule names
371  Kicked back to 'pu' per request ($gmane/255610).
374 * jt/timer-settime (2014-08-29) 6 commits
375  - use timer_settime() for new platforms
376  - autoconf: check for timer_settime()
377  - autoconf: check for struct itimerspec
378  - autoconf: check for struct sigevent
379  - autoconf: check for struct timespec
380  - autoconf: check for timer_t
382  Reviewed, discussed and wanting for a reroll.
385 * jk/pack-bitmap (2014-08-04) 1 commit
386  - pack-bitmap: do not use gcc packed attribute
388  Hold, waiting for Karsten's replacement.
391 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
392  - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
393  - git-add--interactive: Preserve diff heading when splitting hunks
395  Waiting for a reroll.
398 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
399  - gitweb: Harden UTF-8 handling in generated links
401  $gmane/250758?
404 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
405  - userdiff: support Java try keyword
406  - userdiff: support C# async methods and correct C# keywords
408  Reviews sent; waiting for a response.
411 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
412  - git-rebase: print name of rev when using shorthand
414  Teach "git rebase -" to report the concrete name of the branch
415  (i.e. the previous one).
417  But it stops short and does not do the same for "git rebase @{-1}".
418  Expecting a reroll.
421 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
422  - merge: drop unused arg from abort_commit method signature
423  - merge: make prepare_to_commit responsible for write_merge_state
424  - t7505: ensure cleanup after hook blocks merge
425  - t7505: add missing &&
427  Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
428  run during "git merge".  The log message stresses too much on one
429  hook, prepare-commit-msg, but it would equally apply to other hooks
430  like post-merge, I think.
432  Waiting for a reroll.
435 * jc/graph-post-root-gap (2013-12-30) 3 commits
436  - WIP: document what we want at the end
437  - graph: remove unused code a bit
438  - graph: stuff the current commit into graph->columns[]
440  This was primarily a RFH ($gmane/239580).
443 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
444  - perf-lib: add test_perf_cleanup target
445  - perf-lib: split starting the test from the execution
447  Add test_perf_cleanup shell function to the perf suite, that allows
448  the script writers to define a test with a clean-up action.
450  Will hold.
453 * jc/show-branch (2014-03-24) 5 commits
454  - show-branch: use commit slab to represent bitflags of arbitrary width
455  - show-branch.c: remove "all_mask"
456  - show-branch.c: abstract out "flags" operation
457  - show-branch.c: lift all_mask/all_revs to a global static
458  - show-branch.c: update comment style
460  Waiting for the final step to lift the hard-limit before sending it out.
462 --------------------------------------------------
463 [Cooking]
465 * bc/asciidoctor (2014-10-15) 2 commits
466   (merged to 'next' on 2014-10-17 at 12ce2e2)
467  + Documentation: implement linkgit macro for Asciidoctor
468  + Documentation: move some AsciiDoc parameters into variables
470  Add machinery to alternatively use AsciiDoctor to format our
471  documentation.
473  Brian seems to have a bit more tweaks; will wait for them before
474  moving this topic forward.
477 * jk/prune-mtime (2014-10-19) 28 commits
478   (merged to 'next' on 2014-10-20 at fdd7ff6)
479  + drop add_object_array_with_mode
480  + revision: remove definition of unused 'add_object' function
481  + pack-objects: double-check options before discarding objects
482  + repack: pack objects mentioned by the index
483  + pack-objects: use argv_array
484  + reachable: use revision machinery's --indexed-objects code
485  + rev-list: add --indexed-objects option
486  + rev-list: document --reflog option
487  + t5516: test pushing a tag of an otherwise unreferenced blob
488  + traverse_commit_list: support pending blobs/trees with paths
489  + make add_object_array_with_context interface more sane
490  + write_sha1_file: freshen existing objects
491  + pack-objects: match prune logic for discarding objects
492  + pack-objects: refactor unpack-unreachable expiration check
493  + prune: keep objects reachable from recent objects
494  + sha1_file: add for_each iterators for loose and packed objects
495  + count-objects: use for_each_loose_file_in_objdir
496  + count-objects: do not use xsize_t when counting object size
497  + prune-packed: use for_each_loose_file_in_objdir
498  + reachable: mark index blobs as SEEN
499  + prune: factor out loose-object directory traversal
500  + reachable: reuse revision.c "add all reflogs" code
501  + reachable: use traverse_commit_list instead of custom walk
502  + clean up name allocation in prepare_revision_walk
503  + object_array: add a "clear" function
504  + object_array: factor out slopbuf-freeing logic
505  + isxdigit: cast input to unsigned char
506  + foreach_alt_odb: propagate return value from callback
508  Tighten the logic to decide that an unreachable cruft is
509  sufficiently old by covering corner cases such as an ancient object
510  becoming reachable and then going unreachable again, in which case
511  its retention period should be prolonged.
513  Will merge to 'master'.
516 * jc/checkout-local-track-report (2014-10-14) 1 commit
517   (merged to 'next' on 2014-10-21 at f636a00)
518  + checkout: report upstream correctly even with loosely defined branch.*.merge
520  The report from "git checkout" on a branch that builds on another
521  local branch by setting its branch.*.merge to branch name (not a
522  full refname) incorrectly said that the upstream is gone.
525 * jc/clone-borrow (2014-10-15) 1 commit
526   (merged to 'next' on 2014-10-21 at b76ea34)
527  + clone: --dissociate option to mark that reference is only temporary
529  Allow "git clone --reference" to be used more safely.
531 --------------------------------------------------
532 [Discarded]
534 * jk/tag-contains (2014-06-30) 8 commits
535  . perf: add tests for tag --contains
536  . tag: use commit_contains
537  . commit: provide a fast multi-tip contains function
538  . string-list: add pos to iterator callback
539  . add functions for memory-efficient bitmaps
540  . paint_down_to_common: use prio_queue
541  . tag: factor out decision to stream tags
542  . tag: allow --sort with -n
544  Expecting a reroll.
547 * jk/makefile (2014-02-05) 16 commits
548  . FIXUP
549  . move LESS/LV pager environment to Makefile
550  . Makefile: teach scripts to include make variables
551  . FIXUP
552  . Makefile: auto-build C strings from make variables
553  . Makefile: drop *_SQ variables
554  . FIXUP
555  . Makefile: add c-quote helper function
556  . Makefile: introduce sq function for shell-quoting
557  . Makefile: always create files via make-var
558  . Makefile: store GIT-* sentinel files in MAKE/
559  . Makefile: prefer printf to echo for GIT-*
560  . Makefile: use tempfile/mv strategy for GIT-*
561  . Makefile: introduce make-var helper function
562  . Makefile: fix git-instaweb dependency on gitweb
563  . Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
565  Simplify the Makefile rules and macros that exist primarily for
566  quoting purposes, and make it easier to robustly express the
567  dependency rules.
569  Expecting a reroll.