What's cooking (2013/10 #05)
[alt-git.git] / whats-cooking.txt
blobc792290c3331f32ce14a18440c95c5d1c64e615b
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Oct 2013, #05; Wed, 23)
4 X-master-at: 3d092bfc6f2d9a998967979f926c661e9762601c
5 X-next-at: 1c32b8d241eeeb98707f52c99ac71d905c99b673
7 What's cooking in git.git (Oct 2013, #05; Wed, 23)
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 You can find the changes described here in the integration branches
15 of the repositories listed at
17     http://git-blame.blogspot.com/p/git-public-repositories.html
19 --------------------------------------------------
20 [Graduated to "master"]
22 * bc/gnome-keyring (2013-10-16) 16 commits
23   (merged to 'next' on 2013-10-18 at 25024aa)
24  + contrib/git-credential-gnome-keyring.c: support really ancient gnome-keyring
25  + contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring
26  + contrib/git-credential-gnome-keyring.c: report failure to store password
27  + contrib/git-credential-gnome-keyring.c: use glib messaging functions
28  + contrib/git-credential-gnome-keyring.c: use glib memory allocation functions
29  + contrib/git-credential-gnome-keyring.c: use secure memory for reading passwords
30  + contrib/git-credential-gnome-keyring.c: use secure memory functions for passwds
31  + contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object()
32  + contrib/git-credential-gnome-keyring.c: set Gnome application name
33  + contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before accessing
34  + contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_t
35  + contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectly
36  + contrib/git-credential-gnome-keyring.c: add static where applicable
37  + contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc.
38  + contrib/git-credential-gnome-keyring.c: remove unused die() function
39  + contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarations
41  Cleanups and tweaks for credential handling to work with ancient versions
42  of the gnome-keyring library that are still in use.
45 * hu/cherry-pick-previous-branch (2013-10-10) 1 commit
46   (merged to 'next' on 2013-10-14 at 090934f)
47  + cherry-pick: handle "-" after parsing options
49  "git cherry-pick" without further options would segfault.
51  Could use a follow-up to handle '-' after argv[1] better.
54 * jc/pack-objects (2013-02-04) 1 commit
55   (merged to 'next' on 2013-10-14 at 8e8feb6)
56  + pack-objects: shrink struct object_entry
59 * jc/prompt-upstream (2013-10-14) 1 commit
60   (merged to 'next' on 2013-10-14 at 270ef7b)
61  + git-prompt.sh: optionally show upstream branch name
63  An enhancement to the GIT_PS1_SHOWUPSTREAM facility.
66 * mg/more-textconv (2013-05-10) 7 commits
67   (merged to 'next' on 2013-10-14 at 8a12490)
68  + grep: honor --textconv for the case rev:path
69  + grep: allow to use textconv filters
70  + t7008: demonstrate behavior of grep with textconv
71  + cat-file: do not die on --textconv without textconv filters
72  + show: honor --textconv for blobs
73  + diff_opt: track whether flags have been set explicitly
74  + t4030: demonstrate behavior of show with textconv
76  Make "git grep" and "git show" pay attention to --textconv when
77  dealing with blob objects.
80 * po/dot-url (2013-10-15) 3 commits
81   (merged to 'next' on 2013-10-15 at 312d0af)
82  + doc/cli: make "dot repository" an independent bullet point
83   (merged to 'next' on 2013-09-20 at 6a12786)
84  + config doc: update dot-repository notes
85  + doc: command line interface (cli) dot-repository dwimmery
87  Explain how '.' can be used to refer to the "current repository"
88  in the documentation.
90 --------------------------------------------------
91 [New Topics]
93 * ap/remote-hg-unquote-cquote (2013-10-23) 1 commit
94  - remote-hg: unquote C-style paths when exporting
96  A fast-import stream expresses a pathname with funny characters by
97  quoting them in C style; remote-hg remote helper forgot to unquote
98  such a path.
100  Will merge to 'next'.
103 * jl/pack-transfer-avoid-double-close (2013-10-23) 1 commit
104  - Clear fd after closing to avoid double-close error
106  The codepath that send_pack() calls pack_objects() mistakenly
107  closed the same file descriptor twice, leading to potentially
108  closing a wrong file descriptor that was opened in the meantime.
110  Will merge to 'next'.
111  Needs to be merged later to 'maint'.
114 * nd/magic-pathspec (2013-10-22) 1 commit
115  - Fix calling parse_pathspec with no paths nor PATHSPEC_PREFER_* flags
117  All callers to parse_pathspec() must choose between getting no
118  pathspec or one path that is limited to the current directory
119  when there is no paths given on the command line, but there were
120  two callers that violated this rule, triggering a BUG().
122  Will merge to 'next'.
125 * sb/git-svn-docs-indent-with-ht (2013-10-22) 1 commit
126  - git-svn docs: Use tabs consistently within the ascii doc
128  Will merge to 'next'.
131 * tr/gitk-doc-update (2013-10-22) 1 commit
132  - Documentation: revamp gitk(1)
134  Will merge to 'next'.
137 * tr/valgrind-test-fix (2013-10-22) 2 commits
138  - Revert "test-lib: allow prefixing a custom string before "ok N" etc."
139  - Revert "test-lib: support running tests under valgrind in parallel"
141  Will merge to 'next'.
144 * sb/repack-in-c (2013-10-22) 1 commit
145   (merged to 'next' on 2013-10-23 at 5d7ac72)
146  + Reword repack documentation to no longer state it's a script
148  Finishing touches to update documentation.
150  Will merge to 'master'.
152 --------------------------------------------------
153 [Stalled]
155 * np/pack-v4 (2013-09-18) 90 commits
156  - packv4-parse.c: add tree offset caching
157  - t1050: replace one instance of show-index with verify-pack
158  - index-pack, pack-objects: allow creating .idx v2 with .pack v4
159  - unpack-objects: decode v4 trees
160  - unpack-objects: allow to save processed bytes to a buffer
161  - ...
163  Nico and Duy advancing the eternal vaporware pack-v4.  This is here
164  primarily for wider distribution of the preview edition.
167 * sc/doc-howto-dumb-http (2013-10-16) 1 commit
168  . doc/howto: warn about (dumb)http server document being too old
170  The new text needs to go somewhere in the body of the document,
171  not before the title line.
174 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
175  - perf-lib: add test_perf_cleanup target
176  - perf-lib: split starting the test from the execution
178  Add test_perf_cleanup shell function to the perf suite, that allows
179  the script writers to define a test with a clean-up action.
181  Holding until needed.
184 * yt/shortened-rename (2013-10-18) 2 commits
185  - SQUASH??? style fixes and s/omit/shorten/ where appropriate
186  - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
188  Attempts to give more weight on the fact that a filepair represents
189  a rename than showing substring of the actual path when diffstat
190  lines are not wide enough.
192  I am not sure if that is solving a right problem, though.
195 * tr/merge-recursive-index-only (2013-07-07) 3 commits
196  - merge-recursive: -Xindex-only to leave worktree unchanged
197  - merge-recursive: untangle double meaning of o->call_depth
198  - merge-recursive: remove dead conditional in update_stages()
200  Holding until there is a caller to learn from.
203 * jc/ref-excludes (2013-09-03) 2 commits
204  - document --exclude option
205  - revision: introduce --exclude=<glob> to tame wildcards
207  People often wished a way to tell "git log --branches" (and "git
208  log --remotes --not --branches") to exclude some local branches
209  from the expansion of "--branches" (similarly for "--tags", "--all"
210  and "--glob=<pattern>").  Now they have one.
212  Needs a matching change to rev-parse.
215 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
216  - git-send-email: Cache generated message-ids, use them when prompting
217  - git-send-email: add optional 'choices' parameter to the ask sub
220 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
221  - ### DONTMERGE: needs better explanation on what config they need
222  - pack-refs.c: Add missing call to git_config()
223  - show-ref.c: Add missing call to git_config()
225  The changes themselves are probably good, but it is unclear what
226  basic setting needs to be read for which exact operation.
228  Waiting for clarification.
229  $gmane/228294
232 * jh/shorten-refname (2013-05-07) 4 commits
233  - t1514: refname shortening is done after dereferencing symbolic refs
234  - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
235  - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
236  - t1514: Add tests of shortening refnames in strict/loose mode
238  When remotes/origin/HEAD is not a symbolic ref, "rev-parse
239  --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
240  "origin/HEAD", which is fixed with this series (if it is a symbolic
241  ref that points at remotes/origin/something, then it should show
242  "origin/something" and it already does).
244  Expecting a reroll, as an early part of a larger series.
245  $gmane/225137
248 * jc/format-patch (2013-04-22) 2 commits
249  - format-patch: --inline-single
250  - format-patch: rename "no_inline" field
252  A new option to send a single patch to the standard output to be
253  appended at the bottom of a message.  I personally have no need for
254  this, but it was easy enough to cobble together.  Tests, docs and
255  stripping out more MIMEy stuff are left as exercises to interested
256  parties.
259 * jk/gitweb-utf8 (2013-04-08) 4 commits
260  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
261  - gitweb: Don't append ';js=(0|1)' to external links
262  - gitweb: Make feed title valid utf8
263  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
265  Various fixes to gitweb.
267  Drew Northup volunteered to take a look into this.
268  $gmane/226216
271 * jc/show-branch (2013-06-07) 5 commits
272  - show-branch: use commit slab to represent bitflags of arbitrary width
273  - show-branch.c: remove "all_mask"
274  - show-branch.c: abstract out "flags" operation
275  - show-branch.c: lift all_mask/all_revs to a global static
276  - show-branch.c: update comment style
278  Waiting for the final step to lift the hard-limit before sending it out.
280 --------------------------------------------------
281 [Cooking]
283 * mm/checkout-auto-track-fix (2013-10-18) 2 commits
284  - checkout: proper error message on 'git checkout foo bar --'
285  - checkout: allow dwim for branch creation for "git checkout $branch --"
287  "git checkout topic", when there is not yet a local "topic" branch
288  but there is a unique remote-tracking branch for a remote "topic"
289  branch, pretended as if "git checkout -t -b topic remote/$r/topic"
290  (for that unique remote $r) was run. This hack however was not
291  implemented for "git checkout topic --".
293  Will merge to 'next'.
296 * hn/log-graph-color-octopus (2013-10-18) 1 commit
297  - graph: fix coloring around octopus merges
299  Will merge to 'next'.
302 * nd/gc-lock-against-each-other (2013-10-18) 1 commit
303  - gc: remove gc.pid file at end of execution
305  Will merge to 'next'.
308 * fc/styles (2013-10-16) 7 commits
309  - block-sha1/sha1.c: have SP around arithmetic operators
310  - base85.c: have SP around arithmetic operators
311  - archive.c: have SP around arithmetic operators
312  - alloc.c: have SP around arithmetic operators
313  - abspath.c: have SP around arithmetic operators
314  - alias: have SP around arithmetic operators
315  - C: have space around && and || operators
317  C coding style fixes.  The ones near the tip have not been sent to
318  the list yet (they cover the same kind of style violation as the
319  second one) and I should send them to the list.
321  Will merge to 'next'.
324 * jk/remote-literal-string-leakfix (2013-10-15) 1 commit
325   (merged to 'next' on 2013-10-18 at 6abddac)
326  + remote: do not copy "origin" string literal
328  Will merge to 'master'.
331 * jk/split-broken-ident (2013-10-15) 1 commit
332   (merged to 'next' on 2013-10-18 at 8f4b8b7)
333  + split_ident: parse timestamp from end of line
335  Make the fall-back parsing of commit objects with broken author or
336  committer lines more robust to pick up the timestamps.
338  Will merge to 'master'.
341 * sg/prompt-svn-remote-fix (2013-10-15) 1 commit
342   (merged to 'next' on 2013-10-18 at 20b47eb)
343  + bash prompt: don't use '+=' operator in show upstream code path
345  Bash portability fix.
347  Will merge to 'master'.
350 * sg/t3600-nul-sha1-fix (2013-10-16) 1 commit
351  - t3600: fix broken "choking git rm" test
353  Will merge to 'next'.
356 * ak/submodule-foreach-quoting (2013-09-27) 1 commit
357   (merged to 'next' on 2013-10-14 at d77c5f1)
358  + submodule foreach: skip eval for more than one argument
360  A behavior change, but a worthwhile one: "git submodule foreach"
361  was treating its arguments as part of a single command to be
362  concatenated and passed to a shell, making writing buggy
363  scripts too easy.
365  This patch preserves the old "just pass it to the shell" behavior
366  when a single argument is passed to 'git submodule foreach' and
367  moves to a new "skip the shell and use the arguments passed
368  unmolested" behavior when more than one argument is passed.
370  The old behavior (always concatenating and passing to the shell)
371  was similar to the 'ssh' command, while the new behavior (switching
372  on the number of arguments) is what 'xterm -e' does.
374  May need more thought to make sure this change is advertised well
375  so that scripts that used multiple arguments but added their own
376  extra layer of quoting are not broken.
378  Will cook in 'next' for the rest of this cycle.
381 * ew/keepalive (2013-10-16) 2 commits
382   (merged to 'next' on 2013-10-16 at 56fd9f3)
383  + http: use curl's tcp keepalive if available
384   (merged to 'next' on 2013-10-14 at 24d786f)
385  + http: enable keepalive on TCP sockets
387  Will merge to 'master'.
390 * jk/http-auth-redirects (2013-10-14) 9 commits
391  - remote-curl: rewrite base url from info/refs redirects
392  - remote-curl: store url as a strbuf
393  - remote-curl: make refs_url a strbuf
394  - http: update base URLs when we see redirects
395  - http: provide effective url to callers
396  - http: hoist credential request out of handle_curl_result
397   (merged to 'next' on 2013-10-14 at a0642be)
398  + http: refactor options to http_get_*
399  + http_request: factor out curlinfo_strbuf
400  + http_get_file: style fixes
402  Handle the case where http transport gets redirected during the
403  authorization request better.
405  Will merge to 'next'.
408 * jl/submodule-mv (2013-10-13) 1 commit
409  - mv: Fix spurious warning when moving a file in presence of submodules
411  Moving a regular file in a repository with a .gitmodules file was
412  producing a warning 'Could not find section in .gitmodules where
413  path=<filename>'.
415  Will merge to 'next'.
418 * kb/fast-hashmap (2013-10-22) 12 commits
419  - remove old hash.[ch] implementation
420  - read-cache.c: fix memory leaks caused by removed cache entries
421  - name-hash.c: remove cache entries instead of marking them CE_UNHASHED
422  - name-hash.c: use new hash map implementation for cache entries
423  - name-hash.c: remove unreferenced directory entries
424  - name-hash.c: use new hash map implementation for directories
425  - diffcore-rename.c: use new hash map implementation
426  - diffcore-rename.c: simplify finding exact renames
427  - diffcore-rename.c: move code around to prepare for the next patch
428  - buitin/describe.c: use new hash map implementation
429  - add a hashtable implementation that supports O(1) removal
430  - submodule: don't access the .gitmodules cache entry after removing it
432  Improvements to our hash table to get it to meet the needs of the
433  msysgit fscache project, with some nice performance improvements.
435  The preparatory clean-up to submodule from Jens is at the bottom. I
436  also squashed in a fix-up by Karsten found at $gmane/236468 (please
437  double-check the result).
439  Will merge to 'next'.
442 * jc/revision-range-unpeel (2013-10-15) 1 commit
443   (merged to 'next' on 2013-10-16 at d04ddfe)
444  + revision: do not peel tags used in range notation
446  "git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the
447  output, but "git rev-list --objects v1.0^..v1.0" did not.
449  Will merge to 'master'.
452 * jc/upload-pack-send-symref (2013-10-22) 10 commits
453   (merged to 'next' on 2013-10-23 at 8ef5660)
454  + t5570: Update for clone-progress-to-stderr branch
455  + Merge branch 'jk/clone-progress-to-stderr' into jc/upload-pack-send-symref
456  + t5570: Update for symref capability
457   (merged to 'next' on 2013-10-16 at eb1ae25)
458  + clone: test the new HEAD detection logic
459  + connect: annotate refs with their symref information in get_remote_head()
460  + connect.c: make parse_feature_value() static
461  + upload-pack: send non-HEAD symbolic refs
462  + upload-pack: send symbolic ref information as capability
463  + upload-pack.c: do not pass confusing cb_data to mark_our_ref()
464  + t5505: fix "set-head --auto with ambiguous HEAD" test
466  One long-standing flaw in the pack transfer protocol used by "git
467  clone" was that there was no way to tell the other end which branch
468  "HEAD" points at, and the receiving end needed to guess.  A new
469  capability has been defined in the pack protocol to convey this
470  information so that cloning from a repository with more than one
471  branches pointing at the same commit where the HEAD is at now
472  reliably sets the initial branch in the resulting repository.
474  Will merge to 'master'.
477 * jx/relative-path-regression-fix (2013-10-14) 3 commits
478   (merged to 'next' on 2013-10-18 at b4af45f)
479  + Use simpler relative_path when set_git_dir
480   (merged to 'next' on 2013-10-14 at 704b9ee)
481  + relative_path should honor dos-drive-prefix
482  + test: use unambigous leading path (/foo) for MSYS
484  Will merge to 'master' and later to 'maint'.
487 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
488  - git add: -u/-A now affects the entire working tree
490  Will merge to and cook in 'next' until Git 2.0.
493 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
494  - core.statinfo: remove as promised in Git 2.0
496  Will merge to and cook in 'next' until Git 2.0.
499 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
500  - push: switch default from "matching" to "simple"
502  Will merge to and cook in 'next' until Git 2.0.
505 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
506  - git add <pathspec>... defaults to "-A"
508  Updated endgame for "git add <pathspec>" that defaults to "--all"
509  aka "--no-ignore-removal".
511  Will merge to and cook in 'next' until Git 2.0.
514 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
515  - diff: remove "diff-files -q" in a version of Git in a distant future
517  Will merge to and cook in 'next' until a distant future.