What's cooking (2013/01 #07)
[alt-git.git] / whats-cooking.txt
blob743b0ec1377a95780339c89ec8e357e186115ec2
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jan 2013, #07; Thu, 17)
4 X-master-at: eacf0117752780bf418d352a6ad2f033aeda1cce
5 X-next-at: 99bfae2c22d58cfa0db9262c774d3f61a8d0dc1a
7 What's cooking in git.git (Jan 2013, #07; Thu, 17)
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 As usual, this cycle is expected to last for 8 to 10 weeks, with a
15 preview -rc0 sometime in the middle of next month.
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 [New Topics]
25 * fc/remote-hg-fixup-url (2013-01-15) 1 commit
26   (merged to 'next' on 2013-01-15 at d2acb2d)
27  + remote-hg: store converted URL
29  Update to the Hg remote helper (in contrib/).
31  Will merge to 'master'.
34 * mh/remote-hg-mode-bits-fix (2013-01-15) 1 commit
35   (merged to 'next' on 2013-01-15 at ad57d9f)
36  + remote-hg: fix handling of file perms when pushing
38  Update to the Hg remote helper (in contrib/).
40  Will merge to 'master'.
43 * jc/valgrind-memcmp-bsearch (2013-01-14) 1 commit
44  - ignore memcmp() overreading in bsearch() callback
46  Squelch false positive in valgrind tests
48  Will discard.
51 * mh/imap-send-shrinkage (2013-01-15) 14 commits
52  - imap-send.c: simplify logic in lf_to_crlf()
53  - imap-send.c: fold struct store into struct imap_store
54  - imap-send.c: remove unused field imap_store::uidvalidity
55  - imap-send.c: use struct imap_store instead of struct store
56  - imap-send.c: remove unused field imap_store::trashnc
57  - imap-send.c: remove namespace fields from struct imap
58  - imap-send.c: remove struct imap argument to parse_imap_list_l()
59  - imap-send.c: inline parse_imap_list() in parse_list()
60  - imap-send.c: remove some unused fields from struct store
61  - imap-send.c: remove struct message
62  - imap-send.c: remove struct store_conf
63  - iamp-send.c: remove unused struct imap_store_conf
64  - imap-send.c: remove struct msg_data
65  - imap-send.c: remove msg_data::flags, which was always zero
67  Remove a lot of unused code from "git imap-send".
69  With a further comment fixup in patch #6, this seems ready for
70  'next'.
71  Expecting a reroll.
74 * nd/attr-debug-fix (2013-01-15) 1 commit
75   (merged to 'next' on 2013-01-15 at 8460acf)
76  + attr: make it build with DEBUG_ATTR again
78  Fix debugging support that was broken in earlier change.
80  Will merge to 'master'.
83 * nd/fix-directory-attrs-off-by-one (2013-01-16) 2 commits
84   (merged to 'next' on 2013-01-16 at bd63e61)
85  + attr: avoid calling find_basename() twice per path
86   (merged to 'next' on 2013-01-15 at e0a0129)
87  + attr: fix off-by-one directory component length calculation
89  Fix performance regression introduced by an earlier change to let
90  attributes apply to directories.
92  Will merge to 'master'.
95 * nd/fix-perf-parameters-in-tests (2013-01-15) 1 commit
96   (merged to 'next' on 2013-01-15 at fedbdb9)
97  + test-lib.sh: unfilter GIT_PERF_*
99  Allow GIT_PERF_* environment variables to be passed through the
100  test framework.
102  Will merge to 'master'.
105 * pw/p4-branch-fixes (2013-01-15) 14 commits
106   (merged to 'next' on 2013-01-15 at 1ee379e)
107  + git p4: fix submit when no master branch
108  + git p4 test: keep P4CLIENT changes inside subshells
109  + git p4: fix sync --branch when no master branch
110  + git p4: fail gracefully on sync with no master branch
111  + git p4: rearrange self.initialParent use
112  + git p4: allow short ref names to --branch
113  + git p4 doc: fix branch detection example
114  + git p4: clone --branch should checkout master
115  + git p4: verify expected refs in clone --bare test
116  + git p4: create p4/HEAD on initial clone
117  + git p4: inline listExistingP4GitBranches
118  + git p4: add comments to p4BranchesInGit
119  + git p4: rearrange and simplify hasOrigin handling
120  + git p4: test sync/clone --branch behavior
122  Fix "git p4" around branch handling.
124  Will merge to 'master'.
127 * ss/help-htmlpath-config-doc (2013-01-15) 1 commit
128   (merged to 'next' on 2013-01-17 at 99bfae2)
129  + config.txt: Document help.htmlpath config parameter
131  Add missing doc.
133  Will merge to 'master'.
136 * cr/push-force-tag-update (2013-01-16) 1 commit
137  - push: fix "refs/tags/ hierarchy cannot be updated without --force"
139  Regression fix.
141  Will merge to 'next' and then to 'master' soonish.
144 * jk/suppress-clang-warning (2013-01-16) 1 commit
145  - fix clang -Wunused-value warnings for error functions
147  Will merge to 'next'.
150 * rs/clarify-entry-cmp-sslice (2013-01-16) 1 commit
151  - refs: use strncmp() instead of strlen() and memcmp()
153  Will merge to 'next'.
156 * ch/add-auto-submitted-in-sample-post-receive-email (2013-01-17) 1 commit
157  - Add Auto-Submitted header to post-receive-email
159  Will merge to 'next'.
162 * jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit
163  - simplify-merges: drop merge from irrelevant side branch
165  The --simplify-merges logic did not cull irrelevant parents from a
166  merge that is otherwise not interesting with respect to the paths
167  we are following.
169  As this touches a fairly core part of the revision traversal
170  infrastructure, it is appreciated to have an extra set of eyes for
171  sanity check.
173  Waiting for comments.
176 * jk/remote-helpers-in-python-3 (2013-01-17) 8 commits
177  - git-remote-testpy: call print as a function
178  - git-remote-testpy: don't do unbuffered text I/O
179  - git-remote-testpy: hash bytes explicitly
180  - svn-fe: allow svnrdump_sim.py to run with Python 3
181  - git_remote_helpers: use 2to3 if building with Python 3
182  - git_remote_helpers: force rebuild if python version changes
183  - git_remote_helpers: fix input when running under Python 3
184  - git_remote_helpers: allow building with Python 3
186  Except for one instance of <user-generated-string>.encode('utf-8'),
187  nothing looked wrong.  People who have worked on git_remote_helpers
188  should review and Ack, though.
190  Waiting for further comments.
192 --------------------------------------------------
193 [Stalled]
195 * mp/complete-paths (2013-01-11) 1 commit
196  - git-completion.bash: add support for path completion
198  The completion script used to let the default completer to suggest
199  pathnames, which gave too many irrelevant choices (e.g. "git add"
200  would not want to add an unmodified path).  Teach it to use a more
201  git-aware logic to enumerate only relevant ones.
203  Waiting for area-experts' help and review.
206 * jl/submodule-deinit (2012-12-04) 1 commit
207  - submodule: add 'deinit' command
209  There was no Porcelain way to say "I no longer am interested in
210  this submodule", once you express your interest in a submodule with
211  "submodule init".  "submodule deinit" is the way to do so.
213  Expecting a reroll.
214  $gmane/212884
217 * jk/lua-hackery (2012-10-07) 6 commits
218  - pretty: fix up one-off format_commit_message calls
219  - Minimum compilation fixup
220  - Makefile: make "lua" a bit more configurable
221  - add a "lua" pretty format
222  - add basic lua infrastructure
223  - pretty: make some commit-parsing helpers more public
225  Interesting exercise. When we do this for real, we probably would want
226  to wrap a commit to make it more like an "object" with methods like
227  "parents", etc.
230 * rc/maint-complete-git-p4 (2012-09-24) 1 commit
231  - Teach git-completion about git p4
233  Comment from Pete will need to be addressed ($gmane/206172).
236 * jc/maint-name-rev (2012-09-17) 7 commits
237  - describe --contains: use "name-rev --algorithm=weight"
238  - name-rev --algorithm=weight: tests and documentation
239  - name-rev --algorithm=weight: cache the computed weight in notes
240  - name-rev --algorithm=weight: trivial optimization
241  - name-rev: --algorithm option
242  - name_rev: clarify the logic to assign a new tip-name to a commit
243  - name-rev: lose unnecessary typedef
245  "git name-rev" names the given revision based on a ref that can be
246  reached in the smallest number of steps from the rev, but that is
247  not useful when the caller wants to know which tag is the oldest one
248  that contains the rev.  This teaches a new mode to the command that
249  uses the oldest ref among those which contain the rev.
251  I am not sure if this is worth it; for one thing, even with the help
252  from notes-cache, it seems to make the "describe --contains" even
253  slower. Also the command will be unusably slow for a user who does
254  not have a write access (hence unable to create or update the
255  notes-cache).
257  Stalled mostly due to lack of responses.
260 * jc/xprm-generation (2012-09-14) 1 commit
261  - test-generation: compute generation numbers and clock skews
263  A toy to analyze how bad the clock skews are in histories of real
264  world projects.
266  Stalled mostly due to lack of responses.
269 * jc/add-delete-default (2012-08-13) 1 commit
270  - git add: notice removal of tracked paths by default
272  "git add dir/" updated modified files and added new files, but does
273  not notice removed files, which may be "Huh?" to some users.  They
274  can of course use "git add -A dir/", but why should they?
276  Resurrected from graveyard, as I thought it was a worthwhile thing
277  to do in the longer term.
279  Stalled mostly due to lack of responses.
282 * mb/remote-default-nn-origin (2012-07-11) 6 commits
283  - Teach get_default_remote to respect remote.default.
284  - Test that plain "git fetch" uses remote.default when on a detached HEAD.
285  - Teach clone to set remote.default.
286  - Teach "git remote" about remote.default.
287  - Teach remote.c about the remote.default configuration setting.
288  - Rename remote.c's default_remote_name static variables.
290  When the user does not specify what remote to interact with, we
291  often attempt to use 'origin'.  This can now be customized via a
292  configuration variable.
294  Expecting a reroll.
295  $gmane/210151
297  "The first remote becomes the default" bit is better done as a
298  separate step.
300 --------------------------------------------------
301 [Cooking]
303 * jc/cvsimport-upgrade (2013-01-14) 8 commits
304  - t9600: adjust for new cvsimport
305  - t9600: further prepare for sharing
306  - cvsimport-3: add a sample test
307  - cvsimport: make tests reusable for cvsimport-3
308  - cvsimport: start adding cvsps 3.x support
309  - cvsimport: introduce a version-switch wrapper
310  - cvsimport: allow setting a custom cvsps (2.x) program name
311  - Makefile: add description on PERL/PYTHON_PATH
313  The most important part of this series is the addition of the new
314  cvsimport by Eric Raymond that works with cvsps 3.x.  Given some
315  distros have inertia to be conservative, Git with cvsimport that
316  does not work with both 3.x will block adoption of cvsps 3.x by
317  them, and shipping Git with cvsimport that does not work with cvsps
318  2.x will block such a version of Git, so we'll do the proven "both
319  old and new are available, but we aim to deprecate and remove the
320  old one in due time" strategy that we used successfully in the
321  past.
323  Both folks on the Git side and Chris Rorvick (contributor to cvsps
324  3.0 and new cvsimport) seem happy with the new layout, so let's
325  wait for a few days to see how it evolves and merge it to 'next'.
327  Waiting for Eric to say something, but otherwise will merge to 'next'.
330 * as/pre-push-hook (2013-01-14) 4 commits
331  - Add sample pre-push hook script
332  - [SQUASH???] t5571 sample hooks should consume their input
333  - push: Add support for pre-push hooks
334  - hooks: Add function to check if a hook exists
336  Add an extra hook so that "git push" that is run without making
337  sure what is being pushed is sane can be checked and rejected (as
338  opposed to the user deciding not pushing).
340  Will merge to 'next' after squashing the fix in.
343 * dl/am-hg-locale (2013-01-14) 1 commit
344  - am: invoke perl's strftime in C locale
346  Datestamp recorded in "Hg" format patch was reformatted incorrectly
347  to an e-mail looking date using locale dependant strftime, causing
348  patch application to fail.
350  This is an original "everything in C locale" version; the later one
351  that uses LC_TIME may technically be more correct, so I may replace
352  this with it later ($gmane/213660).
355 * jk/config-parsing-cleanup (2013-01-14) 7 commits
356  - [DONTMERGE] reroll coming
357  - submodule: simplify memory handling in config parsing
358  - submodule: use match_config_key when parsing config
359  - userdiff: drop parse_driver function
360  - convert some config callbacks to match_config_key
361  - archive-tar: use match_config_key when parsing config
362  - config: add helper function for parsing key names
364  Expecting a reroll.
367 * mp/diff-algo-config (2013-01-16) 3 commits
368  - diff: Introduce --diff-algorithm command line option
369  - config: Introduce diff.algorithm variable
370  - git-completion.bash: Autocomplete --minimal and --histogram for git-diff
372  Add diff.algorithm configuration so that the user does not type
373  "diff --histogram".
375  Looking better; may want tests to protect it from future breakages,
376  but otherwise it looks ready for 'next'.
379 * ph/rebase-preserve-all-merges (2013-01-14) 1 commit
380   (merged to 'next' on 2013-01-15 at 3a67878)
381  + rebase --preserve-merges: keep all merge commits including empty ones
383  An earlier change to add --keep-empty option broke "git rebase
384  --preserve-merges" and lost merge commits that end up being the
385  same as its parent.
387  Will merge to 'master'.
390 * rs/archive-tar-config-parsing-fix (2013-01-14) 1 commit
391  - archive-tar: fix sanity check in config parsing
393  Configuration parsing for tar.* configuration variables were
394  broken; Peff's config parsing clean-up topic will address the same
395  breakage, so this may be superseded by that other topic.
398 * rs/pretty-use-prefixcmp (2013-01-14) 1 commit
399   (merged to 'next' on 2013-01-15 at d76452d)
400  + pretty: use prefixcmp instead of memcmp on NUL-terminated strings
402  Will merge to 'master'.
405 * rt/commit-cleanup-config (2013-01-10) 1 commit
406   (merged to 'next' on 2013-01-15 at c4742ae)
407  + commit: make default of "cleanup" option configurable
409  Add a configuration variable to set default clean-up mode other
410  than "strip".
412  Will merge to 'master'.
415 * jc/custom-comment-char (2013-01-16) 1 commit
416  - Allow custom "comment char"
418  An illustration to show codepaths that need to be touched to change
419  the hint lines in the edited text to begin with something other
420  than '#'.
422  This is half my work and half by Ralf Thielow.  There may still be
423  leftover '#' lurking around, though.  My "git grep" says C code
424  should be already fine, but git-rebase--interactive.sh could be
425  converted (it should not matter, as the file is not really a
426  free-form text).
428  I don't know how useful this will be in real life, though.
430  Waiting for bug reports and user feedback.
433 * jn/maint-trim-vim-contrib (2013-01-10) 1 commit
434   (merged to 'next' on 2013-01-15 at ad80a9d)
435  + contrib/vim: simplify instructions for old vim support
437  Will merge to 'master'.
440 * mz/reset-misc (2013-01-16) 20 commits
441   (merged to 'next' on 2013-01-16 at 937bc20)
442  + reset: update documentation to require only tree-ish with paths
443   (merged to 'next' on 2013-01-15 at a93b394)
444  + reset [--mixed]: use diff-based reset whether or not pathspec was given
445  + reset: allow reset on unborn branch
446  + reset $sha1 $pathspec: require $sha1 only to be treeish
447  + reset.c: inline update_index_refresh()
448  + reset.c: finish entire cmd_reset() whether or not pathspec is given
449  + reset [--mixed]: only write index file once
450  + reset.c: move lock, write and commit out of update_index_refresh()
451  + reset.c: move update_index_refresh() call out of read_from_tree()
452  + reset.c: replace switch by if-else
453  + reset: avoid redundant error message
454  + reset --keep: only write index file once
455  + reset.c: share call to die_if_unmerged_cache()
456  + reset.c: extract function for updating {ORIG_,}HEAD
457  + reset.c: remove unnecessary variable 'i'
458  + reset.c: extract function for parsing arguments
459  + reset: don't allow "git reset -- $pathspec" in bare repo
460  + reset.c: pass pathspec around instead of (prefix, argv) pair
461  + reset $pathspec: exit with code 0 if successful
462  + reset $pathspec: no need to discard index
464  Various 'reset' optimizations and clean-ups, followed by a change
465  to allow "git reset" to work even on an unborn branch.
467  Will merge to 'master'.
470 * pe/doc-email-env-is-trumped-by-config (2013-01-10) 1 commit
471   (merged to 'next' on 2013-01-14 at 6b4d555)
472  + git-commit-tree(1): correct description of defaults
474  In the precedence order, the environment variable $EMAIL comes
475  between the built-in default (i.e. taking value by asking the
476  system's gethostname() etc.) and the user.email configuration
477  variable; the documentation implied that it is stronger than the
478  configuration like $GIT_COMMITTER_EMAIL is, which is wrong.
480  Will merge to 'master'.
483 * ds/completion-silence-in-tree-path-probe (2013-01-11) 1 commit
484   (merged to 'next' on 2013-01-15 at 7542d21)
485  + git-completion.bash: silence "not a valid object" errors
487  An internal ls-tree call made by completion code only to probe if
488  a path exists in the tree recorded in a commit object leaked error
489  messages when the path is not there.  It is not an error at all and
490  should not be shown to the end user.
492  Will merge to 'master'.
495 * nd/fetch-depth-is-broken (2013-01-11) 3 commits
496   (merged to 'next' on 2013-01-15 at 70a5ca7)
497  + fetch: elaborate --depth action
498  + upload-pack: fix off-by-one depth calculation in shallow clone
499  + fetch: add --unshallow for turning shallow repo into complete one
501  "git fetch --depth" was broken in at least three ways.  The
502  resulting history was deeper than specified by one commit, it was
503  unclear how to wipe the shallowness of the repository with the
504  command, and documentation was misleading.
506  Will cook in 'next'.
509 * jc/no-git-config-in-clone (2013-01-11) 1 commit
510   (merged to 'next' on 2013-01-15 at feeffe1)
511  + clone: do not export and unexport GIT_CONFIG
513  We stopped paying attention to $GIT_CONFIG environment that points
514  at a single configuration file from any command other than "git config"
515  quite a while ago, but "git clone" internally set, exported, and
516  then unexported the variable during its operation unnecessarily.
518  Will cook in 'next'.
521 * mk/complete-tcsh (2013-01-07) 1 commit
522   (merged to 'next' on 2013-01-11 at b8b30b1)
523  + Prevent space after directories in tcsh completion
525  Update tcsh command line completion so that an unwanted space is
526  not added to a single directory name.
528  Will merge to 'master'.
531 * dg/subtree-fixes (2013-01-08) 7 commits
532  - contrib/subtree: mkdir the manual directory if needed
533  - contrib/subtree: honor $(DESTDIR)
534  - contrib/subtree: fix synopsis and command help
535  - contrib/subtree: better error handling for "add"
536  - contrib/subtree: add --unannotate option
537  - contrib/subtree: use %B for split Subject/Body
538  - t7900: remove test number comments
540  contrib/subtree updates; there are a few more from T. Zheng that
541  were posted separately, with an overlap.
543  Expecting a reroll.
546 * ap/log-mailmap (2013-01-10) 11 commits
547   (merged to 'next' on 2013-01-10 at 8544084)
548  + log --use-mailmap: optimize for cases without --author/--committer search
549  + log: add log.mailmap configuration option
550  + log: grep author/committer using mailmap
551  + test: add test for --use-mailmap option
552  + log: add --use-mailmap option
553  + pretty: use mailmap to display username and email
554  + mailmap: add mailmap structure to rev_info and pp
555  + mailmap: simplify map_user() interface
556  + mailmap: remove email copy and length limitation
557  + Use split_ident_line to parse author and committer
558  + string-list: allow case-insensitive string list
560  Teach commands in the "log" family to optionally pay attention to
561  the mailmap.
563  Will merge to 'master'.
566 * jc/push-2.0-default-to-simple (2013-01-16) 14 commits
567   (merged to 'next' on 2013-01-16 at 23f5df2)
568  + t5570: do not assume the "matching" push is the default
569  + t5551: do not assume the "matching" push is the default
570  + t5550: do not assume the "matching" push is the default
571   (merged to 'next' on 2013-01-09 at 74c3498)
572  + doc: push.default is no longer "matching"
573  + push: switch default from "matching" to "simple"
574  + t9401: do not assume the "matching" push is the default
575  + t9400: do not assume the "matching" push is the default
576  + t7406: do not assume the "matching" push is the default
577  + t5531: do not assume the "matching" push is the default
578  + t5519: do not assume the "matching" push is the default
579  + t5517: do not assume the "matching" push is the default
580  + t5516: do not assume the "matching" push is the default
581  + t5505: do not assume the "matching" push is the default
582  + t5404: do not assume the "matching" push is the default
584  Will cook in 'next' until Git 2.0 ;-).
587 * nd/clone-no-separate-git-dir-with-bare (2013-01-10) 1 commit
588   (merged to 'next' on 2013-01-15 at 64f441a)
589  + clone: forbid --bare --separate-git-dir <dir>
591  Forbid a useless combination of options to "git clone".
593  Will merge to 'master'.
596 * nd/parse-pathspec (2013-01-11) 20 commits
597  . Convert more init_pathspec() to parse_pathspec()
598  . Convert add_files_to_cache to take struct pathspec
599  . Convert {read,fill}_directory to take struct pathspec
600  . Convert refresh_index to take struct pathspec
601  . Convert report_path_error to take struct pathspec
602  . checkout: convert read_tree_some to take struct pathspec
603  . Convert unmerge_cache to take struct pathspec
604  . Convert read_cache_preload() to take struct pathspec
605  . add: convert to use parse_pathspec
606  . archive: convert to use parse_pathspec
607  . ls-files: convert to use parse_pathspec
608  . rm: convert to use parse_pathspec
609  . checkout: convert to use parse_pathspec
610  . rerere: convert to use parse_pathspec
611  . status: convert to use parse_pathspec
612  . commit: convert to use parse_pathspec
613  . clean: convert to use parse_pathspec
614  . Export parse_pathspec() and convert some get_pathspec() calls
615  . Add parse_pathspec() that converts cmdline args to struct pathspec
616  . pathspec: save the non-wildcard length part
618  Uses the parsed pathspec structure in more places where we used to
619  use the raw "array of strings" pathspec.
621  Ejected from 'pu' for now; will take a look at the rerolled one
622  later ($gmane/213340).
625 * jc/doc-maintainer (2013-01-03) 2 commits
626   (merged to 'next' on 2013-01-11 at f35d582)
627  + howto/maintain: mark titles for asciidoc
628  + Documentation: update "howto maintain git"
630  Describe tools for automation that were invented since this
631  document was originally written.
634 * mo/cvs-server-updates (2012-12-09) 18 commits
635   (merged to 'next' on 2013-01-08 at 75e2d11)
636  + t9402: Use TABs for indentation
637  + t9402: Rename check.cvsCount and check.list
638  + t9402: Simplify git ls-tree
639  + t9402: Add missing &&; Code style
640  + t9402: No space after IO-redirection
641  + t9402: Dont use test_must_fail cvs
642  + t9402: improve check_end_tree() and check_end_full_tree()
643  + t9402: sed -i is not portable
644  + cvsserver Documentation: new cvs ... -r support
645  + cvsserver: add t9402 to test branch and tag refs
646  + cvsserver: support -r and sticky tags for most operations
647  + cvsserver: Add version awareness to argsfromdir
648  + cvsserver: generalize getmeta() to recognize commit refs
649  + cvsserver: implement req_Sticky and related utilities
650  + cvsserver: add misc commit lookup, file meta data, and file listing functions
651  + cvsserver: define a tag name character escape mechanism
652  + cvsserver: cleanup extra slashes in filename arguments
653  + cvsserver: factor out git-log parsing logic
655  Various git-cvsserver updates.
657  Will cook in 'next' for a while to see if anybody screams.
660 * as/check-ignore (2013-01-16) 13 commits
661  - clean.c, ls-files.c: respect encapsulation of exclude_list_groups
662   (merged to 'next' on 2013-01-14 at 9df2afc)
663  + t0008: avoid brace expansion
664  + add git-check-ignore sub-command
665  + setup.c: document get_pathspec()
666  + add.c: extract new die_if_path_beyond_symlink() for reuse
667  + add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
668  + pathspec.c: rename newly public functions for clarity
669  + add.c: move pathspec matchers into new pathspec.c for reuse
670  + add.c: remove unused argument from validate_pathspec()
671  + dir.c: improve docs for match_pathspec() and match_pathspec_depth()
672  + dir.c: provide clear_directory() for reclaiming dir_struct memory
673  + dir.c: keep track of where patterns came from
674  + dir.c: use a single struct exclude_list per source of excludes
676  Add a new command "git check-ignore" for debugging .gitignore
677  files.
679  The variable names may want to get cleaned up but that can be done
680  in-tree.
682  Will merge to 'next'.
685 * nd/retire-fnmatch (2013-01-01) 7 commits
686   (merged to 'next' on 2013-01-07 at ab31f9b)
687  + Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
688  + wildmatch: advance faster in <asterisk> + <literal> patterns
689  + wildmatch: make a special case for "*/" with FNM_PATHNAME
690  + test-wildmatch: add "perf" command to compare wildmatch and fnmatch
691  + wildmatch: support "no FNM_PATHNAME" mode
692  + wildmatch: make dowild() take arbitrary flags
693  + wildmatch: rename constants and update prototype
695  Originally merged to 'next' on 2013-01-04
697  Replace our use of fnmatch(3) with a more feature-rich wildmatch.
698  A handful patches at the bottom have been moved to nd/wildmatch to
699  graduate as part of that branch, before this series solidifies.
701  Will cook in 'next' a bit longer than other topics.
704 * mb/gitweb-highlight-link-target (2012-12-20) 1 commit
705  - Highlight the link target line in Gitweb using CSS
707  Expecting a reroll.
708  $gmane/211935
711 * zk/clean-report-failure (2013-01-14) 1 commit
712   (merged to 'next' on 2013-01-15 at 5b31614)
713  + git-clean: Display more accurate delete messages
715  "git clean" states what it is going to remove and then goes on to
716  remove it, but sometimes it only discovers things that cannot be
717  removed after recursing into a directory, which makes the output
718  confusing and even wrong.
720  Will merge to 'master'.
723 * bc/append-signed-off-by (2013-01-01) 12 commits
724  - t4014: do not use echo -n
725  - Unify appending signoff in format-patch, commit and sequencer
726  - format-patch: update append_signoff prototype
727  - format-patch: stricter S-o-b detection
728  - t4014: more tests about appending s-o-b lines
729  - sequencer.c: teach append_signoff to avoid adding a duplicate newline
730  - sequencer.c: teach append_signoff how to detect duplicate s-o-b
731  - sequencer.c: always separate "(cherry picked from" from commit body
732  - sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
733  - t/t3511: add some tests of 'cherry-pick -s' functionality
734  - t/test-lib-functions.sh: allow to specify the tag name to test_commit
735  - sequencer.c: remove broken support for rfc2822 continuation in footer
737  Expecting a reroll.
738  $gmane/212507
740 --------------------------------------------------
741 [Discarded]
743 * er/replace-cvsimport (2013-01-12) 7 commits
744  . t/lib-cvs: cvsimport no longer works without Python >= 2.7
745  . t9605: test for cvsps commit ordering bug
746  . t9604: fixup for new cvsimport
747  . t9600: fixup for new cvsimport
748  . t/lib-cvs.sh: allow cvsps version 3.x.
749  . t/t960[123]: remove leftover scripts
750  . cvsimport: rewrite to use cvsps 3.x to fix major bugs
752  Rerolled as jc/cvsimport-upgrade.