1 To: git@vger.kernel.org
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
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
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
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
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
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
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 --------------------------------------------------
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
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
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>
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
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 --------------------------------------------------
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
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
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
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.
447 "The first remote becomes the default" bit is better done as a
450 --------------------------------------------------
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
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
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
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
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.)
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
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
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
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
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.
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"
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
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
898 --------------------------------------------------
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