1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Mar 2013, #02; Thu, 7)
4 X-master-at: aadb70a5594222cac215f9590017f05d5d0f31b2
5 X-next-at: 73fd3fa695a58ff3bcd7342bf03a18bb4617bcf8
7 What's cooking in git.git (Mar 2013, #02; Thu, 7)
8 --------------------------------------------------
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
14 The tip of the 'master' is at 1.8.2-rc3. Hopefully we can tag the
15 final sometime next week.
17 You can find the changes described here in the integration branches of the
18 repositories listed at
20 http://git-blame.blogspot.com/p/git-public-repositories.html
22 --------------------------------------------------
23 [Graduated to "master"]
25 * mp/complete-paths (2013-03-05) 1 commit
26 (merged to 'next' on 2013-03-05 at 929f7c5)
27 + git-completion.zsh: define __gitcomp_file compatibility function
29 A finishing touch for a new feature in the upcoming release.
31 --------------------------------------------------
34 * po/help-guides (2013-03-03) 5 commits
35 - help doc: include --guide option description
36 - help.c: add list_common_guides_help() function
37 - help.c: add --guide option
38 - help.c: use OPT_COUNTUP
39 - show 'git help <guide>' usage, with examples
41 Give more visibility to "concept guides" to help "git help" users.
47 * jk/graph-c-expose-symbols-for-cgit (2013-03-03) 1 commit
48 (merged to 'next' on 2013-03-04 at be35b12)
49 + Revert "graph.c: mark private file-scope symbols as static"
51 In the v1.8.0 era, we changed symbols that do not have to be global
52 to file scope static, but a few functions in graph.c were used by
53 CGit from sideways bypassing the entry points of the API the
59 * we/submodule-update-prefix-output (2013-03-03) 1 commit
60 (merged to 'next' on 2013-03-04 at 908df73)
61 + submodule update: when using recursion, show full path
66 * jc/nobody-sets-src-peer-ref (2013-03-04) 1 commit
67 (merged to 'next' on 2013-03-07 at 1910e21)
68 + match_push_refs(): nobody sets src->peer_ref anymore
75 * jc/push-follow-tag (2013-03-05) 4 commits
77 - commit.c: use clear_commit_marks_many() in in_merge_bases_many()
78 - commit.c: add in_merge_bases_many()
79 - commit.c: add clear_commit_marks_many()
81 The new "--follow-tags" option tells "git push" to push relevant
82 tags when pushing branches out.
85 * jc/maint-reflog-expire-clean-mark-typofix (2013-03-05) 1 commit
86 (merged to 'next' on 2013-03-07 at 0a61cbb)
87 + reflog: fix typo in "reflog expire" clean-up codepath
92 * aw/setup-prefix-pathspec (2013-03-07) 1 commit
93 - setup.c: stop prefix_pathspec() from looping past the end of string
99 * gp/add-u-A-documentation (2013-03-07) 1 commit
100 - add: Clarify documentation of -A and -u
102 Looked good. We would need to start preparing a xx/add-u-A-2.0-default-to-top
103 topic and update the messages this topic touches soon, though.
105 Waiting for comments and then will merge to 'next'.
108 * lf/bundle-verify-list-prereqs (2013-03-07) 2 commits
109 - bundle: Add colons to list headings in "verify"
110 - bundle: Fix "verify" output if history is complete
112 Will merge to 'next'.
115 * ks/rfc2047-one-char-at-a-time (2013-03-07) 1 commit
116 - format-patch: RFC 2047 says multi-octet character may not be split
118 When "format-patch" quoted a non-ascii strings on the header files,
119 it incorrectly applied rfc2047 and chopped a single character in
122 --------------------------------------------------
125 * mb/gitweb-highlight-link-target (2012-12-20) 1 commit
126 - Highlight the link target line in Gitweb using CSS
132 * jc/add-delete-default (2012-08-13) 1 commit
133 - git add: notice removal of tracked paths by default
135 "git add dir/" updated modified files and added new files, but does
136 not notice removed files, which may be "Huh?" to some users. They
137 can of course use "git add -A dir/", but why should they?
139 Resurrected from graveyard, as I thought it was a worthwhile thing
140 to do in the longer term.
142 There seems to be some interest. Let's see if it results in a solid
143 execution of a sensible transition plan towards Git 2.0.
146 * mb/remote-default-nn-origin (2012-07-11) 6 commits
147 - Teach get_default_remote to respect remote.default.
148 - Test that plain "git fetch" uses remote.default when on a detached HEAD.
149 - Teach clone to set remote.default.
150 - Teach "git remote" about remote.default.
151 - Teach remote.c about the remote.default configuration setting.
152 - Rename remote.c's default_remote_name static variables.
154 When the user does not specify what remote to interact with, we
155 often attempt to use 'origin'. This can now be customized via a
156 configuration variable.
161 "The first remote becomes the default" bit is better done as a
164 --------------------------------------------------
167 * kb/name-hash (2013-02-27) 1 commit
168 (merged to 'next' on 2013-03-05 at 7f7e5d4)
169 + name-hash.c: fix endless loop with core.ignorecase=true
171 The code to keep track of what directory names are known to Git on
172 platforms with case insensitive filesystems can get confused upon
173 a hash collision between these pathnames and looped forever.
178 * rs/zip-compresssed-size-with-export-subst (2013-02-27) 1 commit
179 (merged to 'next' on 2013-03-03 at c1ac6d8)
180 + archive-zip: fix compressed size for stored export-subst files
182 When export-subst is used, "zip" output recorded incorrect
188 * hv/config-from-strbuf (2013-02-28) 4 commits
189 - teach config parsing to read from strbuf
190 - config: make parsing stack struct independent from actual data source
191 - config: drop file pointer validity check in get_next_char()
192 - config: factor out config file stack management
198 * jc/describe (2013-02-28) 1 commit
199 (merged to 'next' on 2013-03-05 at 6b353f3)
200 + describe: --match=<pattern> must limit the refs even when used with --all
202 The "--match=<pattern>" option of "git describe", when used with
203 "--all" to allow refs that are not annotated tags to be used as a
204 base of description, did not restrict the output from the command
205 to those that match the given pattern.
207 We may want to have a looser matching that does not restrict to tags,
208 but that can be done as a follow-up topic; this step is purely a bugfix.
213 * jk/mailsplit-maildir-muttsort (2013-03-02) 1 commit
214 (merged to 'next' on 2013-03-03 at d5f7735)
215 + mailsplit: sort maildir filenames more cleverly
220 * pc/subtree-add-before-fetch (2013-02-28) 1 commit
221 - contrib/subtree: allow addition of remote branch with name not locally present
226 * tr/line-log (2013-02-28) 5 commits
227 - log -L: :pattern:file syntax to find by funcname
228 - Implement line-history search (git log -L)
229 - Export rewrite_parents() for 'log -L'
230 - blame: introduce $ as "end of file" in -L syntax
234 * jc/perl-cat-blob (2013-02-22) 1 commit
235 (merged to 'next' on 2013-02-25 at 7c0079a)
236 + Git.pm: fix cat_blob crashes on large files
238 perl/Git.pm::cat_blob slurped everything in core only to write it
239 out to a file descriptor, which was not a very smart thing to do.
244 * nd/doc-index-format (2013-02-23) 3 commits
245 (merged to 'next' on 2013-02-26 at 4d3caea)
246 + update-index: list supported idx versions and their features
247 + read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
248 + index-format.txt: mention of v4 is missing in some places
250 Update the index format documentation to mention the v4 format.
255 * ap/maint-diff-rename-avoid-overlap (2013-03-06) 3 commits
256 (merged to 'next' on 2013-03-06 at 3bc8dda)
257 + tests: make sure rename pretty print works
258 (merged to 'next' on 2013-02-26 at 19d70bf)
259 + diff: prevent pprint_rename from underrunning input
260 (merged to 'next' on 2013-02-25 at c9bd6d3)
261 + diff: Fix rename pretty-print when suffix and prefix overlap
263 The logic used by "git diff -M --stat" to shorten the names of
264 files before and after a rename did not work correctly when the
265 common prefix and suffix between the two filenames overlapped.
270 * ap/maint-update-index-h-is-for-help (2013-02-23) 1 commit
271 (merged to 'next' on 2013-02-25 at f5f767c)
272 + update-index: allow "-h" to also display options
277 * jc/color-diff-doc (2013-02-22) 1 commit
278 (merged to 'next' on 2013-02-25 at c37541c)
279 + diff-options: unconfuse description of --color
284 * nd/branch-error-cases (2013-02-23) 1 commit
285 (merged to 'next' on 2013-02-25 at 1d0289f)
286 + branch: segfault fixes and validation
288 "git branch" had more cases where it did not bother to check
289 nonsense command line parameters.
294 * rt/commit-cleanup-config (2013-02-23) 1 commit
295 (merged to 'next' on 2013-02-25 at 8249b61)
296 + t7502: perform commits using alternate editor in a subshell
298 Fix tests that contaminated their environments and affected new
299 tests introduced later in the sequence by containing their effects
300 in their own subshells.
305 * wk/doc-pre-rebase (2013-02-24) 1 commit
306 (merged to 'next' on 2013-02-25 at a6ec310)
307 + Documentation/githooks: Explain pre-rebase parameters
312 * da/downcase-u-in-usage (2013-02-24) 20 commits
313 (merged to 'next' on 2013-02-26 at 977b67e)
314 + contrib/mw-to-git/t/install-wiki.sh: use a lowercase "usage:" string
315 + contrib/examples/git-remote.perl: use a lowercase "usage:" string
316 + tests: use a lowercase "usage:" string
317 + git-svn: use a lowercase "usage:" string
318 + Documentation/user-manual.txt: use a lowercase "usage:" string
319 + templates/hooks--update.sample: use a lowercase "usage:" string
320 + contrib/hooks/setgitperms.perl: use a lowercase "usage:" string
321 + contrib/examples: use a lowercase "usage:" string
322 + contrib/fast-import/import-zips.py: use spaces instead of tabs
323 + contrib/fast-import/import-zips.py: fix broken error message
324 + contrib/fast-import: use a lowercase "usage:" string
325 + contrib/credential: use a lowercase "usage:" string
326 + git-cvsimport: use a lowercase "usage:" string
327 + git-cvsimport: use a lowercase "usage:" string
328 + git-cvsexportcommit: use a lowercase "usage:" string
329 + git-archimport: use a lowercase "usage:" string
330 + git-merge-one-file: use a lowercase "usage:" string
331 + git-relink: use a lowercase "usage:" string
332 + git-svn: use a lowercase "usage:" string
333 + git-sh-setup: use a lowercase "usage:" string
338 * dm/ni-maxhost-may-be-missing (2013-02-25) 1 commit
339 (merged to 'next' on 2013-02-26 at 93ec2c9)
340 + git-compat-util.h: Provide missing netdb.h definitions
345 * gp/avoid-explicit-mention-of-dot-git-refs (2013-02-24) 1 commit
346 (merged to 'next' on 2013-02-26 at ec42d98)
347 + Fix ".git/refs" stragglers
352 * gp/describe-match-uses-glob-pattern (2013-02-24) 1 commit
353 (merged to 'next' on 2013-02-26 at c9cc789)
354 + describe: Document --match pattern format
355 (this branch is used by gp/forbid-describe-all-match.)
360 * gp/forbid-describe-all-match (2013-02-24) 1 commit
361 - describe: make --all and --match=PATTERN mutually incompatible
362 (this branch uses gp/describe-match-uses-glob-pattern.)
364 "describe --match=<pattern> --all <commit>" ought to mean "use refs
365 that match <pattern> to describe <commit>; you do not have to limit
366 yourself to annotated tags." But it doesn't. Disable the
369 We may want to discard this if jc/describe topic turns out to be a
373 * jk/common-make-variables-export-safety (2013-02-25) 1 commit
374 (merged to 'next' on 2013-03-05 at 084ae43)
375 + Makefile: make mandir, htmldir and infodir absolute
377 Make the three variables safer to be exported to submakes by
378 ensuring that they are full paths so that they can be used as
379 installation location.
384 * jk/suppress-clang-warning (2013-02-25) 1 commit
385 - fix clang -Wtautological-compare with unsigned enum
388 * mg/qnx6 (2013-02-25) 1 commit
389 - QNX: newer QNX 6.x.x is not so crippled
391 Still under discussion.
392 Not ready for inclusion.
395 * mg/unsigned-time-t (2013-02-25) 2 commits
396 - Fix time offset calculation in case of unsigned time_t
397 - date.c: fix unsigned time_t comparison
399 A few workarounds for systems with unsigned time_t.
402 * rj/msvc-build (2013-02-25) 5 commits
403 (merged to 'next' on 2013-02-26 at 7493068)
404 + msvc: avoid collisions between "tags" and "TAGS"
405 + msvc: test-svn-fe: Fix linker "unresolved external" error
406 + msvc: Fix build by adding missing symbol defines
407 + msvc: git-daemon: Fix linker "unresolved external" errors
408 + msvc: Fix compilation errors caused by poll.h emulation
413 * wk/user-manual-literal-format (2013-02-25) 1 commit
414 (merged to 'next' on 2013-02-26 at d59ce38)
415 + user-manual: Standardize backtick quoting
420 * jk/utf-8-can-be-spelled-differently (2013-02-25) 1 commit
421 (merged to 'next' on 2013-02-26 at c079525)
422 + utf8: accept alternate spellings of UTF-8
427 * jk/pkt-line-cleanup (2013-02-24) 19 commits
428 (merged to 'next' on 2013-02-25 at d83e970)
429 + remote-curl: always parse incoming refs
430 + remote-curl: move ref-parsing code up in file
431 + remote-curl: pass buffer straight to get_remote_heads
432 + teach get_remote_heads to read from a memory buffer
433 + pkt-line: share buffer/descriptor reading implementation
434 + pkt-line: provide a LARGE_PACKET_MAX static buffer
435 + pkt-line: move LARGE_PACKET_MAX definition from sideband
436 + pkt-line: teach packet_read_line to chomp newlines
437 + pkt-line: provide a generic reading function with options
438 + pkt-line: drop safe_write function
439 + pkt-line: move a misplaced comment
440 + write_or_die: raise SIGPIPE when we get EPIPE
441 + upload-archive: use argv_array to store client arguments
442 + upload-archive: do not copy repo name
443 + send-pack: prefer prefixcmp over memcmp in receive_status
444 + fetch-pack: fix out-of-bounds buffer offset in get_ack
445 + upload-pack: remove packet debugging harness
446 + upload-pack: do not add duplicate objects to shallow list
447 + upload-pack: use get_sha1_hex to parse "shallow" lines
449 Cleans up pkt-line API, implementation and its callers to make
455 * ob/imap-send-ssl-verify (2013-02-20) 1 commit
456 (merged to 'next' on 2013-02-25 at e897609)
457 + imap-send: support Server Name Indication (RFC4366)
459 Correctly connect to SSL/TLS sites that serve multiple hostnames on
460 a single IP by including Server Name Indication in the client-hello.
465 * jc/format-patch (2013-02-21) 2 commits
466 - format-patch: --inline-single
467 - format-patch: rename "no_inline" field
469 A new option to send a single patch to the standard output to be
470 appended at the bottom of a message. I personally have no need for
471 this, but it was easy enough to cobble together. Tests, docs and
472 stripping out more MIMEy stuff are left as exercises to interested
475 Not ready for inclusion.
478 * tk/doc-filter-branch (2013-02-26) 2 commits
479 (merged to 'next' on 2013-02-26 at bd4638b)
480 + Documentation: filter-branch env-filter example
481 + git-filter-branch.txt: clarify ident variables usage
486 * bc/commit-complete-lines-given-via-m-option (2013-02-19) 4 commits
487 (merged to 'next' on 2013-02-19 at cf622b7)
488 + Documentation/git-commit.txt: rework the --cleanup section
489 + git-commit: only append a newline to -m mesg if necessary
490 + t7502: demonstrate breakage with a commit message with trailing newlines
491 + t/t7502: compare entire commit message with what was expected
493 'git commit -m "$str"' when $str was already terminated with a LF
494 now avoids adding an extra LF to the message.
499 * da/difftool-fixes (2013-02-21) 4 commits
500 (merged to 'next' on 2013-02-25 at 687db1f)
501 + t7800: "defaults" is no longer a builtin tool name
502 + t7800: modernize tests
503 + t7800: update copyright notice
504 + difftool: silence uninitialized variable warning
506 Minor maintenance updates to difftool, and updates to its tests.
511 * nd/read-directory-recursive-optim (2013-02-17) 1 commit
512 (merged to 'next' on 2013-02-17 at 36ba9f4)
513 + read_directory: avoid invoking exclude machinery on tracked files
515 "git status" has been optimized by taking advantage of the fact
516 that paths that are already known to the index do not have to be
517 checked against the .gitignore mechanism under some conditions.
522 * mg/gpg-interface-using-status (2013-02-14) 5 commits
523 (merged to 'next' on 2013-02-26 at 93f0e72)
524 + pretty: make %GK output the signing key for signed commits
525 + pretty: parse the gpg status lines rather than the output
526 + gpg_interface: allow to request status return
527 + log-tree: rely upon the check in the gpg_interface
528 + gpg-interface: check good signature in a reliable way
530 Call "gpg" using the right API when validating the signature on
536 * jn/shell-disable-interactive (2013-02-11) 2 commits
537 - shell: pay attention to exit status from 'help' command
538 - shell doc: emphasize purpose and security model
544 * jc/fetch-raw-sha1 (2013-02-07) 4 commits
545 (merged to 'next' on 2013-02-14 at ffa3c65)
546 + fetch: fetch objects by their exact SHA-1 object names
547 + upload-pack: optionally allow fetching from the tips of hidden refs
548 + fetch: use struct ref to represent refs to be fetched
549 + parse_fetch_refspec(): clarify the codeflow a bit
551 Allows requests to fetch objects at any tip of refs (including
552 hidden ones). It seems that there may be use cases even outside
553 Gerrit (e.g. $gmane/215701).
558 * mn/send-email-works-with-credential (2013-02-27) 6 commits
559 (merged to 'next' on 2013-02-27 at ee7ae0e)
560 + git-send-email: use git credential to obtain password
561 + Git.pm: add interface for git credential command
562 + Git.pm: allow pipes to be closed prior to calling command_close_bidi_pipe
563 + Git.pm: refactor command_close_bidi_pipe to use _cmd_close
564 + Git.pm: fix example in command_close_bidi_pipe documentation
565 + Git.pm: allow command_close_bidi_pipe to be called as method
567 Hooks the credential system to send-email.
572 * nd/branch-show-rebase-bisect-state (2013-03-06) 4 commits
573 - branch: show more information when HEAD is detached
574 - status: show more info than "currently not on any branch"
575 - wt-status: move wt_status_get_state() out to wt_status_print()
576 - wt-status: split wt_status_state parsing function out
578 This is hopefully almost there.
581 * nd/count-garbage (2013-02-15) 4 commits
582 (merged to 'next' on 2013-02-17 at b2af923)
583 + count-objects: report how much disk space taken by garbage files
584 + count-objects: report garbage files in pack directory too
585 + sha1_file: reorder code in prepare_packed_git_one()
586 + git-count-objects.txt: describe each line in -v output
591 * tz/credential-authinfo (2013-02-25) 1 commit
592 (merged to 'next' on 2013-02-27 at 7a261cb)
593 + Add contrib/credentials/netrc with GPG support
595 A new read-only credential helper (in contrib/) to interact with
596 the .netrc/.authinfo files. Hopefully mn/send-email-authinfo topic
597 can rebuild on top of something like this.
602 * jl/submodule-deinit (2013-03-04) 1 commit
603 (merged to 'next' on 2013-03-05 at 097164e)
604 + submodule: add 'deinit' command
606 There was no Porcelain way to say "I no longer am interested in
607 this submodule", once you express your interest in a submodule with
608 "submodule init". "submodule deinit" is the way to do so.
613 * jc/remove-export-from-config-mak-in (2013-03-05) 3 commits
614 (merged to 'next' on 2013-03-05 at abaa3cb)
615 + Fix `make install` when configured with autoconf
616 (merged to 'next' on 2013-02-12 at eb8af04)
617 + Makefile: do not export mandir/htmldir/infodir
618 (merged to 'next' on 2013-02-07 at 33f7d4f)
619 + config.mak.in: remove unused definitions
621 config.mak.in template had an "export" line to cause a few
622 common makefile variables to be exported; if they need to be
623 expoted for autoconf/configure users, they should also be exported
624 for people who write config.mak the same way. Move the "export" to
625 the main Makefile. Also, stop exporting mandir that used to be
626 exported (only) when config.mak.autogen was used. It would have
627 broken installation of manpages (but not other documentation
633 * jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit
634 (merged to 'next' on 2013-01-30 at b639b47)
635 + simplify-merges: drop merge from irrelevant side branch
637 The --simplify-merges logic did not cull irrelevant parents from a
638 merge that is otherwise not interesting with respect to the paths
641 This touches a fairly core part of the revision traversal
642 infrastructure; even though I think this change is correct, please
643 report immediately if you find any unintended side effect.
648 * jc/push-2.0-default-to-simple (2013-01-16) 14 commits
649 (merged to 'next' on 2013-01-16 at 23f5df2)
650 + t5570: do not assume the "matching" push is the default
651 + t5551: do not assume the "matching" push is the default
652 + t5550: do not assume the "matching" push is the default
653 (merged to 'next' on 2013-01-09 at 74c3498)
654 + doc: push.default is no longer "matching"
655 + push: switch default from "matching" to "simple"
656 + t9401: do not assume the "matching" push is the default
657 + t9400: do not assume the "matching" push is the default
658 + t7406: do not assume the "matching" push is the default
659 + t5531: do not assume the "matching" push is the default
660 + t5519: do not assume the "matching" push is the default
661 + t5517: do not assume the "matching" push is the default
662 + t5516: do not assume the "matching" push is the default
663 + t5505: do not assume the "matching" push is the default
664 + t5404: do not assume the "matching" push is the default
666 Will cook in 'next' until Git 2.0.
669 * bc/append-signed-off-by (2013-02-23) 13 commits
670 (merged to 'next' on 2013-02-25 at 32f7ac2)
671 + git-commit: populate the edit buffer with 2 blank lines before s-o-b
672 + Unify appending signoff in format-patch, commit and sequencer
673 + format-patch: update append_signoff prototype
674 + t4014: more tests about appending s-o-b lines
675 + sequencer.c: teach append_signoff to avoid adding a duplicate newline
676 + sequencer.c: teach append_signoff how to detect duplicate s-o-b
677 + sequencer.c: always separate "(cherry picked from" from commit body
678 + sequencer.c: require a conforming footer to be preceded by a blank line
679 + sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
680 + t/t3511: add some tests of 'cherry-pick -s' functionality
681 + t/test-lib-functions.sh: allow to specify the tag name to test_commit
682 + commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
683 + sequencer.c: rework search for start of footer to improve clarity