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