What's cooking (2013/01 #01)
[git.git] / whats-cooking.txt
blob92d6865f09759d1c8a67b2432687bfe7ff203a4b
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jan 2013, #01; Tue, 1)
4 X-master-at: 5d417842efeafb6e109db7574196901c4e95d273
5 X-next-at: 8c633a54c4512b0a738750d9713cb0b5370100ba
7 What's cooking in git.git (Jan 2013, #01; Tue, 1)
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 The tip of the 'master' branch is at 1.8.1; the tip of 'next' will
15 be rewound soonish to reorder topics that are already well cooked
16 during the pre-release freeze earlier than the others so that they
17 can orderly be merged to 'master' after the dust settles, probably
18 towards the end of this week.
20 Note that many topics that have been marked as "Will cook in next"
21 have been recategorized to be merged to 'master' soonish, and a few
22 topics have been marked to be kicked back to 'pu'.  Please holler if
23 a topic that still has unresolved issues is marked to be merged to
24 'master' by mistake.
26 You can find the changes described here in the integration branches of the
27 repositories listed at
29     http://git-blame.blogspot.com/p/git-public-repositories.html
31 --------------------------------------------------
32 [New Topics]
34 * jc/submittingpatches (2013-01-01) 3 commits
35  - SubmittingPatches: remove overlong checklist
36  - SubmittingPatches: mention subsystems with dedicated repositories
37  - SubmittingPatches: who am I and who cares?
39  Will reroll.
42 * kb/maint-bundle-doc (2013-01-01) 2 commits
43  - Documentation: full-ness of a bundle is significant for cloning
44  - Documentation: correct example restore from bundle
46  Will merge to 'next'.
49 * nd/maint-branch-desc-doc (2013-01-01) 3 commits
50  - branch: delete branch description if it's empty
51  - format-patch: pick up branch description when no ref is specified
52  - config.txt: a few lines about branch.<name>.description
54  Waiting for a reroll.
57 * tb/test-t9020-no-which (2013-01-01) 1 commit
58  - t9020: which is not portable
60  Will merge to 'next'.
63 * tb/test-t9810-no-sed-i (2013-01-01) 1 commit
64  - t9810: Do not use sed -i
66  Will merge to 'next'.
68 --------------------------------------------------
69 [Stalled]
71 * jl/submodule-deinit (2012-12-04) 1 commit
72   (merged to 'next' on 2012-12-07 at ea772f0)
73  + submodule: add 'deinit' command
75  There was no Porcelain way to say "I no longer am interested in
76  this submodule", once you express your interest in a submodule with
77  "submodule init".  "submodule deinit" is the way to do so.
79  But this does not yet do so (does not remove the checkout of the
80  submodule).  The design discussion petered out.
82  http://thread.gmane.org/gmane.comp.version-control.git/210867/focus=211456
84  Will kick back to 'pu'.
87 * jc/doc-maintainer (2012-11-27) 1 commit
88  - update "howto maintain git"
90  An early draft that is still incomplete.
93 * fc/remote-bzr (2012-12-13) 10 commits
94  - (fixup) test-bzr.sh: fix multi-line string assignment
95  - remote-bzr: detect local repositories
96  - remote-bzr: add support for older versions of bzr
97  - remote-bzr: add support to push special modes
98  - remote-bzr: add support for fecthing special modes
99  - remote-bzr: add simple tests
100  - remote-bzr: update working tree upon pushing
101  - remote-bzr: add support for remote repositories
102  - remote-bzr: add support for pushing
103  - Add new remote-bzr transport helper
105  New remote helper for bzr (v3).  With minor fixes, this may be ready
106  for 'next'.
109 * mo/cvs-server-updates (2012-12-09) 18 commits
110  - t9402: Use TABs for indentation
111  - t9402: Rename check.cvsCount and check.list
112  - t9402: Simplify git ls-tree
113  - t9402: Add missing &&; Code style
114  - t9402: No space after IO-redirection
115  - t9402: Dont use test_must_fail cvs
116  - t9402: improve check_end_tree() and check_end_full_tree()
117  - t9402: sed -i is not portable
118  - cvsserver Documentation: new cvs ... -r support
119  - cvsserver: add t9402 to test branch and tag refs
120  - cvsserver: support -r and sticky tags for most operations
121  - cvsserver: Add version awareness to argsfromdir
122  - cvsserver: generalize getmeta() to recognize commit refs
123  - cvsserver: implement req_Sticky and related utilities
124  - cvsserver: add misc commit lookup, file meta data, and file listing functions
125  - cvsserver: define a tag name character escape mechanism
126  - cvsserver: cleanup extra slashes in filename arguments
127  - cvsserver: factor out git-log parsing logic
129  Needs review by folks interested in cvsserver.
132 * aw/rebase-am-failure-detection (2012-10-11) 1 commit
133  - rebase: Handle cases where format-patch fails
135  Save output from format-patch command in a temporary file, just in
136  case it aborts, to give a better failure-case behaviour.
138  Will merge to 'next'.
141 * jk/lua-hackery (2012-10-07) 6 commits
142  - pretty: fix up one-off format_commit_message calls
143  - Minimum compilation fixup
144  - Makefile: make "lua" a bit more configurable
145  - add a "lua" pretty format
146  - add basic lua infrastructure
147  - pretty: make some commit-parsing helpers more public
149  Interesting exercise. When we do this for real, we probably would want
150  to wrap a commit to make it more like an "object" with methods like
151  "parents", etc.
154 * fc/remote-testgit-feature-done (2012-10-29) 1 commit
155  - remote-testgit: properly check for errors
157  Needs review and Ack (or Nack) from people involved in the remote
158  helper interface for this to move forward.
161 * rc/maint-complete-git-p4 (2012-09-24) 1 commit
162   (merged to 'next' on 2012-10-29 at af52cef)
163  + Teach git-completion about git p4
165  Comment from Pete will need to be addressed in a follow-up patch.
167  Will kick back to 'pu'.
170 * jc/maint-name-rev (2012-09-17) 7 commits
171  - describe --contains: use "name-rev --algorithm=weight"
172  - name-rev --algorithm=weight: tests and documentation
173  - name-rev --algorithm=weight: cache the computed weight in notes
174  - name-rev --algorithm=weight: trivial optimization
175  - name-rev: --algorithm option
176  - name_rev: clarify the logic to assign a new tip-name to a commit
177  - name-rev: lose unnecessary typedef
179  "git name-rev" names the given revision based on a ref that can be
180  reached in the smallest number of steps from the rev, but that is
181  not useful when the caller wants to know which tag is the oldest one
182  that contains the rev.  This teaches a new mode to the command that
183  uses the oldest ref among those which contain the rev.
185  I am not sure if this is worth it; for one thing, even with the help
186  from notes-cache, it seems to make the "describe --contains" even
187  slower. Also the command will be unusably slow for a user who does
188  not have a write access (hence unable to create or update the
189  notes-cache).
191  Stalled mostly due to lack of responses.
194 * jc/xprm-generation (2012-09-14) 1 commit
195  - test-generation: compute generation numbers and clock skews
197  A toy to analyze how bad the clock skews are in histories of real
198  world projects.
200  Stalled mostly due to lack of responses.
203 * jc/blame-no-follow (2012-09-21) 2 commits
204  - blame: pay attention to --no-follow
205  - diff: accept --no-follow option
207  Teaches "--no-follow" option to "git blame" to disable its
208  whole-file rename detection.
210  Stalled mostly due to lack of responses.
213 * jc/doc-default-format (2012-11-26) 2 commits
214  - [SQAUSH] allow "cd Doc* && make DEFAULT_DOC_TARGET=..."
215  - Allow generating a non-default set of documentation
217  Need to address the installation half if this is to be any useful.
220 * jc/add-delete-default (2012-08-13) 1 commit
221  - git add: notice removal of tracked paths by default
223  "git add dir/" updated modified files and added new files, but does
224  not notice removed files, which may be "Huh?" to some users.  They
225  can of course use "git add -A dir/", but why should they?
227  Resurrected from graveyard, as I thought it was a worthwhile thing
228  to do in the longer term.
230  Waiting for comments.
233 * mb/remote-default-nn-origin (2012-07-11) 6 commits
234  - Teach get_default_remote to respect remote.default.
235  - Test that plain "git fetch" uses remote.default when on a detached HEAD.
236  - Teach clone to set remote.default.
237  - Teach "git remote" about remote.default.
238  - Teach remote.c about the remote.default configuration setting.
239  - Rename remote.c's default_remote_name static variables.
241  When the user does not specify what remote to interact with, we
242  often attempt to use 'origin'.  This can now be customized via a
243  configuration variable.
245  Expecting a reroll.
247  "The first remote becomes the default" bit is better done as a
248  separate step.
250 --------------------------------------------------
251 [Cooking]
253 * ap/status-ignored-in-ignored-directory (2013-01-01) 2 commits
254  - git-status: Test --ignored behavior
255  - dir.c: Make git-status --ignored more consistent
257  Will merge to 'next'.
260 * ta/remove-stale-translated-tut (2012-12-27) 1 commit
261  - Remove Documentation/pt_BR/gittutorial.txt
263  Remove a translation of a document that was left stale.
265  Will merge to 'next'.
268 * er/stop-recommending-parsecvs (2012-12-28) 1 commit
269  - Remove the suggestion to use parsecvs, which is currently broken.
271  Stop recommending a defunct third-party software.
273  Will merge to 'next'.
276 * as/test-name-alias-uniquely (2012-12-28) 1 commit
277  - Use longer alias names in subdirectory tests
279  A few short-and-bland aliases used in the tests were interfering
280  with git-custom command in user's $PATH.
282  Will merge to 'next'.
285 * jc/maint-fmt-merge-msg-no-edit-lose-credit (2012-12-28) 1 commit
286  - merge --no-edit: do not credit people involved in the side branch
288  Stop spending cycles to compute information to be placed on
289  commented lines in "merge --no-edit".
291  Will merge to 'next'.
294 * as/check-ignore (2012-12-28) 19 commits
295  - Add git-check-ignore sub-command
296  - setup.c: document get_pathspec()
297  - pathspec.c: extract new validate_path() for reuse
298  - pathspec.c: move reusable code from builtin/add.c
299  - add.c: remove unused argument from validate_pathspec()
300  - add.c: refactor treat_gitlinks()
301  - dir.c: provide clear_directory() for reclaiming dir_struct memory
302  - dir.c: keep track of where patterns came from
303  - dir.c: use a single struct exclude_list per source of excludes
304  - dir.c: rename free_excludes() to clear_exclude_list()
305  - dir.c: refactor is_path_excluded()
306  - dir.c: refactor is_excluded()
307  - dir.c: refactor is_excluded_from_list()
308  - dir.c: rename excluded() to is_excluded()
309  - dir.c: rename excluded_from_list() to is_excluded_from_list()
310  - dir.c: rename path_excluded() to is_path_excluded()
311  - dir.c: rename cryptic 'which' variable to more consistent name
312  - Improve documentation and comments regarding directory traversal API
313  - api-directory-listing.txt: update to match code
315  Rerolled.  The early parts looked mostly fine; we may want to split
316  this into two topics and have the early half progress earlier.
319 * jc/format-patch-reroll (2012-12-22) 7 commits
320  - format-patch: add --reroll-count=$N option
321  - get_patch_filename(): split into two functions
322  - get_patch_filename(): drop "just-numbers" hack
323  - get_patch_filename(): simplify function signature
324  - builtin/log.c: stop using global patch_suffix
325  - builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter()
326  - builtin/log.c: drop unused "numbered" parameter from make_cover_letter()
328  Teach "format-patch" to prefix v4- to its output files for the
329  fourth iteration of a patch series, to make it easier for the
330  submitter to keep separate copies for iterations.
332  Needs tests and documentation updates.
335 * ms/subtree-fixlets (2012-12-22) 2 commits
336   (merged to 'next' on 2012-12-26 at 1cb26eb)
337  + git-subtree: fix typo in manpage
338  + git-subtree: ignore git-subtree executable
340  Will merge to 'master' in the first batch.
343 * mz/pick-unborn (2012-12-23) 2 commits
344  - learn to pick/revert into unborn branch
345  - tests: move test_cmp_rev to test-lib-functions
347  Will merge to 'next'.
350 * nd/retire-fnmatch (2013-01-01) 7 commits
351  - Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
352  - wildmatch: advance faster in <asterisk> + <literal> patterns
353  - wildmatch: make a special case for "*/" with FNM_PATHNAME
354  - test-wildmatch: add "perf" command to compare wildmatch and fnmatch
355  - wildmatch: support "no FNM_PATHNAME" mode
356  - wildmatch: make dowild() take arbitrary flags
357  - wildmatch: rename constants and update prototype
358  (this branch uses nd/wildmatch.)
360  Replace our use of fnmatch(3) with a more feature-rich wildmatch.
361  A handful patches at the bottom have been moved to nd/wildmatch to
362  graduate as part of that branch, before this series solidifies.
364  Will merge to 'next'.
367 * jc/test-cvs-no-init-in-existing-dir (2012-12-24) 1 commit
368   (merged to 'next' on 2012-12-26 at 3b93f37)
369  + t9200: let "cvs init" create the test repository
371  Will merge to 'master' in the first batch.
374 * os/gitweb-highlight-uncaptured (2013-01-01) 1 commit
375  - gitweb: fix error in sanitize when highlight is enabled
377  Will merge to 'next'.
380 * jc/merge-blobs (2012-12-26) 5 commits
381  - merge-tree: fix d/f conflicts
382  - merge-tree: add comments to clarify what these functions are doing
383  - merge-tree: lose unused "resolve_directories"
384  - merge-tree: lose unused "flags" from merge_list
385  - Which merge_file() function do you mean?
387  A beginning of a new merge strategy based on the disused merge-tree
388  proof-of-concept code.
391 * mk/maint-graph-infinity-loop (2012-09-25) 1 commit
392   (merged to 'next' on 2012-12-26 at 2ff59ab)
393  + graph.c: infinite loop in git whatchanged --graph -m
395  The --graph code fell into infinite loop when asked to do what the
396  code did not expect ;-)
398  Will merge to 'master' in the first batch.
401 * jc/mkstemp-more-careful-error-reporting (2012-12-18) 1 commit
402   (merged to 'next' on 2012-12-22 at 18cdaf0)
403  + xmkstemp(): avoid showing truncated template more carefully
405  An earlier patch to save original arguments to mkstemp() away and
406  use it to report what filename we failed to create incorrectly used
407  the buffer munged by failing mkstemp().
409  Will merge to 'master' in the first batch.
412 * jc/maint-test-portability (2012-12-19) 3 commits
413   (merged to 'next' on 2012-12-22 at daeed53)
414  + t4014: fix arguments to grep
415  + t9502: do not assume GNU tar
416  + t0200: "locale" may not exist
417  (this branch is used by jc/test-portability.)
419  Minor test fixes noticed while running our tests on OpenBSD 5.2,
420  applicable to 'maint'.
422  Will merge to 'master' in the first batch.
425 * jc/test-portability (2012-12-19) 3 commits
426   (merged to 'next' on 2012-12-22 at 123041b)
427  + t9020: use configured Python to run the test helper
428  + t3600: Avoid "cp -a", which is a GNUism
429  + Merge branch 'jc/maint-test-portability' into 'jc/test-portability'
430  (this branch uses jc/maint-test-portability.)
432  The remainder of jc/maint-test-portability, applicable to 'master'.
434  Will merge to 'master' in the first batch.
437 * jc/maint-fnmatch-old-style-definition (2012-12-19) 1 commit
438   (merged to 'next' on 2012-12-22 at 540df2c)
439  + compat/fnmatch: update old-style definition to ANSI
441  Update old-style function definition "int foo(bar) int bar; {}"
442  to "int foo(int bar) {}".
444  Will merge to 'master' in the first batch.
447 * jk/pathspec-literal (2012-12-19) 1 commit
448   (merged to 'next' on 2012-12-22 at c794bd6)
449  + add global --literal-pathspecs option
451  Allow scripts to feed literal paths to commands that take
452  pathspecs, by disabling wildcard globbing.
454  Will merge to 'master' in the first batch.
457 * da/p4merge-mktemp (2012-12-26) 1 commit
458   (merged to 'next' on 2012-12-26 at 036938a)
459  + mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder
461  Create an empty file in $TMPDIR instead of using an empty file in
462  the local directory.
464  Will merge to 'master' in the first batch.
467 * er/python-version-requirements (2012-12-28) 1 commit
468  - Add checks to Python scripts for version dependencies.
470  Will merge to 'next'.
473 * mb/gitweb-highlight-link-target (2012-12-20) 1 commit
474  - Highlight the link target line in Gitweb using CSS
476  Expecting a reroll.
479 * mz/oneway-merge-wo-u-no-lstat (2012-12-20) 1 commit
480   (merged to 'next' on 2012-12-22 at 87bd30e)
481  + oneway_merge(): only lstat() when told to update worktree
483  Optimize "read-tree -m <tree-ish>" without "-u".
485  Will cook in 'next'.
488 * jk/repack-ref-racefix (2012-12-21) 1 commit
489   (merged to 'next' on 2012-12-22 at 03e1ca9)
490  + refs: do not use cached refs in repack_without_ref
492  Race-fix for pack-refs running in parallel to ref creation.
494  Will merge to 'master' in the first batch.
497 * rb/http-cert-cred-no-username-prompt (2012-12-21) 1 commit
498   (merged to 'next' on 2012-12-22 at 9fc28ed)
499  + http.c: Avoid username prompt for certifcate credentials
501  It is wrong to ask for username if the authentication is done by
502  certificate identity.
504  Will merge to 'master' in the first batch.
507 * wk/submodule-update-remote (2012-12-19) 3 commits
508   (merged to 'next' on 2012-12-22 at 7ddf897)
509  + submodule add: If --branch is given, record it in .gitmodules
510  + submodule update: add --remote for submodule's upstream changes
511  + submodule: add get_submodule_config helper funtion
513  The beginning of 'integrate with the tip of the remote branch, not
514  the commit recorded in the superproject gitlink' support.
516  Will merge to 'master' in the first batch.
519 * cc/no-gitk-build-dependency (2012-12-18) 3 commits
520   (merged to 'next' on 2012-12-22 at da7b2cf)
521  + Makefile: replace "echo 1>..." with "echo >..."
522  + Makefile: detect when PYTHON_PATH changes
523  + Makefile: remove tracking of TCLTK_PATH
525  Remove leftover bits from an earlier change to move gitk in its own
526  subdirectory.  Reimplementing the dependency tracking rules needs
527  to be done in gitk history separately.
529  Will merge to 'master' in the first batch.
532 * jc/format-color-auto (2012-12-17) 2 commits
533   (merged to 'next' on 2012-12-18 at 5aaac94)
534  + log --format: teach %C(auto,black) to respect color config
535  + t6006: clean up whitespace
537  Introduce "log --format=%C(auto,blue)Foo%C(auto,reset)" that does
538  not color its output when writing to a non-terminal.
540  Will merge to 'master' in the first batch.
543 * ss/svn-prompt (2012-12-17) 3 commits
544   (merged to 'next' on 2012-12-26 at 1012ae2)
545  + git-svn, perl/Git.pm: extend and use Git->prompt method for querying users
546  + perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set
547  + git-svn, perl/Git.pm: add central method for prompting passwords
549  Tweak the way "git svn" asks for password to be in line with the
550  rest of the system, so that the same SSH/GIT_ASKPASS can be used.
552  Will merge to 'master' in the first batch.
555 * zk/clean-report-failure (2012-12-17) 1 commit
556  - git-clean: Display more accurate delete messages
558  "git clean" states what it is going to remove and then goes on to
559  remove it, but sometimes it only discovers things that cannot be
560  removed after recursing into a directory, which makes the output
561  confusing and even wrong.
563  Expecting a reroll.
566 * mp/complete-paths (2012-12-21) 1 commit
567  - git-completion.bash: add support for path completion
569  The completion script used to let the default completer to suggest
570  pathnames, which gave too many irrelevant choices (e.g. "git add"
571  would not want to add an unmodified path).  Teach it to use a more
572  git-aware logic to enumerate only relevant ones.
574  Waiting for area-experts' review.
577 * ja/directory-attrs (2012-12-17) 1 commit
578   (merged to 'next' on 2012-12-17 at ced8e73)
579  + Add directory pattern matching to attributes
581  The attribute mechanism didn't allow limiting attributes to be
582  applied to only a single directory itself with "path/" like the
583  exclude mechanism does.
585  Will merge to 'master' in the first batch.
588 * jk/mailmap-from-blob (2012-12-13) 5 commits
589   (merged to 'next' on 2012-12-17 at 14b7cdc)
590  + mailmap: default mailmap.blob in bare repositories
591  + mailmap: fix some documentation loose-ends for mailmap.blob
592  + mailmap: clean up read_mailmap error handling
593  + mailmap: support reading mailmap from blobs
594  + mailmap: refactor mailmap parsing for non-file sources
596  Allow us to read, and default to read, mailmap files from the tip
597  of the history in bare repositories.  This will help running tools
598  like shortlog in server settings.
600  Will merge to 'master' in the first batch.
603 * dm/port (2012-12-19) 4 commits
604   (merged to 'next' on 2012-12-22 at 8adc198)
605  + git-compat-util.h: do not #include <sys/param.h> by default
606  + Generalize the inclusion of strings.h
607  + Detect when the passwd struct is missing pw_gecos
608  + Support builds when sys/param.h is missing
609  (this branch is used by mk/qnx.)
611  Add a few more knobs for new platform ports can tweak.
613  Will merge to 'master' in the first batch.
616 * jk/complete-commit-c (2012-12-15) 1 commit
617   (merged to 'next' on 2012-12-18 at 75b5f21)
618  + completion: complete refs for "git commit -c"
620  Complete "git commmit -c foo<TAB>" into a refname that begins with
621  "foo".
623  Will merge to 'master' in the first batch.
626 * jk/error-const-return (2012-12-15) 2 commits
627   (merged to 'next' on 2012-12-22 at bf2b1cd)
628  + silence some -Wuninitialized false positives
629  + make error()'s constant return value more visible
631  Help compilers' flow analysis by making it more explicit that
632  error() always returns -1, to reduce false "variable used
633  uninitialized" warnings.  Looks somewhat ugly but not too much.
635  Will merge to 'master' in the first batch.
638 * mk/qnx (2012-12-19) 2 commits
639   (merged to 'next' on 2012-12-22 at 0473197)
640  + Port to QNX
641  + Make lock local to fetch_pack
642  (this branch uses dm/port.)
644  Port to QNX.
646  Will merge to 'master' in the first batch.
649 * as/test-tweaks (2012-12-20) 7 commits
650   (merged to 'next' on 2012-12-22 at 7312c6c)
651  + tests: paint unexpectedly fixed known breakages in bold red
652  + tests: test the test framework more thoroughly
653  + tests: refactor mechanics of testing in a sub test-lib
654  + tests: change info messages from yellow/brown to cyan
655  + tests: paint skipped tests in blue
656  + tests: paint known breakages in yellow
657  + tests: test number comes first in 'not ok $count - $message'
659  Various minor tweaks to the test framework to paint its output
660  lines in colors that match what they mean better.
662  Will merge to 'master' in the first batch.
665 * sp/shortlog-missing-lf (2012-12-11) 2 commits
666   (merged to 'next' on 2012-12-11 at 64b8429)
667  + strbuf_add_wrapped*(): Remove unused return value
668  + shortlog: fix wrapping lines of wraplen
670  When a line to be wrapped has a solid run of non space characters
671  whose length exactly is the wrap width, "git shortlog -w" failed to
672  add a newline after such a line.
674  Will merge to 'master' in the first batch.
677 * ap/log-mailmap (2012-12-27) 10 commits
678  - log --use-mailmap: optimize for cases without --author/--committer search
679  - log: add log.mailmap configuration option
680  - log: grep author/committer using mailmap
681  - test: Add test for --use-mailmap option
682  - log: Add --use-mailmap option
683  - pretty: Use mailmap to display username and email
684  - mailmap: Add mailmap structure to rev_info and pp
685  - mailmap: Simplify map_user() interface
686  - mailmap: Remove buffer length limit in map_user
687  - Use split_ident_line to parse author and committer
688  (this branch is used by jc/mailmap.)
690  Clean up various codepaths around mailmap and teach the "log"
691  machinery to use it.
693  Waiting for further tweaks.
696 * jc/fetch-ignore-symref (2012-12-11) 1 commit
697   (merged to 'next' on 2012-12-17 at 370e2c8)
698  + fetch: ignore wildcarded refspecs that update local symbolic refs
700  Avoid false error from an attempt to update local symbolic ref via
701  fetch.
703  Will merge to 'master' in the first batch.
706 * md/gitweb-sort-by-age (2012-12-11) 1 commit
707   (merged to 'next' on 2012-12-13 at 9f39410)
708  + gitweb: Sort projects with undefined ages last
710  Gitweb showed repositories without any commit at the top in its
711  age-sorted view, in which the users are interested in looking at
712  active projects; sorting them at the bottom makes it more useful.
714  Will merge to 'master' in the first batch.
717 * ss/nedmalloc-compilation (2012-12-11) 1 commit
718   (merged to 'next' on 2012-12-13 at c1f0d7f)
719  + nedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2
721  Will merge to 'master' in the first batch.
724 * jc/maint-fbsd-sh-ifs-workaround (2012-12-10) 1 commit
725   (merged to 'next' on 2012-12-11 at 6659fdc)
726  + sh-setup: work around "unset IFS" bug in some shells
728  Will merge to 'master' in the first batch.
731 * jc/same-encoding (2012-12-10) 1 commit
732   (merged to 'next' on 2012-12-17 at 86b41c7)
733  + format_commit_message(): simplify calls to logmsg_reencode()
735  Finishing touches to the series to unify "Do we need to reencode
736  between these two encodings?" logic.
738  Will merge to 'master' in the first batch.
741 * nd/invalidate-i-t-a-cache-tree (2012-12-15) 4 commits
742   (merged to 'next' on 2012-12-18 at 33e4488)
743  + cache-tree: invalidate i-t-a paths after generating trees
744  + cache-tree: fix writing cache-tree when CE_REMOVE is present
745  + cache-tree: replace "for" loops in update_one with "while" loops
746  + cache-tree: remove dead i-t-a code in verify_cache()
748  Writing out a tree object when you still have intent-to-add entries
749  in the index left an incorrect cache-tree data there.
751  Will merge to 'master' in the first batch.
754 * pf/editor-ignore-sigint (2012-12-02) 5 commits
755   (merged to 'next' on 2012-12-07 at 6b04419)
756  + launch_editor: propagate signals from editor to git
757  + run-command: do not warn about child death from terminal
758  + launch_editor: ignore terminal signals while editor has control
759  + launch_editor: refactor to use start/finish_command
760  + run-command: drop silent_exec_failure arg from wait_or_whine
762  Avoid confusing cases where the user hits Ctrl-C while in the editor
763  session, not realizing git will receive the signal. Since most editors
764  will take over the terminal and will block SIGINT, this is not likely
765  to confuse anyone.
767  Will merge to 'master' in the first batch.
770 * bc/append-signed-off-by (2013-01-01) 12 commits
771  - t4014: do not use echo -n
772  - Unify appending signoff in format-patch, commit and sequencer
773  - format-patch: update append_signoff prototype
774  - format-patch: stricter S-o-b detection
775  - t4014: more tests about appending s-o-b lines
776  - sequencer.c: teach append_signoff to avoid adding a duplicate newline
777  - sequencer.c: teach append_signoff how to detect duplicate s-o-b
778  - sequencer.c: always separate "(cherry picked from" from commit body
779  - sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
780  - t/t3511: add some tests of 'cherry-pick -s' functionality
781  - t/test-lib-functions.sh: allow to specify the tag name to test_commit
782  - sequencer.c: remove broken support for rfc2822 continuation in footer
784  Expecting a reroll.
787 * mh/unify-xml-in-imap-send-and-http-push (2012-12-02) 8 commits
788   (merged to 'next' on 2012-12-03 at d677090)
789  + wrap_in_html(): process message in bulk rather than line-by-line
790  + wrap_in_html(): use strbuf_addstr_xml_quoted()
791  + imap-send: change msg_data from storing (ptr, len) to storing strbuf
792  + imap-send: correctly report errors reading from stdin
793  + imap-send: store all_msgs as a strbuf
794  + lf_to_crlf(): NUL-terminate msg_data::data
795  + xml_entities(): use function strbuf_addstr_xml_quoted()
796  + Add new function strbuf_add_xml_quoted()
798  Update imap-send to reuse xml quoting code from http-push codepath,
799  clean up some code, and fix a small bug.
801  Will merge to 'master' in the first batch.
804 * jk/fsck-dot-in-trees (2012-11-28) 2 commits
805   (merged to 'next' on 2012-11-28 at 519dabc)
806  + fsck: warn about ".git" in trees
807  + fsck: warn about '.' and '..' in trees
809  Will merge to 'master' in the first batch.
812 * mh/pthreads-autoconf (2012-11-27) 1 commit
813   (merged to 'next' on 2012-11-28 at 780600e)
814  + configure.ac: fix pthreads detection on Mac OS X
816  Will merge to 'master' in the first batch.
819 * jn/warn-on-inaccessible-loosen (2012-10-14) 4 commits
820   (merged to 'next' on 2012-11-28 at 43d51c2)
821  + config: exit on error accessing any config file
822  + doc: advertise GIT_CONFIG_NOSYSTEM
823  + config: treat user and xdg config permission problems as errors
824  + config, gitignore: failure to access with ENOTDIR is ok
826  Deal with a situation where .config/git is a file and we notice
827  .config/git/config is not readable due to ENOTDIR, not ENOENT.
829  Will cook in 'next'.
832 * mh/ceiling (2012-10-29) 8 commits
833   (merged to 'next' on 2012-11-26 at d1ce76a)
834  + string_list_longest_prefix(): remove function
835  + setup_git_directory_gently_1(): resolve symlinks in ceiling paths
836  + longest_ancestor_length(): require prefix list entries to be normalized
837  + longest_ancestor_length(): take a string_list argument for prefixes
838  + longest_ancestor_length(): use string_list_split()
839  + Introduce new function real_path_if_valid()
840  + real_path_internal(): add comment explaining use of cwd
841  + Introduce new static function real_path_internal()
843  Elements of GIT_CEILING_DIRECTORIES list may not match the real
844  pathname we obtain from getcwd(), leading the GIT_DIR discovery
845  logic to escape the ceilings the user thought to have specified.
847  Resurrected from Stalled; the earlier performance fear was
848  unwarranted.
850  Will merge to 'master' in the first batch.
853 * fc/fast-export-fixes (2012-12-03) 15 commits
854   (merged to 'next' on 2012-12-03 at f9df523)
855  + fast-export: make sure updated refs get updated
856  + fast-export: don't handle uninteresting refs
857  + fast-export: fix comparison in tests
858  + fast-export: trivial cleanup
859  + remote-testgit: implement the "done" feature manually
860  + remote-testgit: report success after an import
861  + remote-testgit: exercise more features
862  + remote-testgit: cleanup tests
863  + remote-testgit: remove irrelevant test
864  + remote-testgit: remove non-local functionality
865  + Add new simplified git-remote-testgit
866  + Rename git-remote-testgit to git-remote-testpy
867  + remote-helpers: fix failure message
868  + remote-testgit: fix direction of marks
869  + fast-export: avoid importing blob marks
871  Will merge to 'master' in the first batch.
874 * jc/apply-trailing-blank-removal (2012-10-12) 1 commit
875   (merged to 'next' on 2012-11-26 at 3af69e7)
876  + apply.c:update_pre_post_images(): the preimage can be truncated
878  Fix to update_pre_post_images() that did not take into account the
879  possibility that whitespace fix could shrink the preimage and
880  change the number of lines in it.
882  Will cook in 'next'.
885 * nd/pathspec-wildcard (2012-11-26) 4 commits
886   (merged to 'next' on 2012-12-03 at eca0fcb)
887  + tree_entry_interesting: do basedir compare on wildcard patterns when possible
888  + pathspec: apply "*.c" optimization from exclude
889  + pathspec: do exact comparison on the leading non-wildcard part
890  + pathspec: save the non-wildcard length part
892  Will merge to 'master' in the first batch.
895 * nd/wildmatch (2013-01-01) 18 commits
896   (merged to 'next' on 2013-01-01 at 8c633a5)
897  + wildmatch: replace variable 'special' with better named ones
898  + compat/fnmatch: respect NO_FNMATCH* even on glibc
899  + wildmatch: fix "**" special case
900   (merged to 'next' on 2012-12-15 at c734714)
901  + t3070: Disable some failing fnmatch tests
902   (merged to 'next' on 2012-11-21 at 151288f)
903  + test-wildmatch: avoid Windows path mangling
904   (merged to 'next' on 2012-10-25 at 510e8df)
905  + Support "**" wildcard in .gitignore and .gitattributes
906  + wildmatch: make /**/ match zero or more directories
907  + wildmatch: adjust "**" behavior
908  + wildmatch: fix case-insensitive matching
909  + wildmatch: remove static variable force_lower_case
910  + wildmatch: make wildmatch's return value compatible with fnmatch
911  + t3070: disable unreliable fnmatch tests
912  + Integrate wildmatch to git
913  + wildmatch: follow Git's coding convention
914  + wildmatch: remove unnecessary functions
915  + Import wildmatch from rsync
916  + ctype: support iscntrl, ispunct, isxdigit and isprint
917  + ctype: make sane_ctype[] const array
918  (this branch is used by nd/retire-fnmatch.)
920  Allows pathname patterns in .gitignore and .gitattributes files
921  with double-asterisks "foo/**/bar" to match any number of directory
922  hierarchies.
924  Will cook in 'next'.
927 * cr/push-force-tag-update (2012-12-03) 10 commits
928   (merged to 'next' on 2012-12-04 at af2e3a9)
929  + push: allow already-exists advice to be disabled
930  + push: rename config variable for more general use
931  + push: cleanup push rules comment
932  + push: clarify rejection of update to non-commit-ish
933  + push: require force for annotated tags
934  + push: require force for refs under refs/tags/
935  + push: flag updates that require force
936  + push: keep track of "update" state separately
937  + push: add advice for rejected tag reference
938  + push: return reject reasons as a bitset
940  Require "-f" for push to update a tag, even if it is a fast-forward.
942  Will merge to 'master' in the first batch.