What's cooking (2013/01 #03)
[alt-git.git] / whats-cooking.txt
blob72820989787cf92fed5e4b2c4fa2e8b0f2358c60
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jan 2013, #03; Sun, 6)
4 X-master-at: 32238aeb730fda0f66ccc6ec2f1e342af8b9fd04
5 X-next-at: 6e0eed0d38e507b7cf6c43be8a89ad15eb9aab5e
7 What's cooking in git.git (Jan 2013, #03; Sun, 6)
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 'next' will be rewound and rebuilt shortly, kicking a
15 couple of topics back to 'pu' and reordering the remainder as
16 needed.
18 As usual, this cycle is expected to last for 8 to 10 weeks.  To
19 ensure the quality of the end result, let's merge topics in flight
20 earlier than previous cycles to 'next' and fix issues in-tree.
22 You can find the changes described here in the integration branches of the
23 repositories listed at
25     http://git-blame.blogspot.com/p/git-public-repositories.html
27 --------------------------------------------------
28 [Graduated to "master"]
30 * cr/push-force-tag-update (2012-12-03) 10 commits
31   (merged to 'next' on 2012-12-04 at af2e3a9)
32  + push: allow already-exists advice to be disabled
33  + push: rename config variable for more general use
34  + push: cleanup push rules comment
35  + push: clarify rejection of update to non-commit-ish
36  + push: require force for annotated tags
37  + push: require force for refs under refs/tags/
38  + push: flag updates that require force
39  + push: keep track of "update" state separately
40  + push: add advice for rejected tag reference
41  + push: return reject reasons as a bitset
43  Require "-f" for push to update a tag, even if it is a fast-forward.
46 * fc/fast-export-fixes (2012-12-03) 15 commits
47   (merged to 'next' on 2012-12-03 at f9df523)
48  + fast-export: make sure updated refs get updated
49  + fast-export: don't handle uninteresting refs
50  + fast-export: fix comparison in tests
51  + fast-export: trivial cleanup
52  + remote-testgit: implement the "done" feature manually
53  + remote-testgit: report success after an import
54  + remote-testgit: exercise more features
55  + remote-testgit: cleanup tests
56  + remote-testgit: remove irrelevant test
57  + remote-testgit: remove non-local functionality
58  + Add new simplified git-remote-testgit
59  + Rename git-remote-testgit to git-remote-testpy
60  + remote-helpers: fix failure message
61  + remote-testgit: fix direction of marks
62  + fast-export: avoid importing blob marks
64  Various updates to fast-export used in the context of the remote
65  helper interface.
68 * ja/directory-attrs (2012-12-17) 1 commit
69   (merged to 'next' on 2012-12-17 at ced8e73)
70  + Add directory pattern matching to attributes
72  The attribute mechanism didn't allow limiting attributes to be
73  applied to only a single directory itself with "path/" like the
74  exclude mechanism does.
77 * jc/fetch-ignore-symref (2012-12-11) 1 commit
78   (merged to 'next' on 2012-12-17 at 370e2c8)
79  + fetch: ignore wildcarded refspecs that update local symbolic refs
81  Avoid false error from an attempt to update local symbolic ref via
82  fetch.
85 * jc/format-color-auto (2012-12-17) 2 commits
86   (merged to 'next' on 2012-12-18 at 5aaac94)
87  + log --format: teach %C(auto,black) to respect color config
88  + t6006: clean up whitespace
90  Introduce "log --format=%C(auto,blue)Foo%C(auto,reset)" that does
91  not color its output when writing to a non-terminal.
94 * jk/complete-commit-c (2012-12-15) 1 commit
95   (merged to 'next' on 2012-12-18 at 75b5f21)
96  + completion: complete refs for "git commit -c"
98  Complete "git commmit -c foo<TAB>" into a refname that begins with
99  "foo".
102 * jk/error-const-return (2012-12-15) 2 commits
103   (merged to 'next' on 2012-12-22 at bf2b1cd)
104  + silence some -Wuninitialized false positives
105  + make error()'s constant return value more visible
107  Help compilers' flow analysis by making it more explicit that
108  error() always returns -1, to reduce false "variable used
109  uninitialized" warnings.  Looks somewhat ugly but not too much.
112 * jk/fsck-dot-in-trees (2012-11-28) 2 commits
113   (merged to 'next' on 2012-11-28 at 519dabc)
114  + fsck: warn about ".git" in trees
115  + fsck: warn about '.' and '..' in trees
118 * jk/mailmap-from-blob (2012-12-13) 5 commits
119   (merged to 'next' on 2012-12-17 at 14b7cdc)
120  + mailmap: default mailmap.blob in bare repositories
121  + mailmap: fix some documentation loose-ends for mailmap.blob
122  + mailmap: clean up read_mailmap error handling
123  + mailmap: support reading mailmap from blobs
124  + mailmap: refactor mailmap parsing for non-file sources
126  Allow us to read, and default to read, mailmap files from the tip
127  of the history in bare repositories.  This will help running tools
128  like shortlog in server settings.
131 * mh/unify-xml-in-imap-send-and-http-push (2012-12-02) 8 commits
132   (merged to 'next' on 2012-12-03 at d677090)
133  + wrap_in_html(): process message in bulk rather than line-by-line
134  + wrap_in_html(): use strbuf_addstr_xml_quoted()
135  + imap-send: change msg_data from storing (ptr, len) to storing strbuf
136  + imap-send: correctly report errors reading from stdin
137  + imap-send: store all_msgs as a strbuf
138  + lf_to_crlf(): NUL-terminate msg_data::data
139  + xml_entities(): use function strbuf_addstr_xml_quoted()
140  + Add new function strbuf_add_xml_quoted()
142  Update imap-send to reuse xml quoting code from http-push codepath,
143  clean up some code, and fix a small bug.
146 * nd/pathspec-wildcard (2012-11-26) 4 commits
147   (merged to 'next' on 2012-12-03 at eca0fcb)
148  + tree_entry_interesting: do basedir compare on wildcard patterns when possible
149  + pathspec: apply "*.c" optimization from exclude
150  + pathspec: do exact comparison on the leading non-wildcard part
151  + pathspec: save the non-wildcard length part
153  Optimize matching paths with common forms of pathspecs that contain
154  wildcard characters.
157 * wk/submodule-update-remote (2012-12-19) 3 commits
158   (merged to 'next' on 2012-12-22 at 7ddf897)
159  + submodule add: If --branch is given, record it in .gitmodules
160  + submodule update: add --remote for submodule's upstream changes
161  + submodule: add get_submodule_config helper funtion
163  The beginning of 'integrate with the tip of the remote branch, not
164  the commit recorded in the superproject gitlink' support.
166 --------------------------------------------------
167 [New Topics]
169 * jk/pathspec-literal (2013-01-06) 1 commit
170  - t6130-pathspec-noglob: Windows does not allow a file named "f*"
172  Will merge to 'next' and 'master' as a quick "oops" fix.
175 * as/dir-c-cleanup (2012-12-28) 10 commits
176  - dir.c: rename free_excludes() to clear_exclude_list()
177  - dir.c: refactor is_path_excluded()
178  - dir.c: refactor is_excluded()
179  - dir.c: refactor is_excluded_from_list()
180  - dir.c: rename excluded() to is_excluded()
181  - dir.c: rename excluded_from_list() to is_excluded_from_list()
182  - dir.c: rename path_excluded() to is_path_excluded()
183  - dir.c: rename cryptic 'which' variable to more consistent name
184  - Improve documentation and comments regarding directory traversal API
185  - api-directory-listing.txt: update to match code
186  (this branch is used by as/check-ignore.)
188  Separated an earlier and more solidly done bits from the other
189  topic.
191  Will merge to 'next'.
194 * jk/config-uname (2013-01-03) 1 commit
195  - Makefile: hoist uname autodetection to config.mak.uname
197  Move the bits to set fallback default based on the platform from
198  the main Makefile to a separate file, so that it can be included in
199  Makefiles in subdirectories.
201  Will merge to 'next'.
204 * jc/push-2.0-default-to-simple (2013-01-04) 10 commits
205  - push: switch default from "matching" to "simple"
206  - t9401: do not assume the "matching" push is the default
207  - t9400: do not assume the "matching" push is the default
208  - t7406: do not assume the "matching" push is the default
209  - t5531: do not assume the "matching" push is the default
210  - t5519: do not assume the "matching" push is the default
211  - t5517: do not assume the "matching" push is the default
212  - t5516: do not assume the "matching" push is the default
213  - t5505: do not assume the "matching" push is the default
214  - t5404: do not assume the "matching" push is the default
216  Will merge to 'next' and cook there until Git 2.0.
219 * jk/maint-fast-import-doc-dedup-done (2013-01-05) 1 commit
220  - git-fast-import(1): remove duplicate "--done" option
222  Will merge to 'next' and 'master' as a quick "oops" fix.
224  The "logical order" reorganization can come after that is done and
225  can cook longer in 'next'.
228 * jk/unify-exit-code-by-receiving-signal (2013-01-06) 1 commit
229  - run-command: encode signal death as a positive integer
231  The internal logic had to deal with two representations of a death
232  of a child process by a signal.
234  Will merge to 'next'.
237 * jl/interrupt-clone-remove-separate-git-dir (2013-01-05) 1 commit
238  - clone: support atomic operation with --separate-git-dir
240  When "git clone --separate-git-dir" is interrupted, we failed to
241  remove the real location we created the repository.
243  Will merge to 'next'.
246 * rs/leave-base-name-in-name-field-of-tar (2013-01-05) 1 commit
247  - archive-tar: split long paths more carefully
249  Improve compatibility with implementations of "tar" that do not
250  like empty name field in header (with the additional prefix field
251  holding everything).
253  Will merge to 'next'.
256 * as/api-allocation-doc (2013-01-06) 1 commit
257  - api-allocation-growing.txt: encourage better variable naming
259  Will merge to 'next'.
262 * jc/comment-cygwin-win32api-in-makefile (2013-01-06) 1 commit
263  - Makefile: add comment on CYGWIN_V15_WIN32API
265  Will merge to 'next'.
268 * jn/xml-depends-on-asciidoc-conf (2013-01-06) 1 commit
269  - docs: manpage XML depends on asciidoc.conf
271  Will merge to 'next'.
274 * nd/clone-no-separate-git-dir-with-bare (2013-01-06) 1 commit
275  - clone: forbid --bare --separate-git-dir <dir>
277  Expecting a reroll.
278  $gmane/212863
281 * nd/parse-pathspec (2013-01-06) 21 commits
282  - Convert more init_pathspec() to parse_pathspec()
283  - Convert add_files_to_cache to take struct pathspec
284  - Convert {read,fill}_directory to take struct pathspec
285  - Convert refresh_index to take struct pathspec
286  - Convert report_path_error to take struct pathspec
287  - checkout: convert read_tree_some to take struct pathspec
288  - Convert unmerge_cache to take struct pathspec
289  - Convert read_cache_preload() to take struct pathspec
290  - add: convert to use parse_pathspec
291  - archive: convert to use parse_pathspec
292  - ls-files: convert to use parse_pathspec
293  - rm: convert to use parse_pathspec
294  - checkout: convert to use parse_pathspec
295  - rerere: convert to use parse_pathspec
296  - status: convert to use parse_pathspec
297  - commit: convert to use parse_pathspec
298  - clean: convert to use parse_pathspec
299  - Export parse_pathspec() and convert some get_pathspec() calls
300  - pathspec: make sure the prefix part is wildcard-clean
301  - Add parse_pathspec() that converts cmdline args to struct pathspec
302  - pathspec: save the non-wildcard length part
304  Uses the parsed pathspec structure in more places where we used to
305  use the raw "array of strings" pathspec.
307  Unfortunately, this conflicts a couple of topics in flight. I tried
308  to be careful while resolving conflicts, though.
311 * rs/zip-tests (2013-01-06) 4 commits
312  - t5003: check if unzip supports symlinks
313  - t5000, t5003: move ZIP tests into their own script
314  - t0024, t5000: use test_lazy_prereq for UNZIP
315  - t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead
317  Updates zip tests to skip some that cannot be handled on platform
318  unzip.
320  I've renamed the t5002 in the original to t5003 to avoid name
321  clashes with another topic in flight.
323  Will merge to 'next'.
326 * rs/zip-with-uncompressed-size-in-the-header (2013-01-06) 1 commit
327  - archive-zip: write uncompressed size into header even with streaming
329  Improve compatibility of our zip output to fill uncompressed size
330  in the header, which we can do without seeking back (even though it
331  should not be necessary).
333  Will merge to 'next'.
335 --------------------------------------------------
336 [Stalled]
338 * jl/submodule-deinit (2012-12-04) 1 commit
339   (merged to 'next' on 2012-12-07 at ea772f0)
340  + submodule: add 'deinit' command
342  There was no Porcelain way to say "I no longer am interested in
343  this submodule", once you express your interest in a submodule with
344  "submodule init".  "submodule deinit" is the way to do so.
346  But this does not yet do so (does not remove the checkout of the
347  submodule).  The design discussion petered out.
349  http://thread.gmane.org/gmane.comp.version-control.git/210867/focus=211456
351  Will kick back to 'pu'.
354 * jk/lua-hackery (2012-10-07) 6 commits
355  - pretty: fix up one-off format_commit_message calls
356  - Minimum compilation fixup
357  - Makefile: make "lua" a bit more configurable
358  - add a "lua" pretty format
359  - add basic lua infrastructure
360  - pretty: make some commit-parsing helpers more public
362  Interesting exercise. When we do this for real, we probably would want
363  to wrap a commit to make it more like an "object" with methods like
364  "parents", etc.
367 * rc/maint-complete-git-p4 (2012-09-24) 1 commit
368   (merged to 'next' on 2012-10-29 at af52cef)
369  + Teach git-completion about git p4
371  Comment from Pete will need to be addressed ($gmane/206172).
373  Will kick back to 'pu'.
376 * jc/maint-name-rev (2012-09-17) 7 commits
377  - describe --contains: use "name-rev --algorithm=weight"
378  - name-rev --algorithm=weight: tests and documentation
379  - name-rev --algorithm=weight: cache the computed weight in notes
380  - name-rev --algorithm=weight: trivial optimization
381  - name-rev: --algorithm option
382  - name_rev: clarify the logic to assign a new tip-name to a commit
383  - name-rev: lose unnecessary typedef
385  "git name-rev" names the given revision based on a ref that can be
386  reached in the smallest number of steps from the rev, but that is
387  not useful when the caller wants to know which tag is the oldest one
388  that contains the rev.  This teaches a new mode to the command that
389  uses the oldest ref among those which contain the rev.
391  I am not sure if this is worth it; for one thing, even with the help
392  from notes-cache, it seems to make the "describe --contains" even
393  slower. Also the command will be unusably slow for a user who does
394  not have a write access (hence unable to create or update the
395  notes-cache).
397  Stalled mostly due to lack of responses.
400 * jc/xprm-generation (2012-09-14) 1 commit
401  - test-generation: compute generation numbers and clock skews
403  A toy to analyze how bad the clock skews are in histories of real
404  world projects.
406  Stalled mostly due to lack of responses.
409 * jc/blame-no-follow (2012-09-21) 2 commits
410  - blame: pay attention to --no-follow
411  - diff: accept --no-follow option
413  Teaches "--no-follow" option to "git blame" to disable its
414  whole-file rename detection.
416  Stalled mostly due to lack of responses.
419 * jc/add-delete-default (2012-08-13) 1 commit
420  - git add: notice removal of tracked paths by default
422  "git add dir/" updated modified files and added new files, but does
423  not notice removed files, which may be "Huh?" to some users.  They
424  can of course use "git add -A dir/", but why should they?
426  Resurrected from graveyard, as I thought it was a worthwhile thing
427  to do in the longer term.
429  Waiting for comments.
432 * mb/remote-default-nn-origin (2012-07-11) 6 commits
433  - Teach get_default_remote to respect remote.default.
434  - Test that plain "git fetch" uses remote.default when on a detached HEAD.
435  - Teach clone to set remote.default.
436  - Teach "git remote" about remote.default.
437  - Teach remote.c about the remote.default configuration setting.
438  - Rename remote.c's default_remote_name static variables.
440  When the user does not specify what remote to interact with, we
441  often attempt to use 'origin'.  This can now be customized via a
442  configuration variable.
444  Expecting a reroll.
445  $gmane/210151
447  "The first remote becomes the default" bit is better done as a
448  separate step.
450 --------------------------------------------------
451 [Cooking]
453 * jn/less-reconfigure (2013-01-02) 1 commit
454   (merged to 'next' on 2013-01-02 at e5cd6cf)
455  + build: do not automatically reconfigure unless configure.ac changed
457  When autoconf is used, any build on a different commit always ran
458  "config.status --recheck" even when unnecessary.
460  Will merge to 'master'.
463 * ap/merge-stop-at-prepare-commit-msg-failure (2013-01-03) 1 commit
464   (merged to 'next' on 2013-01-04 at 251e88b)
465  + merge: Honor prepare-commit-msg return code
467  "git merge" started calling prepare-commit-msg hook like "git
468  commit" does some time ago, but forgot to pay attention to the exit
469  status of the hook.  t7505 may want a general clean-up but that is
470  a different topic.
472  Will merge to 'master'.
475 * tb/test-shell-lint (2013-01-02) 1 commit
476   (merged to 'next' on 2013-01-04 at 0289566)
477  + test: Add check-non-portable-shell.pl
479  Check for common mistakes in the test scripts, based on simple
480  pattern-matching.
483 * jk/enable-test-lint-by-default (2013-01-03) 1 commit
484   (merged to 'next' on 2013-01-04 at 65b21ad)
485  + tests: turn on test-lint by default
487  We had two simple and quick tests to catch common mistakes when
488  writing test scripts, but they weren't run by default when running
489  tests.
491  Will merge to 'master'.
494 * jc/doc-maintainer (2013-01-03) 2 commits
495  - howto/maintain: mark titles for asciidoc
496  - Documentation: update "howto maintain git"
498  Describe tools for automation that were invented since this
499  document was originally written.
502 * fc/remote-testgit-feature-done (2012-10-29) 1 commit
503  - remote-testgit: properly check for errors
505  In the longer term, tightening rules is a good thing to do, and
506  because nobody who has worked in the remote helper area seems to be
507  interested in reviewing this, I would assume they do not think
508  such a retroactive tightening will affect their remote helpers.  So
509  let's advance this topic to see what happens.
512 * fc/remote-bzr (2013-01-02) 9 commits
513   (merged to 'next' on 2013-01-04 at 7791dcb)
514  + remote-bzr: detect local repositories
515  + remote-bzr: add support for older versions of bzr
516  + remote-bzr: add support to push special modes
517  + remote-bzr: add support for fecthing special modes
518  + remote-bzr: add simple tests
519  + remote-bzr: update working tree upon pushing
520  + remote-bzr: add support for remote repositories
521  + remote-bzr: add support for pushing
522  + Add new remote-bzr transport helper
524  New remote helper for bzr, with minimum fix squashed in.
526  Will merge to 'master'.
529 * mo/cvs-server-updates (2012-12-09) 18 commits
530  - t9402: Use TABs for indentation
531  - t9402: Rename check.cvsCount and check.list
532  - t9402: Simplify git ls-tree
533  - t9402: Add missing &&; Code style
534  - t9402: No space after IO-redirection
535  - t9402: Dont use test_must_fail cvs
536  - t9402: improve check_end_tree() and check_end_full_tree()
537  - t9402: sed -i is not portable
538  - cvsserver Documentation: new cvs ... -r support
539  - cvsserver: add t9402 to test branch and tag refs
540  - cvsserver: support -r and sticky tags for most operations
541  - cvsserver: Add version awareness to argsfromdir
542  - cvsserver: generalize getmeta() to recognize commit refs
543  - cvsserver: implement req_Sticky and related utilities
544  - cvsserver: add misc commit lookup, file meta data, and file listing functions
545  - cvsserver: define a tag name character escape mechanism
546  - cvsserver: cleanup extra slashes in filename arguments
547  - cvsserver: factor out git-log parsing logic
549  As nobody seems to be stepping up to review this, I am tempted to
550  merge this to 'next and see who screams.
552  Will merge to 'next'.
555 * jc/submittingpatches (2013-01-02) 4 commits
556   (merged to 'next' on 2013-01-04 at 060ffb0)
557  + SubmittingPatches: give list and maintainer addresses
558  + SubmittingPatches: remove overlong checklist
559  + SubmittingPatches: mention subsystems with dedicated repositories
560  + SubmittingPatches: who am I and who cares?
562  Streamline the document and update with a few e-mail addresses the
563  patches should be sent to.
565  Will merge to 'master'.
568 * kb/maint-bundle-doc (2013-01-01) 2 commits
569   (merged to 'next' on 2013-01-04 at 73486d9)
570  + Documentation: full-ness of a bundle is significant for cloning
571  + Documentation: correct example restore from bundle
573  Will merge to 'master'.
576 * nd/maint-branch-desc-doc (2013-01-03) 5 commits
577   (merged to 'next' on 2013-01-04 at d05a47f)
578  + format-patch: pick up branch description when no ref is specified
579  + format-patch: pick up correct branch name from symbolic ref
580  + t4014: a few more tests on cover letter using branch description
581  + branch: delete branch description if it's empty
582  + config.txt: a few lines about branch.<name>.description
584  Teach various forms of "format-patch" command line to identify what
585  branch the patches are taken from, so that the branch description
586  is picked up in more cases.
588  Will merge to 'master'.
591 * tb/test-t9020-no-which (2013-01-01) 1 commit
592   (merged to 'next' on 2013-01-04 at 0bcf646)
593  + t9020: which is not portable
595  Will merge to 'master'.
598 * tb/test-t9810-no-sed-i (2013-01-01) 1 commit
599   (merged to 'next' on 2013-01-04 at 0da03e6)
600  + t9810: Do not use sed -i
602  Will merge to 'master'.
605 * aw/rebase-am-failure-detection (2012-10-11) 1 commit
606   (merged to 'next' on 2013-01-02 at b9db3a2)
607  + rebase: Handle cases where format-patch fails
609  Save output from format-patch command in a temporary file, just in
610  case it aborts, to give a better failure-case behaviour.
613 * ap/status-ignored-in-ignored-directory (2013-01-06) 3 commits
614  - status: always report ignored tracked directories
615   (merged to 'next' on 2013-01-04 at 114fb2f)
616  + git-status: Test --ignored behavior
617  + dir.c: Make git-status --ignored more consistent
619  Output from "git status --ignored" showed an unexpected interaction
620  with "--untracked".
623 * ta/remove-stale-translated-tut (2012-12-27) 1 commit
624   (merged to 'next' on 2013-01-02 at e70df8e)
625  + Remove Documentation/pt_BR/gittutorial.txt
627  Remove a translation of a document that was left stale.
629  Will merge to 'master'.
632 * er/stop-recommending-parsecvs (2012-12-28) 1 commit
633   (merged to 'next' on 2013-01-02 at fd816dd)
634  + Remove the suggestion to use parsecvs, which is currently broken.
636  Stop recommending a defunct third-party software.
638  Will merge to 'master'.
641 * as/test-name-alias-uniquely (2012-12-28) 1 commit
642   (merged to 'next' on 2013-01-02 at e297810)
643  + Use longer alias names in subdirectory tests
645  A few short-and-bland aliases used in the tests were interfering
646  with git-custom command in user's $PATH.
648  Will merge to 'master'.
651 * jc/maint-fmt-merge-msg-no-edit-lose-credit (2012-12-28) 1 commit
652   (merged to 'next' on 2013-01-02 at 8795e87)
653  + merge --no-edit: do not credit people involved in the side branch
655  Stop spending cycles to compute information to be placed on
656  commented lines in "merge --no-edit".
658  Will merge to 'master'.
661 * as/check-ignore (2013-01-06) 11 commits
662  - add git-check-ignore sub-command
663  - setup.c: document get_pathspec()
664  - add.c: extract new die_if_path_beyond_symlink() for reuse
665  - add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
666  - pathspec.c: rename newly public functions for clarity
667  - add.c: move pathspec matchers into new pathspec.c for reuse
668  - add.c: remove unused argument from validate_pathspec()
669  - dir.c: improve docs for match_pathspec() and match_pathspec_depth()
670  - dir.c: provide clear_directory() for reclaiming dir_struct memory
671  - dir.c: keep track of where patterns came from
672  - dir.c: use a single struct exclude_list per source of excludes
673  (this branch uses as/dir-c-cleanup.)
675  Rerolled.
678 * jc/format-patch-reroll (2013-01-03) 9 commits
679   (merged to 'next' on 2013-01-04 at 6840dbd)
680  + format-patch: give --reroll-count a short synonym -v
681  + format-patch: document and test --reroll-count
682  + format-patch: add --reroll-count=$N option
683  + get_patch_filename(): split into two functions
684  + get_patch_filename(): drop "just-numbers" hack
685  + get_patch_filename(): simplify function signature
686  + builtin/log.c: stop using global patch_suffix
687  + builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter()
688  + builtin/log.c: drop unused "numbered" parameter from make_cover_letter()
690  Teach "format-patch" to prefix v4- to its output files for the
691  fourth iteration of a patch series, to make it easier for the
692  submitter to keep separate copies for iterations.
694  Will merge to 'master'.
697 * mz/pick-unborn (2012-12-23) 2 commits
698   (merged to 'next' on 2013-01-02 at 22b9951)
699  + learn to pick/revert into unborn branch
700  + tests: move test_cmp_rev to test-lib-functions
702  Allows "git cherry-pick $commit" when you do not have any history
703  behind HEAD yet.
706 * nd/retire-fnmatch (2013-01-01) 7 commits
707   (merged to 'next' on 2013-01-04 at 4dc3ff1)
708  + Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
709  + wildmatch: advance faster in <asterisk> + <literal> patterns
710  + wildmatch: make a special case for "*/" with FNM_PATHNAME
711  + test-wildmatch: add "perf" command to compare wildmatch and fnmatch
712  + wildmatch: support "no FNM_PATHNAME" mode
713  + wildmatch: make dowild() take arbitrary flags
714  + wildmatch: rename constants and update prototype
715  (this branch uses nd/wildmatch.)
717  Replace our use of fnmatch(3) with a more feature-rich wildmatch.
718  A handful patches at the bottom have been moved to nd/wildmatch to
719  graduate as part of that branch, before this series solidifies.
722 * os/gitweb-highlight-uncaptured (2013-01-01) 1 commit
723   (merged to 'next' on 2013-01-04 at d565cdd)
724  + gitweb: fix error in sanitize when highlight is enabled
726  The code to sanitize control characters before passing it to
727  "highlight" filter lost known-to-be-safe control characters by
728  mistake.
730  Will merge to 'master'.
733 * jc/merge-blobs (2012-12-26) 5 commits
734  - merge-tree: fix d/f conflicts
735  - merge-tree: add comments to clarify what these functions are doing
736  - merge-tree: lose unused "resolve_directories"
737  - merge-tree: lose unused "flags" from merge_list
738  - Which merge_file() function do you mean?
740  Update the disused merge-tree proof-of-concept code.
742  Will merge to 'next'.
745 * er/python-version-requirements (2012-12-28) 1 commit
746   (merged to 'next' on 2013-01-02 at 1023a3f)
747  + Add checks to Python scripts for version dependencies.
749  Some python scripts we ship cannot be run with old versions of the
750  interpreter.
752  Will merge to 'master'.
755 * mb/gitweb-highlight-link-target (2012-12-20) 1 commit
756  - Highlight the link target line in Gitweb using CSS
758  Expecting a reroll.
759  $gmane/211935
762 * mz/oneway-merge-wo-u-no-lstat (2012-12-20) 1 commit
763   (merged to 'next' on 2012-12-22 at 87bd30e)
764  + oneway_merge(): only lstat() when told to update worktree
766  Optimize "read-tree -m <tree-ish>" without "-u".
768  Will merge to 'master'.
771 * cc/no-gitk-build-dependency (2012-12-18) 3 commits
772   (merged to 'next' on 2012-12-22 at da7b2cf)
773  + Makefile: replace "echo 1>..." with "echo >..."
774  + Makefile: detect when PYTHON_PATH changes
775  + Makefile: remove tracking of TCLTK_PATH
777  Remove leftover bits from an earlier change to move gitk in its own
778  subdirectory.  Reimplementing the dependency tracking rules needs
779  to be done in gitk history separately.
781  Will merge to 'master'.
784 * zk/clean-report-failure (2013-01-06) 1 commit
785  - git-clean: Display more accurate delete messages
787  "git clean" states what it is going to remove and then goes on to
788  remove it, but sometimes it only discovers things that cannot be
789  removed after recursing into a directory, which makes the output
790  confusing and even wrong.
792  Rerolled.
795 * mp/complete-paths (2012-12-21) 1 commit
796  - git-completion.bash: add support for path completion
798  The completion script used to let the default completer to suggest
799  pathnames, which gave too many irrelevant choices (e.g. "git add"
800  would not want to add an unmodified path).  Teach it to use a more
801  git-aware logic to enumerate only relevant ones.
803  It has been reported (no surprise) that this does not work inside
804  subdirectory. $gmane/212642
806  Waiting for area-experts' review.
809 * ap/log-mailmap (2013-01-06) 10 commits
810  - log: add log.mailmap configuration option
811  - log: grep author/committer using mailmap
812  - test: add test for --use-mailmap option
813  - log: add --use-mailmap option
814  - pretty: use mailmap to display username and email
815  - mailmap: add mailmap structure to rev_info and pp
816  - mailmap: simplify map_user() interface
817  - mailmap: remove email copy and length limitation
818  - Use split_ident_line to parse author and committer
819  - list_lookup: create case and length search
821  Clean up various codepaths around mailmap and teach the "log"
822  machinery to use it.
824  Rerolled.
827 * bc/append-signed-off-by (2013-01-01) 12 commits
828  - t4014: do not use echo -n
829  - Unify appending signoff in format-patch, commit and sequencer
830  - format-patch: update append_signoff prototype
831  - format-patch: stricter S-o-b detection
832  - t4014: more tests about appending s-o-b lines
833  - sequencer.c: teach append_signoff to avoid adding a duplicate newline
834  - sequencer.c: teach append_signoff how to detect duplicate s-o-b
835  - sequencer.c: always separate "(cherry picked from" from commit body
836  - sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
837  - t/t3511: add some tests of 'cherry-pick -s' functionality
838  - t/test-lib-functions.sh: allow to specify the tag name to test_commit
839  - sequencer.c: remove broken support for rfc2822 continuation in footer
841  Expecting a reroll.
842  $gmane/212507
845 * jn/warn-on-inaccessible-loosen (2012-10-14) 4 commits
846   (merged to 'next' on 2012-11-28 at 43d51c2)
847  + config: exit on error accessing any config file
848  + doc: advertise GIT_CONFIG_NOSYSTEM
849  + config: treat user and xdg config permission problems as errors
850  + config, gitignore: failure to access with ENOTDIR is ok
852  Deal with a situation where .config/git is a file and we notice
853  .config/git/config is not readable due to ENOTDIR, not ENOENT.
855  Will merge to 'master'.
858 * jc/apply-trailing-blank-removal (2012-10-12) 1 commit
859   (merged to 'next' on 2012-11-26 at 3af69e7)
860  + apply.c:update_pre_post_images(): the preimage can be truncated
862  Fix to update_pre_post_images() that did not take into account the
863  possibility that whitespace fix could shrink the preimage and
864  change the number of lines in it.
866  Will merge to 'master'.
869 * nd/wildmatch (2013-01-01) 18 commits
870   (merged to 'next' on 2013-01-01 at 8c633a5)
871  + wildmatch: replace variable 'special' with better named ones
872  + compat/fnmatch: respect NO_FNMATCH* even on glibc
873  + wildmatch: fix "**" special case
874   (merged to 'next' on 2012-12-15 at c734714)
875  + t3070: Disable some failing fnmatch tests
876   (merged to 'next' on 2012-11-21 at 151288f)
877  + test-wildmatch: avoid Windows path mangling
878   (merged to 'next' on 2012-10-25 at 510e8df)
879  + Support "**" wildcard in .gitignore and .gitattributes
880  + wildmatch: make /**/ match zero or more directories
881  + wildmatch: adjust "**" behavior
882  + wildmatch: fix case-insensitive matching
883  + wildmatch: remove static variable force_lower_case
884  + wildmatch: make wildmatch's return value compatible with fnmatch
885  + t3070: disable unreliable fnmatch tests
886  + Integrate wildmatch to git
887  + wildmatch: follow Git's coding convention
888  + wildmatch: remove unnecessary functions
889  + Import wildmatch from rsync
890  + ctype: support iscntrl, ispunct, isxdigit and isprint
891  + ctype: make sane_ctype[] const array
892  (this branch is used by nd/retire-fnmatch.)
894  Allows pathname patterns in .gitignore and .gitattributes files
895  with double-asterisks "foo/**/bar" to match any number of directory
896  hierarchies.
898 --------------------------------------------------
899 [Discarded]
901 * jc/doc-default-format (2013-01-03) 2 commits
902  . Allow installing a non-default set of documentation
903  . Allow generating a non-default set of documentation
905  Instead of the default of generating html/man and installing man,
906  you can control what "make doc" and "make install-doc" do via two
907  make variables.