What's cooking (2013/01 #04)
[alt-git.git] / whats-cooking.txt
blobb8e9a7338b8bc5b36dda11ee930fe72ae5a070e4
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jan 2013, #04; Wed, 9)
4 X-master-at: 44fe83502edf5391bb3a5997cab01794b4568062
5 X-next-at: ffbe6f75280588398438a571a8a937328d87c3a3
7 What's cooking in git.git (Jan 2013, #04; Wed, 9)
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 So far, about 60 topics, most of which have been cooking since the
15 previous cycle, have been graduated to the 'master' branch in
16 preparation for the next release, which tentatively is called 1.8.2.
17 Many of these early topics are bugfixes and expected to later land
18 in the 'maint' branch for 1.8.1.1 release as well.
20 As usual, this cycle is expected to last for 8 to 10 weeks, with a
21 preview -rc0 sometime in the middle of next month.
23 You can find the changes described here in the integration branches of the
24 repositories listed at
26     http://git-blame.blogspot.com/p/git-public-repositories.html
28 --------------------------------------------------
29 [New Topics]
31 * nz/send-email-headers-are-case-insensitive (2013-01-06) 1 commit
32  - git-send-email: treat field names as case-insensitively
34  When user spells "cc:" in lowercase in the fake "header" in the
35  trailer part, send-email failed to pick up the addresses from
36  there. As e-mail headers field names are case insensitive, this
37  script should follow suit and treat "cc:" and "Cc:" the same way.
39  Will merge to 'next'.
42 * mk/complete-tcsh (2013-01-07) 1 commit
43  - Prevent space after directories in tcsh completion
45  Update tcsh command line completion so that an unwanted space is
46  not added to a single directory name.
48  Will merge to 'next'.
51 * dg/subtree-fixes (2013-01-08) 7 commits
52  - contrib/subtree: mkdir the manual directory if needed
53  - contrib/subtree: honor $(DESTDIR)
54  - contrib/subtree: fix synopsis and command help
55  - contrib/subtree: better error handling for "add"
56  - contrib/subtree: add --unannotate option
57  - contrib/subtree: use %B for split Subject/Body
58  - t7900: remove test number comments
60  contrib/subtree updates.
62  Will merge to 'next'.
65 * ap/log-mailmap (2013-01-08) 11 commits
66  - log --use-mailmap: optimize for cases without --author/--committer search
67  - log: add log.mailmap configuration option
68  - log: grep author/committer using mailmap
69  - test: add test for --use-mailmap option
70  - log: add --use-mailmap option
71  - pretty: use mailmap to display username and email
72  - mailmap: add mailmap structure to rev_info and pp
73  - mailmap: simplify map_user() interface
74  - mailmap: remove email copy and length limitation
75  - Use split_ident_line to parse author and committer
76  - string-list: allow case-insensitive string list
78  Teach commands in the "log" family to optionally pay attention to
79  the mailmap.
81  Will merge to 'next'.
84 * nd/upload-pack-shallow-must-be-commit (2013-01-08) 1 commit
85  - upload-pack: only accept commits from "shallow" line
87  A minor consistency check patch that does not have much relevance
88  to the real world.
90  Will merge to 'next'.
92 --------------------------------------------------
93 [Graduated to "master"]
95 * ap/merge-stop-at-prepare-commit-msg-failure (2013-01-03) 1 commit
96   (merged to 'next' on 2013-01-07 at 6790566)
97  + merge: Honor prepare-commit-msg return code
99  Originally merged to 'next' on 2013-01-04
101  "git merge" started calling prepare-commit-msg hook like "git
102  commit" does some time ago, but forgot to pay attention to the exit
103  status of the hook.  t7505 may want a general clean-up but that is
104  a different topic.
107 * as/test-name-alias-uniquely (2012-12-28) 1 commit
108   (merged to 'next' on 2013-01-07 at 3b11c25)
109  + Use longer alias names in subdirectory tests
111  Originally merged to 'next' on 2013-01-02
113  A few short-and-bland aliases used in the tests were interfering
114  with git-custom command in user's $PATH.
117 * cc/no-gitk-build-dependency (2012-12-18) 3 commits
118  + Makefile: replace "echo 1>..." with "echo >..."
119  + Makefile: detect when PYTHON_PATH changes
120  + Makefile: remove tracking of TCLTK_PATH
122  Remove leftover bits from an earlier change to move gitk in its own
123  subdirectory.  Reimplementing the dependency tracking rules needs
124  to be done in gitk history separately.
127 * er/python-version-requirements (2012-12-28) 1 commit
128   (merged to 'next' on 2013-01-07 at 4954e27)
129  + Add checks to Python scripts for version dependencies.
131  Originally merged to 'next' on 2013-01-02
133  Some python scripts we ship cannot be run with old versions of the
134  interpreter.
137 * er/stop-recommending-parsecvs (2012-12-28) 1 commit
138   (merged to 'next' on 2013-01-07 at 689f28f)
139  + Remove the suggestion to use parsecvs, which is currently broken.
141  Originally merged to 'next' on 2013-01-02
143  Stop recommending a defunct third-party software.
146 * fc/remote-bzr (2013-01-02) 9 commits
147   (merged to 'next' on 2013-01-07 at f8c0b76)
148  + remote-bzr: detect local repositories
149  + remote-bzr: add support for older versions of bzr
150  + remote-bzr: add support to push special modes
151  + remote-bzr: add support for fecthing special modes
152  + remote-bzr: add simple tests
153  + remote-bzr: update working tree upon pushing
154  + remote-bzr: add support for remote repositories
155  + remote-bzr: add support for pushing
156  + Add new remote-bzr transport helper
158  Originally merged to 'next' on 2013-01-04
160  New remote helper for bzr, with minimum fix squashed in.
163 * jc/apply-trailing-blank-removal (2012-10-12) 1 commit
164  + apply.c:update_pre_post_images(): the preimage can be truncated
166  Fix to update_pre_post_images() that did not take into account the
167  possibility that whitespace fix could shrink the preimage and
168  change the number of lines in it.
171 * jc/submittingpatches (2013-01-02) 4 commits
172   (merged to 'next' on 2013-01-07 at 1cc3b8e)
173  + SubmittingPatches: give list and maintainer addresses
174  + SubmittingPatches: remove overlong checklist
175  + SubmittingPatches: mention subsystems with dedicated repositories
176  + SubmittingPatches: who am I and who cares?
178  Originally merged to 'next' on 2013-01-04
180  Streamline the document and update with a few e-mail addresses the
181  patches should be sent to.
184 * jk/enable-test-lint-by-default (2013-01-03) 1 commit
185   (merged to 'next' on 2013-01-07 at 2a77155)
186  + tests: turn on test-lint by default
188  Originally merged to 'next' on 2013-01-04
190  We had two simple and quick tests to catch common mistakes when
191  writing test scripts, but they weren't run by default when running
192  tests.
195 * jk/maint-fast-import-doc-dedup-done (2013-01-07) 1 commit
196   (merged to 'next' on 2013-01-07 at af6a054)
197  + git-fast-import(1): remove duplicate '--done' option
199  The "logical order" reorganization can come after that is done and
200  can cook longer in 'next'.
203 * jk/pathspec-literal (2013-01-06) 1 commit
204   (merged to 'next' on 2013-01-07 at f0725cc)
205  + t6130-pathspec-noglob: Windows does not allow a file named "f*"
207  Finishing touches to unbreak a test on Windows.
210 * jn/less-reconfigure (2013-01-02) 1 commit
211   (merged to 'next' on 2013-01-07 at 04c11cb)
212  + build: do not automatically reconfigure unless configure.ac changed
214  Originally merged to 'next' on 2013-01-02
216  When autoconf is used, any build on a different commit always ran
217  "config.status --recheck" even when unnecessary.
220 * jn/warn-on-inaccessible-loosen (2012-10-14) 4 commits
221  + config: exit on error accessing any config file
222  + doc: advertise GIT_CONFIG_NOSYSTEM
223  + config: treat user and xdg config permission problems as errors
224  + config, gitignore: failure to access with ENOTDIR is ok
226  Deal with a situation where .config/git is a file and we notice
227  .config/git/config is not readable due to ENOTDIR, not ENOENT.
230 * kb/maint-bundle-doc (2013-01-01) 2 commits
231   (merged to 'next' on 2013-01-07 at 3d2b1ea)
232  + Documentation: full-ness of a bundle is significant for cloning
233  + Documentation: correct example restore from bundle
235  Originally merged to 'next' on 2013-01-04
237  Update an example in the "git bundle" documentation.
240 * mz/oneway-merge-wo-u-no-lstat (2012-12-20) 1 commit
241  + oneway_merge(): only lstat() when told to update worktree
243  Optimize "read-tree -m <tree-ish>" without "-u".
246 * nd/maint-branch-desc-doc (2013-01-03) 5 commits
247   (merged to 'next' on 2013-01-07 at 5117679)
248  + format-patch: pick up branch description when no ref is specified
249  + format-patch: pick up correct branch name from symbolic ref
250  + t4014: a few more tests on cover letter using branch description
251  + branch: delete branch description if it's empty
252  + config.txt: a few lines about branch.<name>.description
254  Originally merged to 'next' on 2013-01-04
256  Teach various forms of "format-patch" command line to identify what
257  branch the patches are taken from, so that the branch description
258  is picked up in more cases.
261 * os/gitweb-highlight-uncaptured (2013-01-01) 1 commit
262   (merged to 'next' on 2013-01-07 at 5db0558)
263  + gitweb: fix error in sanitize when highlight is enabled
265  Originally merged to 'next' on 2013-01-04
267  The code to sanitize control characters before passing it to
268  "highlight" filter lost known-to-be-safe control characters by
269  mistake.
272 * ta/remove-stale-translated-tut (2012-12-27) 1 commit
273   (merged to 'next' on 2013-01-07 at 47b1056)
274  + Remove Documentation/pt_BR/gittutorial.txt
276  Originally merged to 'next' on 2013-01-02
278  Remove a translation of a document that was left stale.
281 * tb/test-t9020-no-which (2013-01-01) 1 commit
282   (merged to 'next' on 2013-01-07 at 9661948)
283  + t9020: which is not portable
285  Originally merged to 'next' on 2013-01-04
287  Test portability update.
290 * tb/test-t9810-no-sed-i (2013-01-01) 1 commit
291   (merged to 'next' on 2013-01-07 at cd82266)
292  + t9810: Do not use sed -i
294  Originally merged to 'next' on 2013-01-04
296  Test portability update.
298 --------------------------------------------------
299 [Stalled]
301 * jl/submodule-deinit (2012-12-04) 1 commit
302  - submodule: add 'deinit' command
304  There was no Porcelain way to say "I no longer am interested in
305  this submodule", once you express your interest in a submodule with
306  "submodule init".  "submodule deinit" is the way to do so.
308  Expecting a reroll.
309  $gmane/212884
312 * jk/lua-hackery (2012-10-07) 6 commits
313  - pretty: fix up one-off format_commit_message calls
314  - Minimum compilation fixup
315  - Makefile: make "lua" a bit more configurable
316  - add a "lua" pretty format
317  - add basic lua infrastructure
318  - pretty: make some commit-parsing helpers more public
320  Interesting exercise. When we do this for real, we probably would want
321  to wrap a commit to make it more like an "object" with methods like
322  "parents", etc.
325 * rc/maint-complete-git-p4 (2012-09-24) 1 commit
326  - Teach git-completion about git p4
328  Comment from Pete will need to be addressed ($gmane/206172).
331 * jc/maint-name-rev (2012-09-17) 7 commits
332  - describe --contains: use "name-rev --algorithm=weight"
333  - name-rev --algorithm=weight: tests and documentation
334  - name-rev --algorithm=weight: cache the computed weight in notes
335  - name-rev --algorithm=weight: trivial optimization
336  - name-rev: --algorithm option
337  - name_rev: clarify the logic to assign a new tip-name to a commit
338  - name-rev: lose unnecessary typedef
340  "git name-rev" names the given revision based on a ref that can be
341  reached in the smallest number of steps from the rev, but that is
342  not useful when the caller wants to know which tag is the oldest one
343  that contains the rev.  This teaches a new mode to the command that
344  uses the oldest ref among those which contain the rev.
346  I am not sure if this is worth it; for one thing, even with the help
347  from notes-cache, it seems to make the "describe --contains" even
348  slower. Also the command will be unusably slow for a user who does
349  not have a write access (hence unable to create or update the
350  notes-cache).
352  Stalled mostly due to lack of responses.
355 * jc/xprm-generation (2012-09-14) 1 commit
356  - test-generation: compute generation numbers and clock skews
358  A toy to analyze how bad the clock skews are in histories of real
359  world projects.
361  Stalled mostly due to lack of responses.
364 * jc/add-delete-default (2012-08-13) 1 commit
365  - git add: notice removal of tracked paths by default
367  "git add dir/" updated modified files and added new files, but does
368  not notice removed files, which may be "Huh?" to some users.  They
369  can of course use "git add -A dir/", but why should they?
371  Resurrected from graveyard, as I thought it was a worthwhile thing
372  to do in the longer term.
374  Stalled mostly due to lack of responses.
377 * mb/remote-default-nn-origin (2012-07-11) 6 commits
378  - Teach get_default_remote to respect remote.default.
379  - Test that plain "git fetch" uses remote.default when on a detached HEAD.
380  - Teach clone to set remote.default.
381  - Teach "git remote" about remote.default.
382  - Teach remote.c about the remote.default configuration setting.
383  - Rename remote.c's default_remote_name static variables.
385  When the user does not specify what remote to interact with, we
386  often attempt to use 'origin'.  This can now be customized via a
387  configuration variable.
389  Expecting a reroll.
390  $gmane/210151
392  "The first remote becomes the default" bit is better done as a
393  separate step.
395 --------------------------------------------------
396 [Cooking]
398 * jc/blame-no-follow (2012-09-21) 2 commits
399  - blame: pay attention to --no-follow
400  - diff: accept --no-follow option
402  Teaches "--no-follow" option to "git blame" to disable its
403  whole-file rename detection.
405  Will merge to 'next'.
408 * as/dir-c-cleanup (2012-12-28) 10 commits
409   (merged to 'next' on 2013-01-08 at 5aee090)
410  + dir.c: rename free_excludes() to clear_exclude_list()
411  + dir.c: refactor is_path_excluded()
412  + dir.c: refactor is_excluded()
413  + dir.c: refactor is_excluded_from_list()
414  + dir.c: rename excluded() to is_excluded()
415  + dir.c: rename excluded_from_list() to is_excluded_from_list()
416  + dir.c: rename path_excluded() to is_path_excluded()
417  + dir.c: rename cryptic 'which' variable to more consistent name
418  + Improve documentation and comments regarding directory traversal API
419  + api-directory-listing.txt: update to match code
420  (this branch is used by as/check-ignore.)
422  Refactor and generally clean up the directory traversal API
423  implementation.
425  Will merge to 'master'.
428 * jk/config-uname (2013-01-03) 1 commit
429   (merged to 'next' on 2013-01-08 at f986500)
430  + Makefile: hoist uname autodetection to config.mak.uname
432  Move the bits to set fallback default based on the platform from
433  the main Makefile to a separate file, so that it can be included in
434  Makefiles in subdirectories.
436  Will merge to 'master'.
439 * jc/push-2.0-default-to-simple (2013-01-08) 11 commits
440   (merged to 'next' on 2013-01-09 at 74c3498)
441  + doc: push.default is no longer "matching"
442  + push: switch default from "matching" to "simple"
443  + t9401: do not assume the "matching" push is the default
444  + t9400: do not assume the "matching" push is the default
445  + t7406: do not assume the "matching" push is the default
446  + t5531: do not assume the "matching" push is the default
447  + t5519: do not assume the "matching" push is the default
448  + t5517: do not assume the "matching" push is the default
449  + t5516: do not assume the "matching" push is the default
450  + t5505: do not assume the "matching" push is the default
451  + t5404: do not assume the "matching" push is the default
453  Will cook in 'next' until Git 2.0 ;-).
456 * jk/unify-exit-code-by-receiving-signal (2013-01-06) 1 commit
457   (merged to 'next' on 2013-01-08 at 5ebf940)
458  + run-command: encode signal death as a positive integer
460  The internal logic had to deal with two representations of a death
461  of a child process by a signal.
463  Will merge to 'master'.
466 * jl/interrupt-clone-remove-separate-git-dir (2013-01-05) 1 commit
467   (merged to 'next' on 2013-01-08 at 568f874)
468  + clone: support atomic operation with --separate-git-dir
470  When "git clone --separate-git-dir" is interrupted, we failed to
471  remove the real location we created the repository.
473  Will merge to 'master'.
476 * rs/leave-base-name-in-name-field-of-tar (2013-01-05) 1 commit
477   (merged to 'next' on 2013-01-08 at 98f325e)
478  + archive-tar: split long paths more carefully
480  Improve compatibility with implementations of "tar" that do not
481  like empty name field in header (with the additional prefix field
482  holding everything).
484  Will merge to 'master'.
487 * as/api-allocation-doc (2013-01-06) 1 commit
488   (merged to 'next' on 2013-01-08 at c80b544)
489  + api-allocation-growing.txt: encourage better variable naming
491  Will merge to 'master'.
494 * jc/comment-cygwin-win32api-in-makefile (2013-01-06) 1 commit
495   (merged to 'next' on 2013-01-08 at dea04e8)
496  + Makefile: add comment on CYGWIN_V15_WIN32API
498  Will merge to 'master'.
501 * jn/xml-depends-on-asciidoc-conf (2013-01-06) 1 commit
502   (merged to 'next' on 2013-01-08 at 4faf8d4)
503  + docs: manpage XML depends on asciidoc.conf
505  Will merge to 'master'.
508 * nd/clone-no-separate-git-dir-with-bare (2013-01-06) 1 commit
509  - clone: forbid --bare --separate-git-dir <dir>
511  Expecting a reroll.
512  $gmane/212863
515 * nd/parse-pathspec (2013-01-06) 21 commits
516  - Convert more init_pathspec() to parse_pathspec()
517  - Convert add_files_to_cache to take struct pathspec
518  - Convert {read,fill}_directory to take struct pathspec
519  - Convert refresh_index to take struct pathspec
520  - Convert report_path_error to take struct pathspec
521  - checkout: convert read_tree_some to take struct pathspec
522  - Convert unmerge_cache to take struct pathspec
523  - Convert read_cache_preload() to take struct pathspec
524  - add: convert to use parse_pathspec
525  - archive: convert to use parse_pathspec
526  - ls-files: convert to use parse_pathspec
527  - rm: convert to use parse_pathspec
528  - checkout: convert to use parse_pathspec
529  - rerere: convert to use parse_pathspec
530  - status: convert to use parse_pathspec
531  - commit: convert to use parse_pathspec
532  - clean: convert to use parse_pathspec
533  - Export parse_pathspec() and convert some get_pathspec() calls
534  - pathspec: make sure the prefix part is wildcard-clean
535  - Add parse_pathspec() that converts cmdline args to struct pathspec
536  - pathspec: save the non-wildcard length part
538  Uses the parsed pathspec structure in more places where we used to
539  use the raw "array of strings" pathspec.
541  Unfortunately, this conflicts a couple of topics in flight. I tried
542  to be careful while resolving conflicts, though.
544  Expecting a reroll after the dust settles.
547 * rs/zip-tests (2013-01-07) 4 commits
548   (merged to 'next' on 2013-01-08 at 8e37423)
549  + t5003: check if unzip supports symlinks
550  + t5000, t5003: move ZIP tests into their own script
551  + t0024, t5000: use test_lazy_prereq for UNZIP
552  + t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead
554  Updates zip tests to skip some that cannot be handled on platform
555  unzip.
557  I've renamed the t5002 in the original to t5003 to avoid name
558  clashes with another topic in flight.
560  Will merge to 'master'.
563 * rs/zip-with-uncompressed-size-in-the-header (2013-01-06) 1 commit
564   (merged to 'next' on 2013-01-08 at d9ec30e)
565  + archive-zip: write uncompressed size into header even with streaming
567  Improve compatibility of our zip output to fill uncompressed size
568  in the header, which we can do without seeking back (even though it
569  should not be necessary).
571  Will merge to 'master'.
574 * tb/test-shell-lint (2013-01-02) 1 commit
575   (merged to 'next' on 2013-01-07 at 0bca54a)
576  + test: Add check-non-portable-shell.pl
578  Originally merged to 'next' on 2013-01-04
580  Check for common mistakes in the test scripts, based on simple
581  pattern-matching.
583  Will merge to 'master'.
586 * jc/doc-maintainer (2013-01-03) 2 commits
587  - howto/maintain: mark titles for asciidoc
588  - Documentation: update "howto maintain git"
590  Describe tools for automation that were invented since this
591  document was originally written.
593  Will merge to 'next'.
596 * fc/remote-testgit-feature-done (2012-10-29) 1 commit
597  - remote-testgit: properly check for errors
599  In the longer term, tightening rules is a good thing to do, and
600  because nobody who has worked in the remote helper area seems to be
601  interested in reviewing this, I would assume they do not think
602  such a retroactive tightening will affect their remote helpers.  So
603  let's advance this topic to see what happens.
605  Will merge to 'next'.
608 * mo/cvs-server-updates (2012-12-09) 18 commits
609   (merged to 'next' on 2013-01-08 at 75e2d11)
610  + t9402: Use TABs for indentation
611  + t9402: Rename check.cvsCount and check.list
612  + t9402: Simplify git ls-tree
613  + t9402: Add missing &&; Code style
614  + t9402: No space after IO-redirection
615  + t9402: Dont use test_must_fail cvs
616  + t9402: improve check_end_tree() and check_end_full_tree()
617  + t9402: sed -i is not portable
618  + cvsserver Documentation: new cvs ... -r support
619  + cvsserver: add t9402 to test branch and tag refs
620  + cvsserver: support -r and sticky tags for most operations
621  + cvsserver: Add version awareness to argsfromdir
622  + cvsserver: generalize getmeta() to recognize commit refs
623  + cvsserver: implement req_Sticky and related utilities
624  + cvsserver: add misc commit lookup, file meta data, and file listing functions
625  + cvsserver: define a tag name character escape mechanism
626  + cvsserver: cleanup extra slashes in filename arguments
627  + cvsserver: factor out git-log parsing logic
629  Various git-cvsserver updates.
631  Will cook in 'next' for a while to see if anybody screams.
634 * aw/rebase-am-failure-detection (2012-10-11) 1 commit
635   (merged to 'next' on 2013-01-07 at 9e2ee43)
636  + rebase: Handle cases where format-patch fails
638  Originally merged to 'next' on 2013-01-02
640  Save output from format-patch command in a temporary file, just in
641  case it aborts, to give a better failure-case behaviour.
643  Will merge to 'master'.
646 * ap/status-ignored-in-ignored-directory (2013-01-07) 3 commits
647  - status: always report ignored tracked directories
648   (merged to 'next' on 2013-01-07 at 2a20b19)
649  + git-status: Test --ignored behavior
650  + dir.c: Make git-status --ignored more consistent
652  Originally merged to 'next' on 2013-01-04
654  Output from "git status --ignored" showed an unexpected interaction
655  with "--untracked".
657  Will merge to 'next'.
660 * jc/maint-fmt-merge-msg-no-edit-lose-credit (2012-12-28) 1 commit
661   (merged to 'next' on 2013-01-07 at 497bf10)
662  + merge --no-edit: do not credit people involved in the side branch
664  Originally merged to 'next' on 2013-01-02
666  Stop spending cycles to compute information to be placed on
667  commented lines in "merge --no-edit".
669  Will merge to 'master'.
672 * as/check-ignore (2013-01-06) 11 commits
673  - add git-check-ignore sub-command
674  - setup.c: document get_pathspec()
675  - add.c: extract new die_if_path_beyond_symlink() for reuse
676  - add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
677  - pathspec.c: rename newly public functions for clarity
678  - add.c: move pathspec matchers into new pathspec.c for reuse
679  - add.c: remove unused argument from validate_pathspec()
680  - dir.c: improve docs for match_pathspec() and match_pathspec_depth()
681  - dir.c: provide clear_directory() for reclaiming dir_struct memory
682  - dir.c: keep track of where patterns came from
683  - dir.c: use a single struct exclude_list per source of excludes
684  (this branch uses as/dir-c-cleanup.)
686  The test it adds seems to break under dash.
687  Expecting a reroll or fixup.
690 * jc/format-patch-reroll (2013-01-03) 9 commits
691   (merged to 'next' on 2013-01-07 at 0e007e6)
692  + format-patch: give --reroll-count a short synonym -v
693  + format-patch: document and test --reroll-count
694  + format-patch: add --reroll-count=$N option
695  + get_patch_filename(): split into two functions
696  + get_patch_filename(): drop "just-numbers" hack
697  + get_patch_filename(): simplify function signature
698  + builtin/log.c: stop using global patch_suffix
699  + builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter()
700  + builtin/log.c: drop unused "numbered" parameter from make_cover_letter()
702  Originally merged to 'next' on 2013-01-04
704  Teach "format-patch" to prefix v4- to its output files for the
705  fourth iteration of a patch series, to make it easier for the
706  submitter to keep separate copies for iterations.
708  Will merge to 'master'.
711 * mz/pick-unborn (2012-12-23) 2 commits
712   (merged to 'next' on 2013-01-07 at c6c062b)
713  + learn to pick/revert into unborn branch
714  + tests: move test_cmp_rev to test-lib-functions
716  Originally merged to 'next' on 2013-01-02
718  Allows "git cherry-pick $commit" when you do not have any history
719  behind HEAD yet.
721  Will merge to 'master'.
724 * nd/retire-fnmatch (2013-01-01) 7 commits
725   (merged to 'next' on 2013-01-07 at ab31f9b)
726  + Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
727  + wildmatch: advance faster in <asterisk> + <literal> patterns
728  + wildmatch: make a special case for "*/" with FNM_PATHNAME
729  + test-wildmatch: add "perf" command to compare wildmatch and fnmatch
730  + wildmatch: support "no FNM_PATHNAME" mode
731  + wildmatch: make dowild() take arbitrary flags
732  + wildmatch: rename constants and update prototype
733  (this branch uses nd/wildmatch.)
735  Originally merged to 'next' on 2013-01-04
737  Replace our use of fnmatch(3) with a more feature-rich wildmatch.
738  A handful patches at the bottom have been moved to nd/wildmatch to
739  graduate as part of that branch, before this series solidifies.
741  Will cook in 'next' a bit longer than other topics.
744 * jc/merge-blobs (2012-12-26) 5 commits
745   (merged to 'next' on 2013-01-08 at 582ca38)
746  + merge-tree: fix d/f conflicts
747  + merge-tree: add comments to clarify what these functions are doing
748  + merge-tree: lose unused "resolve_directories"
749  + merge-tree: lose unused "flags" from merge_list
750  + Which merge_file() function do you mean?
752  Update the disused merge-tree proof-of-concept code.
754  Will merge to 'master'.
757 * mb/gitweb-highlight-link-target (2012-12-20) 1 commit
758  - Highlight the link target line in Gitweb using CSS
760  Expecting a reroll.
761  $gmane/211935
764 * zk/clean-report-failure (2013-01-06) 1 commit
765  - git-clean: Display more accurate delete messages
767  "git clean" states what it is going to remove and then goes on to
768  remove it, but sometimes it only discovers things that cannot be
769  removed after recursing into a directory, which makes the output
770  confusing and even wrong.
772  Expecting a response to $gmane/212860.
775 * mp/complete-paths (2012-12-21) 1 commit
776  - git-completion.bash: add support for path completion
778  The completion script used to let the default completer to suggest
779  pathnames, which gave too many irrelevant choices (e.g. "git add"
780  would not want to add an unmodified path).  Teach it to use a more
781  git-aware logic to enumerate only relevant ones.
783  It has been reported (no surprise) that this does not work inside
784  subdirectory, and fixing it seems to be non-trivial. $gmane/212642
786  Waiting for area-experts' help.
789 * bc/append-signed-off-by (2013-01-01) 12 commits
790  - t4014: do not use echo -n
791  - Unify appending signoff in format-patch, commit and sequencer
792  - format-patch: update append_signoff prototype
793  - format-patch: stricter S-o-b detection
794  - t4014: more tests about appending s-o-b lines
795  - sequencer.c: teach append_signoff to avoid adding a duplicate newline
796  - sequencer.c: teach append_signoff how to detect duplicate s-o-b
797  - sequencer.c: always separate "(cherry picked from" from commit body
798  - sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
799  - t/t3511: add some tests of 'cherry-pick -s' functionality
800  - t/test-lib-functions.sh: allow to specify the tag name to test_commit
801  - sequencer.c: remove broken support for rfc2822 continuation in footer
803  Expecting a reroll.
804  $gmane/212507
807 * nd/wildmatch (2013-01-01) 18 commits
808   (merged to 'next' on 2013-01-07 at 2a39f7d)
809  + wildmatch: replace variable 'special' with better named ones
810  + compat/fnmatch: respect NO_FNMATCH* even on glibc
811  + wildmatch: fix "**" special case
812  + t3070: Disable some failing fnmatch tests
813  + test-wildmatch: avoid Windows path mangling
814  + Support "**" wildcard in .gitignore and .gitattributes
815  + wildmatch: make /**/ match zero or more directories
816  + wildmatch: adjust "**" behavior
817  + wildmatch: fix case-insensitive matching
818  + wildmatch: remove static variable force_lower_case
819  + wildmatch: make wildmatch's return value compatible with fnmatch
820  + t3070: disable unreliable fnmatch tests
821  + Integrate wildmatch to git
822  + wildmatch: follow Git's coding convention
823  + wildmatch: remove unnecessary functions
824  + Import wildmatch from rsync
825  + ctype: support iscntrl, ispunct, isxdigit and isprint
826  + ctype: make sane_ctype[] const array
827  (this branch is used by nd/retire-fnmatch.)
829  Originally merged to 'next' on 2013-01-01
831  Allows pathname patterns in .gitignore and .gitattributes files
832  with double-asterisks "foo/**/bar" to match any number of directory
833  hierarchies.
835  Will merge to 'master'.