What's cooking (2013/02 #06)
[git/jrn.git] / whats-cooking.txt
blobf62a5cd5dcac25494e74ce9b0363e4b3d84fcd89
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Feb 2013, #06; Thu, 14)
4 X-master-at: 02339dd5295d7add78ab409300b985e5888af0ee
5 X-next-at: ffa3c6506ad4ad51b33a54dee5c10a07cee019f0
7 What's cooking in git.git (Feb 2013, #06; Thu, 14)
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 A preview of the upcoming release 1.8.2-rc0 is expected to be tagged
15 late this week.  At around that time, we may want to discard
16 long-stalled topics that did not see activities as well.
18 You can find the changes described here in the integration branches of the
19 repositories listed at
21     http://git-blame.blogspot.com/p/git-public-repositories.html
23 --------------------------------------------------
24 [Graduated to "master"]
26 * al/mergetool-printf-fix (2013-02-10) 2 commits
27   (merged to 'next' on 2013-02-11 at 5f9bc4e)
28  + difftool--helper: fix printf usage
29  + git-mergetool: print filename when it contains %
32 * bw/get-tz-offset-perl (2013-02-09) 3 commits
33   (merged to 'next' on 2013-02-11 at b9c8893)
34  + cvsimport: format commit timestamp ourselves without using strftime
35  + perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases
36  + Move Git::SVN::get_tz to Git::get_tz_offset
38  "git-cvsimport" and "git-svn" miscomputed TZ offset at DST boundary.
41 * dg/subtree-fixes (2013-02-05) 6 commits
42   (merged to 'next' on 2013-02-09 at 8f19ebe)
43  + contrib/subtree: make the manual directory if needed
44  + contrib/subtree: honor DESTDIR
45  + contrib/subtree: fix synopsis
46  + contrib/subtree: better error handling for 'subtree add'
47  + contrib/subtree: use %B for split subject/body
48  + contrib/subtree: remove test number comments
50  contrib/subtree updates, but here are only the ones that looked
51  ready.
54 * jc/extended-fake-ancestor-for-gitlink (2013-02-05) 1 commit
55   (merged to 'next' on 2013-02-09 at 2d3547b)
56  + apply: verify submodule commit object name better
58  Instead of requiring the full 40-hex object names on the index
59  line, we can read submodule commit object names from the textual
60  diff when synthesizing a fake ancestore tree for "git am -3".
63 * jk/diff-graph-cleanup (2013-02-12) 6 commits
64   (merged to 'next' on 2013-02-12 at 6e764c1)
65  + combine-diff.c: teach combined diffs about line prefix
66  + diff.c: use diff_line_prefix() where applicable
67  + diff: add diff_line_prefix function
68  + diff.c: make constant string arguments const
69  + diff: write prefix to the correct file
70  + graph: output padding for merge subsequent parents
72  Refactors a lot of repetitive code sequence from the graph drawing
73  code and adds it to the combined diff output.
76 * jk/error-const-return (2013-02-08) 1 commit
77   (merged to 'next' on 2013-02-11 at ba8dba3)
78  + Use __VA_ARGS__ for all of error's arguments
81 * jx/utf8-printf-width (2013-02-11) 1 commit
82   (merged to 'next' on 2013-02-11 at 968b4e2)
83  + Add utf8_fprintf helper that returns correct number of columns
85  Use a new helper that prints a message and counts its display width
86  to align the help messages parse-options produces.
89 * mg/bisect-doc (2013-02-11) 1 commit
90   (merged to 'next' on 2013-02-11 at 6125304)
91  + git-bisect.txt: clarify that reset quits bisect
94 * mm/remote-mediawiki-build (2013-02-08) 2 commits
95   (merged to 'next' on 2013-02-11 at 4ebb902)
96  + git-remote-mediawiki: use toplevel's Makefile
97  + Makefile: make script-related rules usable from subdirectories
100 * nd/status-show-in-progress (2013-02-05) 1 commit
101   (merged to 'next' on 2013-02-11 at 5ffcbc2)
102  + status: show the branch name if possible in in-progress info
105 * tz/perl-styles (2013-02-06) 1 commit
106   (merged to 'next' on 2013-02-09 at c8cff17)
107  + Update CodingGuidelines for Perl
109  Add coding guidelines for writing Perl scripts for Git.
111 --------------------------------------------------
112 [New Topics]
114 * mk/make-rm-depdirs-could-be-empty (2013-02-13) 1 commit
115   (merged to 'next' on 2013-02-14 at d966248)
116  + Makefile: don't run "rm" without any files
118  "make COMPUTE_HEADER_DEPENDENCIES=no clean" would try to run "rm
119  -rf $(dep_dirs)" with an empty dep_dir, but some implementations of
120  "rm -rf" barf on an empty argument list.
122  Will merge to 'master'.
125 * mw/bash-prompt-show-untracked-config (2013-02-13) 3 commits
126   (merged to 'next' on 2013-02-14 at 809dbcf)
127  + t9903: add extra tests for bash.showDirtyState
128  + t9903: add tests for bash.showUntrackedFiles
129  + shell prompt: add bash.showUntrackedFiles option
131  Allows skipping the untracked check GIT_PS1_SHOWUNTRACKEDFILES
132  asks for the git-prompt (in contrib/) per repository.
134  Will merge to 'master'.
137 * mg/gpg-interface-using-status (2013-02-14) 5 commits
138  - pretty: make %GK output the signing key for signed commits
139  - pretty: parse the gpg status lines rather than the output
140  - gpg_interface: allow to request status return
141  - log-tree: rely upon the check in the gpg_interface
142  - gpg-interface: check good signature in a reliable way
144  Call "gpg" using the right API when validating the signature on
145  tags.
148 * mm/config-intro-in-git-doc (2013-02-14) 1 commit
149  - git.txt: update description of the configuration mechanism
151 --------------------------------------------------
152 [Stalled]
154 * mb/gitweb-highlight-link-target (2012-12-20) 1 commit
155  - Highlight the link target line in Gitweb using CSS
157  Expecting a reroll.
158  $gmane/211935
161 * jk/lua-hackery (2012-10-07) 6 commits
162  - pretty: fix up one-off format_commit_message calls
163  - Minimum compilation fixup
164  - Makefile: make "lua" a bit more configurable
165  - add a "lua" pretty format
166  - add basic lua infrastructure
167  - pretty: make some commit-parsing helpers more public
169  Interesting exercise. When we do this for real, we probably would want
170  to wrap a commit to make it more like an "object" with methods like
171  "parents", etc.
174 * rc/maint-complete-git-p4 (2012-09-24) 1 commit
175  - Teach git-completion about git p4
177  Comment from Pete will need to be addressed ($gmane/206172).
180 * jc/maint-name-rev (2012-09-17) 7 commits
181  - describe --contains: use "name-rev --algorithm=weight"
182  - name-rev --algorithm=weight: tests and documentation
183  - name-rev --algorithm=weight: cache the computed weight in notes
184  - name-rev --algorithm=weight: trivial optimization
185  - name-rev: --algorithm option
186  - name_rev: clarify the logic to assign a new tip-name to a commit
187  - name-rev: lose unnecessary typedef
189  "git name-rev" names the given revision based on a ref that can be
190  reached in the smallest number of steps from the rev, but that is
191  not useful when the caller wants to know which tag is the oldest one
192  that contains the rev.  This teaches a new mode to the command that
193  uses the oldest ref among those which contain the rev.
195  I am not sure if this is worth it; for one thing, even with the help
196  from notes-cache, it seems to make the "describe --contains" even
197  slower. Also the command will be unusably slow for a user who does
198  not have a write access (hence unable to create or update the
199  notes-cache).
201  Stalled mostly due to lack of responses.
204 * jc/xprm-generation (2012-09-14) 1 commit
205  - test-generation: compute generation numbers and clock skews
207  A toy to analyze how bad the clock skews are in histories of real
208  world projects.
210  Stalled mostly due to lack of responses.
213 * jc/add-delete-default (2012-08-13) 1 commit
214  - git add: notice removal of tracked paths by default
216  "git add dir/" updated modified files and added new files, but does
217  not notice removed files, which may be "Huh?" to some users.  They
218  can of course use "git add -A dir/", but why should they?
220  Resurrected from graveyard, as I thought it was a worthwhile thing
221  to do in the longer term.
223  Stalled mostly due to lack of responses.
226 * mb/remote-default-nn-origin (2012-07-11) 6 commits
227  - Teach get_default_remote to respect remote.default.
228  - Test that plain "git fetch" uses remote.default when on a detached HEAD.
229  - Teach clone to set remote.default.
230  - Teach "git remote" about remote.default.
231  - Teach remote.c about the remote.default configuration setting.
232  - Rename remote.c's default_remote_name static variables.
234  When the user does not specify what remote to interact with, we
235  often attempt to use 'origin'.  This can now be customized via a
236  configuration variable.
238  Expecting a reroll.
239  $gmane/210151
241  "The first remote becomes the default" bit is better done as a
242  separate step.
244 --------------------------------------------------
245 [Cooking]
247 * mp/diff-algo-config (2013-01-16) 3 commits
248   (merged to 'next' on 2013-02-14 at cd765dc)
249  + diff: Introduce --diff-algorithm command line option
250  + config: Introduce diff.algorithm variable
251  + git-completion.bash: Autocomplete --minimal and --histogram for git-diff
253  Add diff.algorithm configuration so that the user does not type
254  "diff --histogram".
256  Will merge to 'master'.
259 * da/p4merge-mktemp-fix (2013-02-10) 1 commit
260   (merged to 'next' on 2013-02-14 at c5fc5ba)
261  + p4merge: fix printf usage
263  Will merge to 'master'.
266 * jn/shell-disable-interactive (2013-02-11) 2 commits
267  - shell: pay attention to exit status from 'help' command
268  - shell doc: emphasize purpose and security model
270  Expecting a reroll.
271  $gmane/216229
274 * jk/read-commit-buffer-data-after-free (2013-02-11) 1 commit
275   (merged to 'next' on 2013-02-14 at 220e3a8)
276  + log: re-encode commit messages before grepping
278  Will merge to 'master'.
281 * mk/old-expat (2013-02-11) 1 commit
282   (merged to 'next' on 2013-02-14 at 5fb47ce)
283  + Allow building with xmlparse.h
285  Will merge to 'master'.
288 * ef/non-ascii-parse-options-error-diag (2013-02-11) 1 commit
289   (merged to 'next' on 2013-02-14 at 10cbdf8)
290  + parse-options: report uncorrupted multi-byte options
292  Will merge to 'master'.
295 * jk/rebase-i-comment-char (2013-02-12) 1 commit
296   (merged to 'next' on 2013-02-14 at 0ed2f48)
297  + rebase -i: respect core.commentchar
299  Will merge to 'master'.
302 * mm/config-local-completion (2013-02-12) 1 commit
303   (merged to 'next' on 2013-02-14 at 26bf6c2)
304  + completion: support 'git config --local'
306  Will merge to 'master'.
309 * jc/fetch-raw-sha1 (2013-02-07) 4 commits
310   (merged to 'next' on 2013-02-14 at ffa3c65)
311  + fetch: fetch objects by their exact SHA-1 object names
312  + upload-pack: optionally allow fetching from the tips of hidden refs
313  + fetch: use struct ref to represent refs to be fetched
314  + parse_fetch_refspec(): clarify the codeflow a bit
315  (this branch uses jc/hidden-refs.)
317  Allows requests to fetch objects at any tip of refs (including
318  hidden ones).  It seems that there may be use cases even outside
319  Gerrit (e.g. $gmane/215701).
322 * mn/send-email-works-with-credential (2013-02-12) 6 commits
323  - git-send-email: use git credential to obtain password
324  - Git.pm: add interface for git credential command
325  - Git.pm: allow pipes to be closed prior to calling command_close_bidi_pipe
326  - Git.pm: refactor command_close_bidi_pipe to use _cmd_close
327  - Git.pm: fix example in command_close_bidi_pipe documentation
328  - Git.pm: allow command_close_bidi_pipe to be called as method
330  Hooks the credential system to send-email.
331  Rerolled.
332  Waiting for a review.
335 * nd/branch-show-rebase-bisect-state (2013-02-08) 1 commit
336  - branch: show rebase/bisect info when possible instead of "(no branch)"
338  Expecting a reroll.
339  $gmane/215771
342 * nd/count-garbage (2013-02-13) 4 commits
343  - count-objects: report how much disk space taken by garbage files
344  - count-objects: report garbage files in pack directory too
345  - sha1_file: reorder code in prepare_packed_git_one()
346  - git-count-objects.txt: describe each line in -v output
348  Looked good, but the handling of files with known-corrupt .idx
349  counterparts could be improved.
352 * wk/man-deny-current-branch-is-default-these-days (2013-02-14) 1 commit
353   (merged to 'next' on 2013-02-14 at 6fab9d4)
354  + user-manual: Update for receive.denyCurrentBranch=refuse
356  Will merge to 'master'.
359 * tz/credential-authinfo (2013-02-05) 1 commit
360  - Add contrib/credentials/netrc with GPG support
362  A new read-only credential helper (in contrib/) to interact with
363  the .netrc/.authinfo files.  Hopefully mn/send-email-authinfo topic
364  can rebuild on top of something like this.
366  Expecting a reroll.
367  $gmane/215556
370 * jl/submodule-deinit (2013-02-06) 1 commit
371  - submodule: add 'deinit' command
373  There was no Porcelain way to say "I no longer am interested in
374  this submodule", once you express your interest in a submodule with
375  "submodule init".  "submodule deinit" is the way to do so.
377  Expecting another reroll.
378  $gmane/216276
381 * jc/remove-export-from-config-mak-in (2013-02-12) 2 commits
382   (merged to 'next' on 2013-02-12 at eb8af04)
383  + Makefile: do not export mandir/htmldir/infodir
384   (merged to 'next' on 2013-02-07 at 33f7d4f)
385  + config.mak.in: remove unused definitions
387  config.mak.in template had an "export" line to cause a few
388  common makefile variables to be exported; if they need to be
389  expoted for autoconf/configure users, they should also be exported
390  for people who write config.mak the same way.  Move the "export" to
391  the main Makefile.  Also, stop exporting mandir that used to be
392  exported (only) when config.mak.autogen was used.  It would have
393  broken installation of manpages (but not other documentation
394  formats).
396  Will cook in 'next'.
399 * jc/mention-tracking-for-pull-default (2013-01-31) 1 commit
400  - doc: mention tracking for pull.default
402  We stopped mentioning `tracking` is a deprecated but supported
403  synonym for `upstream` in pull.default even though we have no
404  intention of removing the support for it.
406  This is my "don't list it to catch readers' eyes, but make sure it
407  can be found if the reader looks for it" version; I'm not married
408  to the layout and will be happy to take a replacement patch.
410  Will merge to 'next', unless a replacement materializes soonish.
413 * jc/hidden-refs (2013-02-07) 3 commits
414   (merged to 'next' on 2013-02-14 at b69f9cc)
415  + upload/receive-pack: allow hiding ref hierarchies
416  + upload-pack: simplify request validation
417  + upload-pack: share more code
418  (this branch is used by jc/fetch-raw-sha1.)
420  Allow the server side to redact the refs/ namespace it shows to the
421  client.
423  Will merge to 'master'.
426 * jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit
427   (merged to 'next' on 2013-01-30 at b639b47)
428  + simplify-merges: drop merge from irrelevant side branch
430  The --simplify-merges logic did not cull irrelevant parents from a
431  merge that is otherwise not interesting with respect to the paths
432  we are following.
434  This touches a fairly core part of the revision traversal
435  infrastructure; even though I think this change is correct, please
436  report immediately if you find any unintended side effect.
438  Will cook in 'next'.
441 * jc/push-2.0-default-to-simple (2013-01-16) 14 commits
442   (merged to 'next' on 2013-01-16 at 23f5df2)
443  + t5570: do not assume the "matching" push is the default
444  + t5551: do not assume the "matching" push is the default
445  + t5550: do not assume the "matching" push is the default
446   (merged to 'next' on 2013-01-09 at 74c3498)
447  + doc: push.default is no longer "matching"
448  + push: switch default from "matching" to "simple"
449  + t9401: do not assume the "matching" push is the default
450  + t9400: do not assume the "matching" push is the default
451  + t7406: do not assume the "matching" push is the default
452  + t5531: do not assume the "matching" push is the default
453  + t5519: do not assume the "matching" push is the default
454  + t5517: do not assume the "matching" push is the default
455  + t5516: do not assume the "matching" push is the default
456  + t5505: do not assume the "matching" push is the default
457  + t5404: do not assume the "matching" push is the default
459  Will cook in 'next' until Git 2.0 ;-).
462 * bc/append-signed-off-by (2013-02-12) 12 commits
463  - Unify appending signoff in format-patch, commit and sequencer
464  - format-patch: update append_signoff prototype
465  - t4014: more tests about appending s-o-b lines
466  - sequencer.c: teach append_signoff to avoid adding a duplicate newline
467  - sequencer.c: teach append_signoff how to detect duplicate s-o-b
468  - sequencer.c: always separate "(cherry picked from" from commit body
469  - sequencer.c: require a conforming footer to be preceded by a blank line
470  - sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
471  - t/t3511: add some tests of 'cherry-pick -s' functionality
472  - t/test-lib-functions.sh: allow to specify the tag name to test_commit
473  - commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
474  - sequencer.c: rework search for start of footer to improve clarity
476  Waiting for further reviews.
477  $gmane/216327 may need to be addressed.