Meta/cook: hack to allow "Meta/cook -w HEAD~$n" to work
[git/jrn.git] / whats-cooking.txt
bloba9a5b1dbb0a0df7927a981d6352456c0092d5d85
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jan 2013, #08; Tue, 22)
4 X-master-at: 9591fcc6d66fd213c8c9f73553b7684b73daf4cb
5 X-next-at: 9bc26b8f63ccfb0316023621731bc14191a8b436
7 What's cooking in git.git (Jan 2013, #08; Tue, 22)
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 * bc/fix-array-syntax-for-3.0-in-completion-bash (2013-01-18) 1 commit
26  - git-completion.bash: replace zsh notation that breaks bash 3.X
28  Fix use of an array notation that older versions of bash do not
29  understand.
31  Will merge to 'next'.
34 * jc/help (2013-01-18) 1 commit
35  - help: include <common-cmds.h> only in one file
37  A header file that has the definition of a static array was
38  included in two places, wasting the space.
40  Will merge to 'next'.
43 * jc/hidden-refs (2013-01-18) 2 commits
44  - upload-pack: allow hiding ref hiearchies
45  - upload-pack: share more code
47  Allow the server side to unclutter the refs/ namespace it shows by
48  default, while still allowing requests for histories leading to the
49  tips of hidden refs by updated clients (which are not written yet).
52 * jk/update-install-for-p4 (2013-01-20) 1 commit
53  - INSTALL: git-p4 doesn't support Python 3
55  Will merge to 'next'.
58 * tb/t0050-maint (2013-01-21) 3 commits
59  - t0050: Use TAB for indentation
60  - t0050: honor CASE_INSENSITIVE_FS in add (with different case)
61  - t0050: known breakage vanished in merge (case change)
63  Will merge to 'next'.
66 * nd/magic-pathspec-from-root (2013-01-21) 2 commits
67  - grep: avoid accepting ambiguous revision
68  - Update :/abc ambiguity check
70  Will merge to 'next'.
73 * ta/doc-no-small-caps (2013-01-21) 7 commits
74  - Add rule for when to use 'git' and when to use 'Git'
75  - Change 'git' to 'Git' whenever the whole system is referred to #4
76  - Change 'git' to 'Git' whenever the whole system is referred to #3
77  - Change 'git' to 'Git' whenever the whole system is referred to #2
78  - Change 'git' to 'Git' whenever the whole system is referred to #1
79  - Documentation: update two leftover small caps
80  - Documentation: avoid poor-man's small caps
82  Update documentation to change "GIT" which was a poor-man's small
83  caps to "Git" which was the intended spelling.  Also change "git"
84  spelled in all-lowercase to "Git" when it refers to the system as
85  the whole or the concept it embodies, as opposed to the command the
86  end users would type.
89 * rr/minimal-stat (2013-01-22) 1 commit
90  - Enable minimal stat checking
92  Some reimplementations of Git does not write all the stat info back
93  to the index due to their implementation limitations (e.g. jgit
94  running on Java).  A configuration option can tell Git to ignore
95  changes to most of the stat fields and only pay attention to mtime
96  and size, which these implementations can reliably update.  This
97  avoids excessive revalidation of contents.
99  Will merge to 'next'.
101 --------------------------------------------------
102 [Graduated to "master"]
104 * ap/log-mailmap (2013-01-10) 11 commits
105   (merged to 'next' on 2013-01-10 at 8544084)
106  + log --use-mailmap: optimize for cases without --author/--committer search
107  + log: add log.mailmap configuration option
108  + log: grep author/committer using mailmap
109  + test: add test for --use-mailmap option
110  + log: add --use-mailmap option
111  + pretty: use mailmap to display username and email
112  + mailmap: add mailmap structure to rev_info and pp
113  + mailmap: simplify map_user() interface
114  + mailmap: remove email copy and length limitation
115  + Use split_ident_line to parse author and committer
116  + string-list: allow case-insensitive string list
118  Teach commands in the "log" family to optionally pay attention to
119  the mailmap.
122 * ds/completion-silence-in-tree-path-probe (2013-01-11) 1 commit
123   (merged to 'next' on 2013-01-15 at 7542d21)
124  + git-completion.bash: silence "not a valid object" errors
126  An internal ls-tree call made by completion code only to probe if
127  a path exists in the tree recorded in a commit object leaked error
128  messages when the path is not there.  It is not an error at all and
129  should not be shown to the end user.
132 * fc/remote-hg-fixup-url (2013-01-15) 1 commit
133   (merged to 'next' on 2013-01-15 at d2acb2d)
134  + remote-hg: store converted URL
136  Update to the Hg remote helper (in contrib/).
139 * jn/maint-trim-vim-contrib (2013-01-10) 1 commit
140   (merged to 'next' on 2013-01-15 at ad80a9d)
141  + contrib/vim: simplify instructions for old vim support
143  Remove stale insn to support older versions of vim and point users
144  to the upstream resources.
147 * mh/remote-hg-mode-bits-fix (2013-01-15) 1 commit
148   (merged to 'next' on 2013-01-15 at ad57d9f)
149  + remote-hg: fix handling of file perms when pushing
151  Update to the Hg remote helper (in contrib/).
154 * mk/complete-tcsh (2013-01-07) 1 commit
155   (merged to 'next' on 2013-01-11 at b8b30b1)
156  + Prevent space after directories in tcsh completion
158  Update tcsh command line completion so that an unwanted space is
159  not added to a single directory name.
162 * mz/reset-misc (2013-01-16) 20 commits
163   (merged to 'next' on 2013-01-16 at 937bc20)
164  + reset: update documentation to require only tree-ish with paths
165   (merged to 'next' on 2013-01-15 at a93b394)
166  + reset [--mixed]: use diff-based reset whether or not pathspec was given
167  + reset: allow reset on unborn branch
168  + reset $sha1 $pathspec: require $sha1 only to be treeish
169  + reset.c: inline update_index_refresh()
170  + reset.c: finish entire cmd_reset() whether or not pathspec is given
171  + reset [--mixed]: only write index file once
172  + reset.c: move lock, write and commit out of update_index_refresh()
173  + reset.c: move update_index_refresh() call out of read_from_tree()
174  + reset.c: replace switch by if-else
175  + reset: avoid redundant error message
176  + reset --keep: only write index file once
177  + reset.c: share call to die_if_unmerged_cache()
178  + reset.c: extract function for updating {ORIG_,}HEAD
179  + reset.c: remove unnecessary variable 'i'
180  + reset.c: extract function for parsing arguments
181  + reset: don't allow "git reset -- $pathspec" in bare repo
182  + reset.c: pass pathspec around instead of (prefix, argv) pair
183  + reset $pathspec: exit with code 0 if successful
184  + reset $pathspec: no need to discard index
186  Various 'reset' optimizations and clean-ups, followed by a change
187  to allow "git reset" to work even on an unborn branch.
190 * nd/attr-debug-fix (2013-01-15) 1 commit
191   (merged to 'next' on 2013-01-15 at 8460acf)
192  + attr: make it build with DEBUG_ATTR again
194  Fix debugging support that was broken in earlier change.
197 * nd/clone-no-separate-git-dir-with-bare (2013-01-10) 1 commit
198   (merged to 'next' on 2013-01-15 at 64f441a)
199  + clone: forbid --bare --separate-git-dir <dir>
201  Forbid a useless combination of options to "git clone".
204 * nd/fix-directory-attrs-off-by-one (2013-01-16) 2 commits
205   (merged to 'next' on 2013-01-16 at bd63e61)
206  + attr: avoid calling find_basename() twice per path
207   (merged to 'next' on 2013-01-15 at e0a0129)
208  + attr: fix off-by-one directory component length calculation
210  Fix performance regression introduced by an earlier change to let
211  attributes apply to directories.
214 * nd/fix-perf-parameters-in-tests (2013-01-15) 1 commit
215   (merged to 'next' on 2013-01-15 at fedbdb9)
216  + test-lib.sh: unfilter GIT_PERF_*
218  Allow GIT_PERF_* environment variables to be passed through the
219  test framework.
222 * pe/doc-email-env-is-trumped-by-config (2013-01-10) 1 commit
223   (merged to 'next' on 2013-01-14 at 6b4d555)
224  + git-commit-tree(1): correct description of defaults
226  In the precedence order, the environment variable $EMAIL comes
227  between the built-in default (i.e. taking value by asking the
228  system's gethostname() etc.) and the user.email configuration
229  variable; the documentation implied that it is stronger than the
230  configuration like $GIT_COMMITTER_EMAIL is, which is wrong.
233 * ph/rebase-preserve-all-merges (2013-01-14) 1 commit
234   (merged to 'next' on 2013-01-15 at 3a67878)
235  + rebase --preserve-merges: keep all merge commits including empty ones
237  An earlier change to add --keep-empty option broke "git rebase
238  --preserve-merges" and lost merge commits that end up being the
239  same as its parent.
242 * pw/p4-branch-fixes (2013-01-15) 14 commits
243   (merged to 'next' on 2013-01-15 at 1ee379e)
244  + git p4: fix submit when no master branch
245  + git p4 test: keep P4CLIENT changes inside subshells
246  + git p4: fix sync --branch when no master branch
247  + git p4: fail gracefully on sync with no master branch
248  + git p4: rearrange self.initialParent use
249  + git p4: allow short ref names to --branch
250  + git p4 doc: fix branch detection example
251  + git p4: clone --branch should checkout master
252  + git p4: verify expected refs in clone --bare test
253  + git p4: create p4/HEAD on initial clone
254  + git p4: inline listExistingP4GitBranches
255  + git p4: add comments to p4BranchesInGit
256  + git p4: rearrange and simplify hasOrigin handling
257  + git p4: test sync/clone --branch behavior
259  Fix "git p4" around branch handling.
262 * rs/pretty-use-prefixcmp (2013-01-14) 1 commit
263   (merged to 'next' on 2013-01-15 at d76452d)
264  + pretty: use prefixcmp instead of memcmp on NUL-terminated strings
267 * rt/commit-cleanup-config (2013-01-10) 1 commit
268   (merged to 'next' on 2013-01-15 at c4742ae)
269  + commit: make default of "cleanup" option configurable
271  Add a configuration variable to set default clean-up mode other
272  than "strip".
275 * ss/help-htmlpath-config-doc (2013-01-15) 1 commit
276   (merged to 'next' on 2013-01-17 at 99bfae2)
277  + config.txt: Document help.htmlpath config parameter
279  Add missing doc.
282 * zk/clean-report-failure (2013-01-14) 1 commit
283   (merged to 'next' on 2013-01-15 at 5b31614)
284  + git-clean: Display more accurate delete messages
286  "git clean" states what it is going to remove and then goes on to
287  remove it, but sometimes it only discovers things that cannot be
288  removed after recursing into a directory, which makes the output
289  confusing and even wrong.
291 --------------------------------------------------
292 [Stalled]
294 * mp/complete-paths (2013-01-11) 1 commit
295  - git-completion.bash: add support for path completion
297  The completion script used to let the default completer to suggest
298  pathnames, which gave too many irrelevant choices (e.g. "git add"
299  would not want to add an unmodified path).  Teach it to use a more
300  git-aware logic to enumerate only relevant ones.
302  Waiting for area-experts' help and review.
305 * jl/submodule-deinit (2012-12-04) 1 commit
306  - submodule: add 'deinit' command
308  There was no Porcelain way to say "I no longer am interested in
309  this submodule", once you express your interest in a submodule with
310  "submodule init".  "submodule deinit" is the way to do so.
312  Expecting a reroll.
313  $gmane/212884
316 * jk/lua-hackery (2012-10-07) 6 commits
317  - pretty: fix up one-off format_commit_message calls
318  - Minimum compilation fixup
319  - Makefile: make "lua" a bit more configurable
320  - add a "lua" pretty format
321  - add basic lua infrastructure
322  - pretty: make some commit-parsing helpers more public
324  Interesting exercise. When we do this for real, we probably would want
325  to wrap a commit to make it more like an "object" with methods like
326  "parents", etc.
329 * rc/maint-complete-git-p4 (2012-09-24) 1 commit
330  - Teach git-completion about git p4
332  Comment from Pete will need to be addressed ($gmane/206172).
335 * jc/maint-name-rev (2012-09-17) 7 commits
336  - describe --contains: use "name-rev --algorithm=weight"
337  - name-rev --algorithm=weight: tests and documentation
338  - name-rev --algorithm=weight: cache the computed weight in notes
339  - name-rev --algorithm=weight: trivial optimization
340  - name-rev: --algorithm option
341  - name_rev: clarify the logic to assign a new tip-name to a commit
342  - name-rev: lose unnecessary typedef
344  "git name-rev" names the given revision based on a ref that can be
345  reached in the smallest number of steps from the rev, but that is
346  not useful when the caller wants to know which tag is the oldest one
347  that contains the rev.  This teaches a new mode to the command that
348  uses the oldest ref among those which contain the rev.
350  I am not sure if this is worth it; for one thing, even with the help
351  from notes-cache, it seems to make the "describe --contains" even
352  slower. Also the command will be unusably slow for a user who does
353  not have a write access (hence unable to create or update the
354  notes-cache).
356  Stalled mostly due to lack of responses.
359 * jc/xprm-generation (2012-09-14) 1 commit
360  - test-generation: compute generation numbers and clock skews
362  A toy to analyze how bad the clock skews are in histories of real
363  world projects.
365  Stalled mostly due to lack of responses.
368 * jc/add-delete-default (2012-08-13) 1 commit
369  - git add: notice removal of tracked paths by default
371  "git add dir/" updated modified files and added new files, but does
372  not notice removed files, which may be "Huh?" to some users.  They
373  can of course use "git add -A dir/", but why should they?
375  Resurrected from graveyard, as I thought it was a worthwhile thing
376  to do in the longer term.
378  Stalled mostly due to lack of responses.
381 * mb/remote-default-nn-origin (2012-07-11) 6 commits
382  - Teach get_default_remote to respect remote.default.
383  - Test that plain "git fetch" uses remote.default when on a detached HEAD.
384  - Teach clone to set remote.default.
385  - Teach "git remote" about remote.default.
386  - Teach remote.c about the remote.default configuration setting.
387  - Rename remote.c's default_remote_name static variables.
389  When the user does not specify what remote to interact with, we
390  often attempt to use 'origin'.  This can now be customized via a
391  configuration variable.
393  Expecting a reroll.
394  $gmane/210151
396  "The first remote becomes the default" bit is better done as a
397  separate step.
399 --------------------------------------------------
400 [Cooking]
402 * mh/imap-send-shrinkage (2013-01-15) 14 commits
403   (merged to 'next' on 2013-01-18 at 1b7c5ba)
404  + imap-send.c: simplify logic in lf_to_crlf()
405  + imap-send.c: fold struct store into struct imap_store
406  + imap-send.c: remove unused field imap_store::uidvalidity
407  + imap-send.c: use struct imap_store instead of struct store
408  + imap-send.c: remove unused field imap_store::trashnc
409  + imap-send.c: remove namespace fields from struct imap
410  + imap-send.c: remove struct imap argument to parse_imap_list_l()
411  + imap-send.c: inline parse_imap_list() in parse_list()
412  + imap-send.c: remove some unused fields from struct store
413  + imap-send.c: remove struct message
414  + imap-send.c: remove struct store_conf
415  + iamp-send.c: remove unused struct imap_store_conf
416  + imap-send.c: remove struct msg_data
417  + imap-send.c: remove msg_data::flags, which was always zero
419  Remove a lot of unused code from "git imap-send".
421  Will merge to 'master'.
424 * cr/push-force-tag-update (2013-01-21) 4 commits
425  - push: further simplify the logic to assign rejection status
426  - push: introduce REJECT_FETCH_FIRST and REJECT_NEEDS_FORCE
427  - push: further clean up fields of "struct ref"
428   (merged to 'next' on 2013-01-18 at c9091d5)
429  + push: fix "refs/tags/ hierarchy cannot be updated without --force"
431  Regression fix (the bottom one), and error/advice message
432  improvements (the rest).
434  Will merge to 'master' the bottom one soonish.
435  The remainder can cook in 'next' like any other topic.
438 * jk/suppress-clang-warning (2013-01-16) 1 commit
439   (merged to 'next' on 2013-01-18 at 7c0bda7)
440  + fix clang -Wunused-value warnings for error functions
442  Will merge to 'master'.
445 * rs/clarify-entry-cmp-sslice (2013-01-16) 1 commit
446   (merged to 'next' on 2013-01-18 at d584dc6)
447  + refs: use strncmp() instead of strlen() and memcmp()
449  Will merge to 'master'.
452 * ch/add-auto-submitted-in-sample-post-receive-email (2013-01-17) 1 commit
453   (merged to 'next' on 2013-01-18 at e3205db)
454  + Add Auto-Submitted header to post-receive-email
456  Will merge to 'master'.
459 * jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit
460  - simplify-merges: drop merge from irrelevant side branch
462  The --simplify-merges logic did not cull irrelevant parents from a
463  merge that is otherwise not interesting with respect to the paths
464  we are following.
466  As this touches a fairly core part of the revision traversal
467  infrastructure, it is appreciated to have an extra set of eyes for
468  sanity check.
470  Waiting for comments.
473 * jk/remote-helpers-in-python-3 (2013-01-20) 8 commits
474  - git-remote-testpy: call print as a function
475  - git-remote-testpy: don't do unbuffered text I/O
476  - git-remote-testpy: hash bytes explicitly
477  - svn-fe: allow svnrdump_sim.py to run with Python 3
478  - git_remote_helpers: use 2to3 if building with Python 3
479  - git_remote_helpers: force rebuild if python version changes
480  - git_remote_helpers: fix input when running under Python 3
481  - git_remote_helpers: allow building with Python 3
483  Prepare remote-helper test written in Python to be run with Python3.
485  Will merge to 'next'.
488 * jc/cvsimport-upgrade (2013-01-14) 8 commits
489  - t9600: adjust for new cvsimport
490  - t9600: further prepare for sharing
491  - cvsimport-3: add a sample test
492  - cvsimport: make tests reusable for cvsimport-3
493  - cvsimport: start adding cvsps 3.x support
494  - cvsimport: introduce a version-switch wrapper
495  - cvsimport: allow setting a custom cvsps (2.x) program name
496  - Makefile: add description on PERL/PYTHON_PATH
498  The most important part of this series is the addition of the new
499  cvsimport by Eric Raymond that works with cvsps 3.x.  Given some
500  distros have inertia to be conservative, Git with cvsimport that
501  does not work with both 3.x will block adoption of cvsps 3.x by
502  them, and shipping Git with cvsimport that does not work with cvsps
503  2.x will block such a version of Git, so we'll do the proven "both
504  old and new are available, but we aim to deprecate and remove the
505  old one in due time" strategy that we used successfully in the
506  past.
508  Will merge to 'next'.
511 * as/pre-push-hook (2013-01-18) 3 commits
512   (merged to 'next' on 2013-01-18 at 37fc4e8)
513  + Add sample pre-push hook script
514  + push: Add support for pre-push hooks
515  + hooks: Add function to check if a hook exists
517  Add an extra hook so that "git push" that is run without making
518  sure what is being pushed is sane can be checked and rejected (as
519  opposed to the user deciding not pushing).
521  Will merge to 'master'.
524 * dl/am-hg-locale (2013-01-18) 1 commit
525  - am: invoke perl's strftime in C locale
527  Datestamp recorded in "Hg" format patch was reformatted incorrectly
528  to an e-mail looking date using locale dependant strftime, causing
529  patch application to fail.
531  Will merge to 'next'.
534 * jk/config-parsing-cleanup (2013-01-14) 7 commits
535  - [DONTMERGE] reroll coming
536  - submodule: simplify memory handling in config parsing
537  - submodule: use match_config_key when parsing config
538  - userdiff: drop parse_driver function
539  - convert some config callbacks to match_config_key
540  - archive-tar: use match_config_key when parsing config
541  - config: add helper function for parsing key names
543  Expecting a reroll.
546 * mp/diff-algo-config (2013-01-16) 3 commits
547  - diff: Introduce --diff-algorithm command line option
548  - config: Introduce diff.algorithm variable
549  - git-completion.bash: Autocomplete --minimal and --histogram for git-diff
551  Add diff.algorithm configuration so that the user does not type
552  "diff --histogram".
554  Looking better; may want tests to protect it from future breakages,
555  but otherwise it looks ready for 'next'.
557  Waiting for a follow-up to add tests.
560 * rs/archive-tar-config-parsing-fix (2013-01-14) 1 commit
561  - archive-tar: fix sanity check in config parsing
563  Configuration parsing for tar.* configuration variables were
564  broken; Peff's config parsing clean-up topic will address the same
565  breakage, so this may be superseded by that other topic.
567  Waiting for the other topic to make this unneeded.
570 * jc/custom-comment-char (2013-01-16) 1 commit
571  - Allow custom "comment char"
573  An illustration to show codepaths that need to be touched to change
574  the hint lines in the edited text to begin with something other
575  than '#'.
577  This is half my work and half by Ralf Thielow.  There may still be
578  leftover '#' lurking around, though.  My "git grep" says C code
579  should be already fine, but git-rebase--interactive.sh could be
580  converted (it should not matter, as the file is not really a
581  free-form text).
583  I don't know how useful this will be in real life, though.
585  Will merge to 'next'.
588 * nd/fetch-depth-is-broken (2013-01-11) 3 commits
589   (merged to 'next' on 2013-01-15 at 70a5ca7)
590  + fetch: elaborate --depth action
591  + upload-pack: fix off-by-one depth calculation in shallow clone
592  + fetch: add --unshallow for turning shallow repo into complete one
594  "git fetch --depth" was broken in at least three ways.  The
595  resulting history was deeper than specified by one commit, it was
596  unclear how to wipe the shallowness of the repository with the
597  command, and documentation was misleading.
599  Will cook in 'next'.
602 * jc/no-git-config-in-clone (2013-01-11) 1 commit
603   (merged to 'next' on 2013-01-15 at feeffe1)
604  + clone: do not export and unexport GIT_CONFIG
606  We stopped paying attention to $GIT_CONFIG environment that points
607  at a single configuration file from any command other than "git config"
608  quite a while ago, but "git clone" internally set, exported, and
609  then unexported the variable during its operation unnecessarily.
611  Will cook in 'next'.
614 * dg/subtree-fixes (2013-01-08) 7 commits
615  - contrib/subtree: mkdir the manual directory if needed
616  - contrib/subtree: honor $(DESTDIR)
617  - contrib/subtree: fix synopsis and command help
618  - contrib/subtree: better error handling for "add"
619  - contrib/subtree: add --unannotate option
620  - contrib/subtree: use %B for split Subject/Body
621  - t7900: remove test number comments
623  contrib/subtree updates; there are a few more from T. Zheng that
624  were posted separately, with an overlap.
626  Expecting a reroll.
629 * jc/push-2.0-default-to-simple (2013-01-16) 14 commits
630   (merged to 'next' on 2013-01-16 at 23f5df2)
631  + t5570: do not assume the "matching" push is the default
632  + t5551: do not assume the "matching" push is the default
633  + t5550: do not assume the "matching" push is the default
634   (merged to 'next' on 2013-01-09 at 74c3498)
635  + doc: push.default is no longer "matching"
636  + push: switch default from "matching" to "simple"
637  + t9401: do not assume the "matching" push is the default
638  + t9400: do not assume the "matching" push is the default
639  + t7406: do not assume the "matching" push is the default
640  + t5531: do not assume the "matching" push is the default
641  + t5519: do not assume the "matching" push is the default
642  + t5517: do not assume the "matching" push is the default
643  + t5516: do not assume the "matching" push is the default
644  + t5505: do not assume the "matching" push is the default
645  + t5404: do not assume the "matching" push is the default
647  Will cook in 'next' until Git 2.0 ;-).
650 * nd/parse-pathspec (2013-01-11) 20 commits
651  . Convert more init_pathspec() to parse_pathspec()
652  . Convert add_files_to_cache to take struct pathspec
653  . Convert {read,fill}_directory to take struct pathspec
654  . Convert refresh_index to take struct pathspec
655  . Convert report_path_error to take struct pathspec
656  . checkout: convert read_tree_some to take struct pathspec
657  . Convert unmerge_cache to take struct pathspec
658  . Convert read_cache_preload() to take struct pathspec
659  . add: convert to use parse_pathspec
660  . archive: convert to use parse_pathspec
661  . ls-files: convert to use parse_pathspec
662  . rm: convert to use parse_pathspec
663  . checkout: convert to use parse_pathspec
664  . rerere: convert to use parse_pathspec
665  . status: convert to use parse_pathspec
666  . commit: convert to use parse_pathspec
667  . clean: convert to use parse_pathspec
668  . Export parse_pathspec() and convert some get_pathspec() calls
669  . Add parse_pathspec() that converts cmdline args to struct pathspec
670  . pathspec: save the non-wildcard length part
672  Uses the parsed pathspec structure in more places where we used to
673  use the raw "array of strings" pathspec.
675  Ejected from 'pu' for now; will take a look at the rerolled one
676  later ($gmane/213340).
679 * jc/doc-maintainer (2013-01-03) 2 commits
680   (merged to 'next' on 2013-01-11 at f35d582)
681  + howto/maintain: mark titles for asciidoc
682  + Documentation: update "howto maintain git"
684  Describe tools for automation that were invented since this
685  document was originally written.
688 * mo/cvs-server-updates (2012-12-09) 18 commits
689   (merged to 'next' on 2013-01-08 at 75e2d11)
690  + t9402: Use TABs for indentation
691  + t9402: Rename check.cvsCount and check.list
692  + t9402: Simplify git ls-tree
693  + t9402: Add missing &&; Code style
694  + t9402: No space after IO-redirection
695  + t9402: Dont use test_must_fail cvs
696  + t9402: improve check_end_tree() and check_end_full_tree()
697  + t9402: sed -i is not portable
698  + cvsserver Documentation: new cvs ... -r support
699  + cvsserver: add t9402 to test branch and tag refs
700  + cvsserver: support -r and sticky tags for most operations
701  + cvsserver: Add version awareness to argsfromdir
702  + cvsserver: generalize getmeta() to recognize commit refs
703  + cvsserver: implement req_Sticky and related utilities
704  + cvsserver: add misc commit lookup, file meta data, and file listing functions
705  + cvsserver: define a tag name character escape mechanism
706  + cvsserver: cleanup extra slashes in filename arguments
707  + cvsserver: factor out git-log parsing logic
709  Various git-cvsserver updates.
711  Will merge to 'master'.
714 * as/check-ignore (2013-01-16) 13 commits
715   (merged to 'next' on 2013-01-18 at ef45aff)
716  + clean.c, ls-files.c: respect encapsulation of exclude_list_groups
717   (merged to 'next' on 2013-01-14 at 9df2afc)
718  + t0008: avoid brace expansion
719  + add git-check-ignore sub-command
720  + setup.c: document get_pathspec()
721  + add.c: extract new die_if_path_beyond_symlink() for reuse
722  + add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
723  + pathspec.c: rename newly public functions for clarity
724  + add.c: move pathspec matchers into new pathspec.c for reuse
725  + add.c: remove unused argument from validate_pathspec()
726  + dir.c: improve docs for match_pathspec() and match_pathspec_depth()
727  + dir.c: provide clear_directory() for reclaiming dir_struct memory
728  + dir.c: keep track of where patterns came from
729  + dir.c: use a single struct exclude_list per source of excludes
731  Add a new command "git check-ignore" for debugging .gitignore
732  files.
734  The variable names may want to get cleaned up but that can be done
735  in-tree.
737  Will merge to 'master'.
740 * nd/retire-fnmatch (2013-01-01) 7 commits
741   (merged to 'next' on 2013-01-07 at ab31f9b)
742  + Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
743  + wildmatch: advance faster in <asterisk> + <literal> patterns
744  + wildmatch: make a special case for "*/" with FNM_PATHNAME
745  + test-wildmatch: add "perf" command to compare wildmatch and fnmatch
746  + wildmatch: support "no FNM_PATHNAME" mode
747  + wildmatch: make dowild() take arbitrary flags
748  + wildmatch: rename constants and update prototype
750  Originally merged to 'next' on 2013-01-04
752  Replace our use of fnmatch(3) with a more feature-rich wildmatch.
753  A handful patches at the bottom have been moved to nd/wildmatch to
754  graduate as part of that branch, before this series solidifies.
756  Will merge to 'master'.
759 * mb/gitweb-highlight-link-target (2012-12-20) 1 commit
760  - Highlight the link target line in Gitweb using CSS
762  Expecting a reroll.
763  $gmane/211935
766 * bc/append-signed-off-by (2013-01-21) 10 commits
767  - Unify appending signoff in format-patch, commit and sequencer
768  - format-patch: update append_signoff prototype
769  - t4014: more tests about appending s-o-b lines
770  - sequencer.c: teach append_signoff to avoid adding a duplicate newline
771  - sequencer.c: teach append_signoff how to detect duplicate s-o-b
772  - sequencer.c: always separate "(cherry picked from" from commit body
773  - sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
774  - t/t3511: add some tests of 'cherry-pick -s' functionality
775  - t/test-lib-functions.sh: allow to specify the tag name to test_commit
776  - sequencer.c: remove broken support for rfc2822 continuation in footer
778  Rerolled.
780  Seems that we will see another round.
782 --------------------------------------------------
783 [Discarded]
785 * er/replace-cvsimport (2013-01-12) 7 commits
786  . t/lib-cvs: cvsimport no longer works without Python >= 2.7
787  . t9605: test for cvsps commit ordering bug
788  . t9604: fixup for new cvsimport
789  . t9600: fixup for new cvsimport
790  . t/lib-cvs.sh: allow cvsps version 3.x.
791  . t/t960[123]: remove leftover scripts
792  . cvsimport: rewrite to use cvsps 3.x to fix major bugs
794  Rerolled as jc/cvsimport-upgrade.
797 * jc/valgrind-memcmp-bsearch (2013-01-14) 1 commit
798  . ignore memcmp() overreading in bsearch() callback
800  Squelch false positive in valgrind tests; made unnecessary by
801  rewriting the callsite that confuses the tool.