From 92d6a7876afe47c632fc9e7d1b16a8f2f40fbbaa Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 15 Dec 2014 12:38:57 -0800 Subject: [PATCH] What's cooking (2014/12 #03) --- whats-cooking.txt | 864 ++++++++++++++++++++++++++-------------------- 1 file changed, 483 insertions(+), 381 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 5cbbaa414d..d87b7c87ae 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,16 +1,20 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Dec 2014, #02; Wed, 10) -X-master-at: c18b86734113ee2aeb0e140c922c8fbd4accc860 -X-next-at: 802437b789eb05ee52be21d578fe4cfed918b276 +Subject: What's cooking in git.git (Dec 2014, #03; Mon, 15) +X-master-at: 9abc44b681a669c67d071d858c8aad21f65a0956 +X-next-at: d6426a0ea3bc6be707b25a6817328703d4883659 -What's cooking in git.git (Dec 2014, #02; Wed, 10) +What's cooking in git.git (Dec 2014, #03; Mon, 15) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. +The 'next' branch has been rewound and rebuilt on top of 2.2; I +expect this to be a short and light cycle that would not add too +many new things. + You can find the changes described here in the integration branches of the repositories listed at @@ -19,239 +23,222 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* jh/empty-notes (2014-11-14) 9 commits - (merged to 'next' on 2014-11-18 at 9eeb338) - + t3301: modernize style - + notes: empty notes should be shown by 'git log' - + builtin/notes: add --allow-empty, to allow storing empty notes - + builtin/notes: split create_note() to clarify add vs. remove logic - + builtin/notes: simplify early exit code in add() - + builtin/notes: refactor note file path into struct note_data - + builtin/notes: improve naming - + t3301: verify that 'git notes' removes empty notes by default - + builtin/notes: fix premature failure when trying to add the empty blob - - A request to store an empty note via "git notes" meant to remove - note from the object but with --allow-empty we will store a (surprise!) - note that is empty. In the longer run, we might want to deprecate - the somewhat unintuitive "emptying means deletion" behaviour. - - -* jk/checkout-from-tree (2014-11-13) 1 commit - (merged to 'next' on 2014-11-14 at ddbffb0) - + checkout $tree: do not throw away unchanged index entries - - "git checkout $treeish $path", when $path in the index and the - working tree already matched what is in $treeish at the $path, - still overwrote the $path unnecessarily. +* da/difftool-mergetool-simplify-reporting-status (2014-11-21) 5 commits + (merged to 'next' on 2014-12-04 at c3c329f) + + mergetools: stop setting $status in merge_cmd() + + mergetool: simplify conditionals + + difftool--helper: add explicit exit statement + + mergetool--lib: remove use of $status global + + mergetool--lib: remove no-op assignment to $status from setup_user_tool + Code simplification. -* jk/gitweb-with-newer-cgi-multi-param (2014-11-18) 1 commit - (merged to 'next' on 2014-11-18 at 6ac61fe) - + gitweb: hack around CGI's list-context param() handling - "gitweb" used to depend on a behaviour recent CGI.pm deprecated. +* jc/unpack-trees-plug-leak (2014-11-17) 1 commit + (merged to 'next' on 2014-12-04 at 9f1df30) + + unpack_trees: plug leakage of o->result -* js/windows-open-eisdir-error (2014-11-17) 1 commit - (merged to 'next' on 2014-11-18 at 57b0d49) - + Windows: correct detection of EISDIR in mingw_open() +* jk/colors-fix (2014-11-20) 3 commits + (merged to 'next' on 2014-12-04 at 0d97d69) + + t4026: test "normal" color + + config: fix parsing of "git config --get-color some.key -1" + + docs: describe ANSI 256-color mode + (this branch is used by jk/colors.) - open() emulated on Windows platforms did not give EISDIR upon an - attempt to open a directory for writing. +* jk/no-perl-tests (2014-11-18) 2 commits + (merged to 'next' on 2014-12-04 at f166620) + + t960[34]: mark cvsimport tests as requiring perl + + t0090: mark add-interactive test with PERL prerequisite -* mh/config-flip-xbit-back-after-checking (2014-11-18) 1 commit - (merged to 'next' on 2014-11-18 at 45f7d71) - + create_default_files(): don't set u+x bit on $GIT_DIR/config - (this branch is used by tb/config-core-filemode-check-on-broken-fs.) + Some tests that depend on perl lacked PERL prerequisite to protect + them, breaking build with NO_PERL configuration. - "git init" (hence "git clone") initialized the per-repository - configuration file .git/config with x-bit by mistake. +* jk/pack-bitmap (2014-11-30) 1 commit + (merged to 'next' on 2014-12-04 at eb457ad) + + pack-bitmap: do not use gcc packed attribute -* rs/env-array-in-child-process (2014-11-10) 1 commit - (merged to 'next' on 2014-11-14 at 3f6ba07) - + use args member of struct child_process - Code cleanup. +* jk/push-simple (2014-11-30) 1 commit + (merged to 'next' on 2014-12-04 at 00785c7) + + push: truly use "simple" as default, not "upstream" + Git 2.0 was supposed to make the "simple" mode for the default of + "git push", but it didn't. -* rs/maint-config-use-labs (2014-11-17) 1 commit - (merged to 'next' on 2014-11-18 at 53c2404) - + use labs() for variables of type long instead of abs() - A few code paths used abs() when they should have used labs() on - long integers. +* jk/rebuild-perl-scripts-with-no-perl-seting-change (2014-11-18) 3 commits + (merged to 'next' on 2014-12-04 at 27382d3) + + Makefile: have python scripts depend on NO_PYTHON setting + + Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros + + Makefile: have perl scripts depend on NO_PERL setting + The build procedure did not bother fixing perl and python scripts + when NO_PERL and NO_PYTHON build-time configuration changed. -* rs/receive-pack-use-labs (2014-11-17) 1 commit - (merged to 'next' on 2014-11-18 at c6d2d94) - + use labs() for variables of type long instead of abs() - A few code paths used abs() when they should have used labs() on - long integers. +* mh/config-copy-string-from-git-path (2014-11-17) 1 commit + (merged to 'next' on 2014-12-04 at 9c9518b) + + cmd_config(): make a copy of path obtained from git_path() -* sv/get-builtin (2014-11-13) 1 commit - (merged to 'next' on 2014-11-14 at 9497e17) - + builtin: move builtin retrieval to get_builtin() +* po/everyday-doc (2014-11-17) 1 commit + (merged to 'next' on 2014-12-04 at 39d31fb) + + Documentation: change "gitlink" typo in git-push - Small code consolidation. +* rt/push-recurse-submodule-usage-string (2014-11-18) 1 commit + (merged to 'next' on 2014-12-04 at c43e23c) + + builtin/push.c: fix description of --recurse-submodules option -* tq/git-ssh-command (2014-11-10) 1 commit - (merged to 'next' on 2014-11-14 at 83f5dae) - + git_connect: set ssh shell command in GIT_SSH_COMMAND - Allow passing extra set of arguments when ssh is invoked to create - an encrypted & authenticated connection, which is not possible with - existing GIT_SSH mechanism, which was designed more to match what - other programs with similar variables did, not necessarily to be - more useful. +* sv/typofix-apply-error-message (2014-11-17) 1 commit + (merged to 'next' on 2014-12-04 at de7547a) + + apply: fix typo in an error message -------------------------------------------------- [New Topics] -* dm/compat-s-ifmt-for-zos (2014-12-04) 1 commit - - compat: convert modes to use portable file type values +* jk/test-asan (2014-12-11) 1 commit + (merged to 'next' on 2014-12-15 at d24cb92) + + t: support clang/gcc AddressSanitizer - Long overdue departure from the assumption that S_IFMT is shared by - everybody made in 2005. + Will merge to 'master'. -* jk/credential-quit (2014-12-04) 2 commits - - prompt: respect GIT_TERMINAL_PROMPT to disable terminal prompts - - credential: let helpers tell us to quit +* nd/split-index (2014-12-11) 1 commit + (merged to 'next' on 2014-12-15 at ed6490c) + + index-format.txt: add a missing closing quote - Credential helpers are asked in turn until one of them give - positive response, which is cumbersome to turn off when you need to - run Git in an automated setting. The credential helper interface - learned to allow a helper to say "stop, don't ask other helpers." - Also GIT_TERMINAL_PROMPT environment can be set to false to disable - our built-in prompt mechanism for passwords. + A typofix to the documentation of a feature already in the release. - Will merge to 'next'. + Will merge to 'master'. -* mg/branch-d-m-f (2014-12-09) 2 commits - - branch: allow -f with -m and -d - - t3200-branch: test -M +* ch/new-gpg-drops-rfc-1991 (2014-12-12) 4 commits + (merged to 'next' on 2014-12-15 at 32d7d50) + + tests: squelch noise from GPG machinery set-up + + tests: replace binary GPG keyrings with ASCII-armored keys + + tests: skip RFC1991 tests for gnupg 2.1 + + tests: create gpg homedir on the fly - "git branch -d" (delete) and "git branch -m" (move) learned to - honor "-f" (force) flag; unlike many other subcommands, the way to - force these have been with separate "-D/-M" options, which was - inconsistent. + Recent GPG changes the keyring format and drops support for RFC1991 + formatted signatures, breaking our existing tests. - Will merge to 'next'. + Will merge to 'master'. -* mg/doc-check-ignore-tracked-are-not-ignored (2014-12-04) 1 commit - - check-ignore: clarify treatment of tracked files +* jg/prompt-localize-temporary (2014-12-12) 1 commit + (merged to 'next' on 2014-12-15 at bb9cac9) + + git-prompt.sh: make $f local to __git_eread() - Will merge to 'next'. + "git-prompt" (in contrib/) used a variable from the global scope, + possibly contaminating end-user's namespace. + Will merge to 'master'. -* rt/completion-tag (2014-12-04) 1 commit - - completion: add git-tag options - - Will merge to 'next'. +* jk/strbuf-doc-to-header (2014-12-12) 4 commits + - strbuf.h: reorganize api function grouping headers + - strbuf.h: format asciidoc code blocks as 4-space indent + - strbuf.h: drop asciidoc list formatting from API docs + - strbuf: migrate api-strbuf.txt documentation to strbuf.h + + Resolve the "doc vs header" to favor the latter. + + Expecting to be rerolled. + + +* mh/reflog-expire (2014-12-12) 24 commits + - refs.c: let fprintf handle the formatting + - refs.c: don't expose the internal struct ref_lock in the header file + - lock_any_ref_for_update(): inline function + - refs.c: remove unlock_ref/close_ref/commit_ref from the refs api + - reflog_expire(): new function in the reference API + - expire_reflog(): treat the policy callback data as opaque + - Move newlog and last_kept_sha1 to "struct expire_reflog_cb" + - expire_reflog(): move rewrite to flags argument + - expire_reflog(): move verbose to flags argument + - expire_reflog(): pass flags through to expire_reflog_ent() + - struct expire_reflog_cb: a new callback data type + - Rename expire_reflog_cb to expire_reflog_policy_cb + - expire_reflog(): move updateref to flags argument + - expire_reflog(): move dry_run to flags argument + - expire_reflog(): add a "flags" argument + - expire_reflog(): extract two policy-related functions + - Extract function should_expire_reflog_ent() + - expire_reflog(): use a lock_file for rewriting the reflog file + - expire_reflog(): return early if the reference has no reflog + - expire_reflog(): rename "ref" parameter to "refname" + - expire_reflog(): it's not an each_ref_fn anymore + - refs.c: add a function to append a reflog entry to a fd + - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update + - refs.c: make ref_transaction_create a wrapper for ref_transaction_update -* jk/for-each-reflog-ent-reverse (2014-12-05) 2 commits - - for_each_reflog_ent_reverse: turn leftover check into assertion - - for_each_reflog_ent_reverse: fix newlines on block boundaries + Restructure "reflog expire" to fit the reflogs better with the + recently updated ref API. - Will merge to 'next'. + Looked reasonable (except that ome shortlog entries stood out like + a sore thumb). -* po/doc-assume-unchanged (2014-12-09) 2 commits - - gitignore.txt: do not suggest assume-unchanged - - doc: make clear --assume-unchanged's user contract +* po/doc-core-ignorestat (2014-12-12) 1 commit + - doc: core.ignoreStat clarify the --assume-unchanged effect - Fixes long-standing misunderstanding of what assume-unchanged is - about. Some text near what is removed by the bottom patch may also - have to be removed. + Expecting a reroll. - Will merge to 'next'. +* rs/use-strbuf-complete-line (2014-12-12) 1 commit + (merged to 'next' on 2014-12-15 at d6426a0) + + use strbuf_complete_line() for adding a newline if needed -* tb/t0027-eol-conversion (2014-12-05) 1 commit - - t0027: check the eol conversion warnings + Will merge to 'master'. - Will merge to 'next'. +* jk/add-i-read-error (2014-12-15) 1 commit + - add--interactive: leave main loop on read error -* jk/always-allow-large-packets (2014-12-10) 1 commit - - pkt-line: allow writing of LARGE_PACKET_MAX buffers + "git add -i" did not notice when the interactive command input + stream went away and kept asking. Will merge to 'next'. -* jk/commit-date-approxidate (2014-12-10) 2 commits - - commit: always populate GIT_AUTHOR_* variables - - commit: loosen ident checks when generating template - - Will merge to 'next'. +* pd/completion-filenames-fix (2014-12-15) 1 commit + - Update documentation occurrences of filename .sh - -* jk/read-packed-refs-without-path-max (2014-12-10) 3 commits - - read_packed_refs: use skip_prefix instead of static array - - read_packed_refs: pass strbuf to parse_ref_line - - read_packed_refs: use a strbuf for reading lines + The top-of-the-file instruction for completion scripts (in contrib/) + did not name the files correctly. Will merge to 'next'. -* jn/dedup-doc-header (2014-12-09) 2 commits - - put string-list API documentation in one place - - put strbuf API documentation in one place - - We would want to have an easy way for developers to learn about - APIs, and also a way to encourage them to keep the API - documentation up to date when they make changes. Having header - comments and API documentation duplicated in two different places - risked them going out of sync. - - This removes the duplicates by dropping comments from the header; - it is just for discussion at this moment. - +* rd/send-email-2047-fix (2014-12-15) 2 commits + - send-email: handle adjacent RFC 2047-encoded words properly + - send-email: align RFC 2047 decoding more closely with the spec -* jn/doc-api-errors (2014-12-04) 1 commit - - doc: document error handling functions and conventions - - For discussion. - - -* js/fsck-tag-validation (2014-12-09) 2 commits - - index-pack: terminate object buffers with NUL - - fsck: properly bound "invalid tag name" error message - - Follow-up to tag object format validation added in 2.2. - - Will merge to 'next'. - - -* js/test-hashmap-squelch-gcc (2014-12-09) 1 commit - - test-hashmap: squelch gcc compiler warning + "git send-email" did not handle RFC 2047 encoded headers quite + right. Will merge to 'next'. +-------------------------------------------------- +[Stalled] -* ok/rebase-i-count-todo (2014-12-10) 1 commit - - Show number of TODO items for interactive rebase - - Will merge to 'next'. +* pw/remote-set-url-fetch (2014-11-26) 1 commit + - remote: add --fetch and --both options to set-url + Expecting a reroll. -* rw/apply-does-not-take-ignore-date (2014-12-09) 1 commit - - git-am.txt: --ignore-date flag is not passed to git-apply +* ye/http-accept-language (2014-12-03) 2 commits + . SQUASH??? + . http: send Accept-Language header if possible - Will merge to 'next'. + Breaks various people ($gmane/260903). --------------------------------------------------- -[Stalled] * ms/submodule-update-config-doc (2014-11-03) 1 commit - submodule: clarify documentation for update subcommand @@ -397,17 +384,172 @@ of the repositories listed at -------------------------------------------------- [Cooking] +* dm/compat-s-ifmt-for-zos (2014-12-04) 1 commit + (merged to 'next' on 2014-12-15 at 0eb2fe6) + + compat: convert modes to use portable file type values + + Long overdue departure from the assumption that S_IFMT is shared by + everybody made in 2005. + + Will merge to 'master'. + + +* jk/credential-quit (2014-12-04) 2 commits + (merged to 'next' on 2014-12-15 at 4cfd999) + + prompt: respect GIT_TERMINAL_PROMPT to disable terminal prompts + + credential: let helpers tell us to quit + + Credential helpers are asked in turn until one of them give + positive response, which is cumbersome to turn off when you need to + run Git in an automated setting. The credential helper interface + learned to allow a helper to say "stop, don't ask other helpers." + Also GIT_TERMINAL_PROMPT environment can be set to false to disable + our built-in prompt mechanism for passwords. + + Will merge to 'master'. + + +* mg/branch-d-m-f (2014-12-09) 2 commits + (merged to 'next' on 2014-12-15 at 8366f2c) + + branch: allow -f with -m and -d + + t3200-branch: test -M + + "git branch -d" (delete) and "git branch -m" (move) learned to + honor "-f" (force) flag; unlike many other subcommands, the way to + force these have been with separate "-D/-M" options, which was + inconsistent. + + Will merge to 'master'. + + +* mg/doc-check-ignore-tracked-are-not-ignored (2014-12-04) 1 commit + (merged to 'next' on 2014-12-15 at c50f748) + + check-ignore: clarify treatment of tracked files + + Will merge to 'master'. + + +* rt/completion-tag (2014-12-04) 1 commit + (merged to 'next' on 2014-12-15 at b03ee39) + + completion: add git-tag options + + Will merge to 'master'. + + +* jk/for-each-reflog-ent-reverse (2014-12-05) 2 commits + (merged to 'next' on 2014-12-15 at de71f08) + + for_each_reflog_ent_reverse: turn leftover check into assertion + + for_each_reflog_ent_reverse: fix newlines on block boundaries + + The code that reads the reflog from the newer to the older entries + did not handle an entry that crosses a boundary of block it uses to + read them correctly. + + Will merge to 'master'. + + +* po/doc-assume-unchanged (2014-12-09) 2 commits + (merged to 'next' on 2014-12-15 at 646e77e) + + gitignore.txt: do not suggest assume-unchanged + + doc: make clear --assume-unchanged's user contract + + Fixes long-standing misunderstanding of what assume-unchanged is + about. Some text near what is removed by the bottom patch may also + have to be removed. + + Will merge to 'master'. + + +* tb/t0027-eol-conversion (2014-12-05) 1 commit + (merged to 'next' on 2014-12-15 at ba24e75) + + t0027: check the eol conversion warnings + + Will merge to 'master'. + + +* jk/always-allow-large-packets (2014-12-10) 1 commit + (merged to 'next' on 2014-12-15 at c3fb2c8) + + pkt-line: allow writing of LARGE_PACKET_MAX buffers + + "git push" and "git fetch" did not communicate an overlong refname + correctly. + + Will merge to 'master'. + + +* jk/commit-date-approxidate (2014-12-11) 2 commits + (merged to 'next' on 2014-12-15 at 047530e) + + commit: always populate GIT_AUTHOR_* variables + + commit: loosen ident checks when generating template + + Recent update to "git commit" broke amending an existing commit + with bogus author/committer lines without a valid e-mail address. + + Will merge to 'master'. + + +* jk/read-packed-refs-without-path-max (2014-12-10) 3 commits + (merged to 'next' on 2014-12-15 at c6d6f56) + + read_packed_refs: use skip_prefix instead of static array + + read_packed_refs: pass strbuf to parse_ref_line + + read_packed_refs: use a strbuf for reading lines + + Git did not correctly read an overlong refname from a packed refs + file. + + Will merge to 'master'. + + +* jn/doc-api-errors (2014-12-04) 1 commit + - doc: document error handling functions and conventions + + For discussion. + + +* js/fsck-tag-validation (2014-12-09) 2 commits + (merged to 'next' on 2014-12-15 at 455f26c) + + index-pack: terminate object buffers with NUL + + fsck: properly bound "invalid tag name" error message + + New tag object format validation added in 2.2 showed garbage + after a tagname it reported in its error message. + + Will merge to 'master'. + + +* js/test-hashmap-squelch-gcc (2014-12-09) 1 commit + (merged to 'next' on 2014-12-15 at a8da691) + + test-hashmap: squelch gcc compiler warning + + Will merge to 'master'. + + +* ok/rebase-i-count-todo (2014-12-10) 1 commit + (merged to 'next' on 2014-12-15 at 4a1f7ed) + + Show number of TODO items for interactive rebase + + Will merge to 'master'. + + +* rw/apply-does-not-take-ignore-date (2014-12-09) 1 commit + (merged to 'next' on 2014-12-15 at ded2f99) + + git-am.txt: --ignore-date flag is not passed to git-apply + + Will merge to 'master'. + + * jc/exec-cmd-system-path-leak-fix (2014-11-30) 1 commit - - system_path(): always return free'able memory to the caller + (merged to 'next' on 2014-12-15 at f926ee5) + + system_path(): always return free'able memory to the caller The function sometimes returned a non-freeable memory and some other times returned a piece of memory that must be freed. - Will merge to 'next'. + Will merge to 'master'. * jc/hook-cleanup (2014-12-01) 1 commit - (merged to 'next' on 2014-12-04 at 17059f5) + (merged to 'next' on 2014-12-15 at f5759d0) + run-command.c: retire unused run_hook_with_custom_index() Remove unused code. @@ -415,16 +557,6 @@ of the repositories listed at Will merge to 'master'. -* jk/push-simple (2014-11-30) 1 commit - (merged to 'next' on 2014-12-04 at 00785c7) - + push: truly use "simple" as default, not "upstream" - - Git 2.0 was supposed to make the "simple" mode for the default of - "git push", but it didn't. - - Will merge to 'master'. - - * jn/rerere-fail-on-auto-update-failure (2014-12-03) 2 commits - SQUASH??? - rerere: error out on autoupdate failure @@ -433,8 +565,9 @@ of the repositories listed at * js/push-to-deploy (2014-11-30) 2 commits - - t5516: more tests for receive.denyCurrentBranch=updateInstead - - receive-pack: add another option for receive.denyCurrentBranch + (merged to 'next' on 2014-12-15 at ef8c99f) + + t5516: more tests for receive.denyCurrentBranch=updateInstead + + receive-pack: add another option for receive.denyCurrentBranch (this branch is used by jc/push-to-checkout.) "git push" into a repository with a working tree normally refuses @@ -443,7 +576,7 @@ of the repositories listed at is no change to the working tree and the index instead, which would be useful to "deploy" by pushing into a repository. - Will merge to 'next'. + Will merge to 'master'. * jc/push-to-checkout (2014-12-01) 2 commits @@ -458,7 +591,7 @@ of the repositories listed at Needs docs. -* lh/send-email-hide-x-mailer (2014-12-04) 4 commits +* lh/send-email-hide-x-mailer (2014-12-11) 4 commits - SQUASH??? - test/send-email: --[no-]xmailer tests - SQUASH??? @@ -468,6 +601,8 @@ of the repositories listed at in the message it sends out. A new command line flag allows the header to be squelched. + Will merge to 'next' after squashing the fixups. + * nd/list-files (2014-12-01) 19 commits - list-files: -M aka diff-cached @@ -495,52 +630,41 @@ of the repositories listed at * nd/ls-tree-pathspec (2014-12-01) 5 commits - - t3102: style modernization - - t3102: document that ls-tree does not yet support negated pathspec - - ls-tree: disable negative pathspec because it's not supported - - ls-tree: remove path filtering logic in show_tree - - tree.c: update read_tree_recursive callback to pass strbuf as base + (merged to 'next' on 2014-12-15 at 8da6e09) + + t3102: style modernization + + t3102: document that ls-tree does not yet support negated pathspec + + ls-tree: disable negative pathspec because it's not supported + + ls-tree: remove path filtering logic in show_tree + + tree.c: update read_tree_recursive callback to pass strbuf as base "git ls-tree" does not support path selection based on negative pathspecs, but did not error out when negative pathspecs are given. - Will merge to 'next'. + Will merge to 'master'. * rj/t0050-passes (2014-11-30) 1 commit - - t0050-*.sh: mark the rename (case change) test as passing + (merged to 'next' on 2014-12-15 at f56c339) + + t0050-*.sh: mark the rename (case change) test as passing - Will merge to 'next'. + Will merge to 'master'. * rt/for-each-ref-spell-tcl-as-Tcl (2014-11-30) 1 commit - - for-each-ref: correct spelling of Tcl in option description + (merged to 'next' on 2014-12-15 at c0fcefb) + + for-each-ref: correct spelling of Tcl in option description - Will merge to 'next'. + Will merge to 'master'. * sb/ref-transaction-reflog (2014-12-03) 2 commits - - refs.c: rename transaction.updates to transaction.ref_updates - - refs.c: rename the transaction functions + . refs.c: rename transaction.updates to transaction.ref_updates + . refs.c: rename the transaction functions (this branch uses sb/ref-transaction-unify-to-update.) Will be rerolled as a part of a larger series. -* ye/http-accept-language (2014-12-03) 2 commits - - SQUASH??? - - http: send Accept-Language header if possible - - Breaks various people ($gmane/260903). - - -* jk/pack-bitmap (2014-11-30) 1 commit - (merged to 'next' on 2014-12-04 at eb457ad) - + pack-bitmap: do not use gcc packed attribute - - Will merge to 'master'. - - * nd/multiple-work-trees (2014-12-01) 34 commits - git-common-dir: make "modules/" per-working-directory directory - checkout: do not fail if target is an empty directory @@ -582,23 +706,14 @@ of the repositories listed at by making the borrowee and borrowers aware of each other. -* jc/unpack-trees-plug-leak (2014-11-17) 1 commit - (merged to 'next' on 2014-12-04 at 9f1df30) - + unpack_trees: plug leakage of o->result - - Will merge to 'master'. - - * jk/colors (2014-12-09) 6 commits - (merged to 'next' on 2014-12-09 at 802437b) + (merged to 'next' on 2014-12-15 at 20b045f) + parse_color: drop COLOR_BACKGROUND macro - (merged to 'next' on 2014-12-04 at 8d2e37b) + diff-highlight: allow configurable colors + parse_color: recognize "no$foo" to clear the $foo attribute + parse_color: support 24-bit RGB values + parse_color: refactor color storage + Merge branch 'jn/parse-config-slot' into jk/colors - (this branch uses jk/colors-fix.) "diff-highlight" filter (in contrib/) allows its color output to be customized via configuration variables. @@ -606,68 +721,21 @@ of the repositories listed at Will merge to 'master'. -* jk/colors-fix (2014-11-20) 3 commits - (merged to 'next' on 2014-12-04 at 0d97d69) - + t4026: test "normal" color - + config: fix parsing of "git config --get-color some.key -1" - + docs: describe ANSI 256-color mode - (this branch is used by jk/colors.) - - Will merge to 'master'. - - * jk/lock-ref-sha1-basic-return-errors (2014-11-20) 1 commit - - lock_ref_sha1_basic: do not die on locking errors - - Will merge to 'next'. - + (merged to 'next' on 2014-12-15 at c48b110) + + lock_ref_sha1_basic: do not die on locking errors -* jk/no-perl-tests (2014-11-18) 2 commits - (merged to 'next' on 2014-12-04 at f166620) - + t960[34]: mark cvsimport tests as requiring perl - + t0090: mark add-interactive test with PERL prerequisite - - Some tests that depend on perl lacked PERL prerequisite to protect - them, breaking build with NO_PERL configuration. - - Will merge to 'master'. - - -* jk/rebuild-perl-scripts-with-no-perl-seting-change (2014-11-18) 3 commits - (merged to 'next' on 2014-12-04 at 27382d3) - + Makefile: have python scripts depend on NO_PYTHON setting - + Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros - + Makefile: have perl scripts depend on NO_PERL setting - - The build procedure did not bother fixing perl and python scripts - when NO_PERL and NO_PYTHON build-time configuration changed. - - Will merge to 'master'. - - -* mh/config-copy-string-from-git-path (2014-11-17) 1 commit - (merged to 'next' on 2014-12-04 at 9c9518b) - + cmd_config(): make a copy of path obtained from git_path() - - Will merge to 'master'. - - -* po/everyday-doc (2014-11-17) 1 commit - (merged to 'next' on 2014-12-04 at 39d31fb) - + Documentation: change "gitlink" typo in git-push + Correct an API anomaly. Will merge to 'master'. * ps/new-workdir-into-empty-directory (2014-12-03) 1 commit - - git-new-workdir: don't fail if the target directory is empty - - Will merge to 'next'. + (merged to 'next' on 2014-12-15 at 0787b56) + + git-new-workdir: don't fail if the target directory is empty - -* rt/push-recurse-submodule-usage-string (2014-11-18) 1 commit - (merged to 'next' on 2014-12-04 at c43e23c) - + builtin/push.c: fix description of --recurse-submodules option + "git new-workdir" (in contrib/) can be used to populate an empty + and existing directory now. Will merge to 'master'. @@ -678,60 +746,26 @@ of the repositories listed at Will be rerolled as a part of a larger series. -* sb/log-ref-write-fd (2014-11-20) 1 commit - - refs.c: add a function to append a reflog entry to a fd - - Will be rerolled as a part of a larger series. - - -* sb/ref-transaction-unify-to-update (2014-11-20) 2 commits - - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update - - refs.c: make ref_transaction_create a wrapper for ref_transaction_update - (this branch is used by sb/ref-transaction-reflog.) - - Code simplification. - - Will be rerolled as a part of a larger series. - - * sv/doc-stripspace (2014-12-04) 1 commit - (merged to 'next' on 2014-12-04 at 32fd559) + (merged to 'next' on 2014-12-15 at e86f8ba) + Documentation/git-stripspace: add synopsis for --comment-lines Will merge to 'master'. -* sv/typofix-apply-error-message (2014-11-17) 1 commit - (merged to 'next' on 2014-12-04 at de7547a) - + apply: fix typo in an error message - - Will merge to 'master'. - - -* da/difftool-mergetool-simplify-reporting-status (2014-11-21) 5 commits - (merged to 'next' on 2014-12-04 at c3c329f) - + mergetools: stop setting $status in merge_cmd() - + mergetool: simplify conditionals - + difftool--helper: add explicit exit statement - + mergetool--lib: remove use of $status global - + mergetool--lib: remove no-op assignment to $status from setup_user_tool - - Code simplification. - - Will merge to 'master'. - - * dw/shell-basename-dashdash-before-stripping-leading-dash-from-login (2014-11-25) 1 commit - - git-sh-setup.sh: use dashdash with basename call + (merged to 'next' on 2014-12-15 at 42937b7) + + git-sh-setup.sh: use dashdash with basename call - Will merge to 'next'. + Will merge to 'master'. * jc/refer-to-t-readme-from-submitting-patches (2014-11-24) 2 commits - - t/README: justify why "! grep foo" is sufficient - - SubmittingPatches: refer to t/README for tests + (merged to 'next' on 2014-12-15 at 0e88699) + + t/README: justify why "! grep foo" is sufficient + + SubmittingPatches: refer to t/README for tests - Will merge to 'next'. + Will merge to 'master'. * jc/t9001-modernise (2014-11-25) 5 commits @@ -744,85 +778,110 @@ of the repositories listed at * js/t5000-dont-copy-bin-sh (2014-11-24) 1 commit - - t5000 on Windows: do not mistake "sh.exe" as "sh" + (merged to 'next' on 2014-12-15 at 65ffd05) + + t5000 on Windows: do not mistake "sh.exe" as "sh" - Will merge to 'next'. + Will merge to 'master'. * mg/add-ignore-errors (2014-11-21) 1 commit - - add: ignore only ignored files + (merged to 'next' on 2014-12-15 at 3834789) + + add: ignore only ignored files - Will merge to 'next'. + "git add --ignore-errors ..." did not ignore an error to + give a file that did not exist. + + Will merge to 'master'. * mh/find-uniq-abbrev (2014-11-26) 1 commit - - sha1_name: avoid unnecessary sha1 lookup in find_unique_abbrev + (merged to 'next' on 2014-12-15 at e3b2b62) + + sha1_name: avoid unnecessary sha1 lookup in find_unique_abbrev - Will merge to 'next'. + The code to abbreviate an object name to its short unique prefix + has been optimized when no abbreviation was requested. + + Will merge to 'master'. * mh/simplify-repack-without-refs (2014-11-25) 7 commits - - sort_string_list(): rename to string_list_sort() - - prune_remote(): iterate using for_each_string_list_item() - - prune_remote(): rename local variable - - repack_without_refs(): make the refnames argument a string_list - - prune_remote(): sort delete_refs_list references en masse - - prune_remote(): initialize both delete_refs lists in a single loop - - prune_remote(): exit early if there are no stale references + (merged to 'next' on 2014-12-15 at 351e03e) + + sort_string_list(): rename to string_list_sort() + + prune_remote(): iterate using for_each_string_list_item() + + prune_remote(): rename local variable + + repack_without_refs(): make the refnames argument a string_list + + prune_remote(): sort delete_refs_list references en masse + + prune_remote(): initialize both delete_refs lists in a single loop + + prune_remote(): exit early if there are no stale references - Will merge to 'next'. + "git remote update --prune" to drop many refs has been optimized. + + Will merge to 'master'. * pb/am-message-id-footer (2014-11-25) 2 commits - - git-am: add --message-id/--no-message-id - - git-mailinfo: add --message-id + (merged to 'next' on 2014-12-15 at b44b6bd) + + git-am: add --message-id/--no-message-id + + git-mailinfo: add --message-id - Will merge to 'next'. + "git am" learned "--message-id" option to copy the message ID of + the incoming e-mail to the log message of resulting commit. + + Will merge to 'master'. * pb/send-email-te (2014-11-25) 2 commits - - git-send-email: add --transfer-encoding option - - git-send-email: delay creation of MIME headers + (merged to 'next' on 2014-12-15 at 38c2810) + + git-send-email: add --transfer-encoding option + + git-send-email: delay creation of MIME headers (this branch is used by jc/t9001-modernise.) - Will merge to 'next'. - + "git send-email" learned "--transfer-encoding" option to force + a non-fault Content-Transfer-Encoding header (e.g. base64). -* pw/remote-set-url-fetch (2014-11-26) 1 commit - - remote: add --fetch and --both options to set-url - - Still under discussion. + Will merge to 'master'. * rj/no-xopen-source-for-cygwin (2014-11-24) 1 commit - - git-compat-util.h: don't define _XOPEN_SOURCE on cygwin + (merged to 'next' on 2014-12-15 at 6e8e9ff) + + git-compat-util.h: don't define _XOPEN_SOURCE on cygwin - Will merge to 'next'. + Avoid compilation warnings on recent gcc toolchain on Cygwin. + + Will merge to 'master'. * sb/string-list (2014-12-04) 3 commits - - string_list: remove string_list_insert_at_index() from its API - - mailmap: use higher level string list functions - - string_list: document string_list_(insert,lookup) + (merged to 'next' on 2014-12-15 at 8bb8ddd) + + string_list: remove string_list_insert_at_index() from its API + + mailmap: use higher level string list functions + + string_list: document string_list_(insert,lookup) - Will merge to 'next'. + API simplification. + + Will merge to 'master'. * sb/write-sha1-update-reflog (2014-11-24) 1 commit - - refs.c: move reflog updates into its own function + . refs.c: move reflog updates into its own function Moves a part of function around to add a helper that still only has one caller. Need to see how this helps in a bigger picture. * tb/config-core-filemode-check-on-broken-fs (2014-11-21) 1 commit - - init-db: improve the filemode trustability check + (merged to 'next' on 2014-12-15 at 3e5490b) + + init-db: improve the filemode trustability check - Will merge to 'next'. + Some filesystems assign filemodes in a strange way, fooling then + automatic "filemode trustability" check done during a new + repository creation. + + Will merge to 'master'. * jk/approxidate-avoid-y-d-m-over-future-dates (2014-11-13) 2 commits - (merged to 'next' on 2014-11-14 at 3c11a1b) + (merged to 'next' on 2014-12-15 at 397e986) + approxidate: allow ISO-like dates far in the future + pass TIME_DATE_NOW to approxidate future-check @@ -839,15 +898,8 @@ of the repositories listed at Will cook in 'next'. -* mb/enable-lib-terminal-test-on-newer-darwin (2014-11-14) 1 commit - (merged to 'next' on 2014-11-14 at b2aae27) - + t/lib-terminal: allow TTY tests to run under recent Mac OS - - We probably should drop this ($gmane/259609). - - * br/imap-send-verbosity (2014-11-05) 1 commit - (merged to 'next' on 2014-11-12 at d9e58ec) + (merged to 'next' on 2014-12-15 at 504af0b) + imap-send: use parse options API to determine verbosity (this branch is used by br/imap-send-via-libcurl.) @@ -855,25 +907,32 @@ of the repositories listed at * br/imap-send-via-libcurl (2014-11-10) 1 commit - (merged to 'next' on 2014-11-12 at 5327ab4) + (merged to 'next' on 2014-12-15 at 90db637) + git-imap-send: use libcurl for implementation (this branch uses br/imap-send-verbosity.) + Newer libCurl knows how to talk IMAP; "git imap-send" has been + updated to use this instead of a hand-rolled OpenSSL calls. + Will cook in 'next'. * cc/interpret-trailers-more (2014-11-10) 4 commits - - trailer: add test with an old style conflict block - - trailer: reuse ignore_non_trailer() to ignore conflict lines - - commit: make ignore_non_trailer() non static - - Merge branch 'jc/conflict-hint' into cc/interpret-trailers-more + (merged to 'next' on 2014-12-15 at 77f6c6a) + + trailer: add test with an old style conflict block + + trailer: reuse ignore_non_trailer() to ignore conflict lines + + commit: make ignore_non_trailer() non static + + Merge branch 'jc/conflict-hint' into cc/interpret-trailers-more (this branch uses jc/conflict-hint.) - Will merge to 'next'. + "git interpret-trailers" learned to properly handle the + "Conflicts:" block at the end. + + Will merge to 'master'. * nd/lockfile-absolute (2014-11-03) 1 commit - (merged to 'next' on 2014-11-06 at 68722a9) + (merged to 'next' on 2014-12-15 at 34db9af) + lockfile.c: store absolute path The lockfile API can get confused which file to clean up when the @@ -883,15 +942,19 @@ of the repositories listed at * jc/merge-bases (2014-10-30) 2 commits - (merged to 'next' on 2014-11-06 at 491e576) + (merged to 'next' on 2014-12-15 at cac279e) + get_merge_bases(): always clean-up object flags + bisect: clean flags after checking merge bases + The get_merge_bases*() API was easy to misuse by careless + copy&paste coders, leaving object flags tainted in the commits that + needed to be traversed. + Will cook in 'next'. * jc/strbuf-add-lines-avoid-sp-ht-sequence (2014-10-27) 1 commit - (merged to 'next' on 2014-10-29 at 9167582) + (merged to 'next' on 2014-12-15 at b499889) + strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines The commented output used to blindly add a SP before the payload @@ -901,11 +964,15 @@ of the repositories listed at Will cook in 'next'. -* nd/untracked-cache (2014-10-27) 19 commits +* nd/untracked-cache (2014-12-15) 24 commits + - SQUASH??? + - untracked cache: guard and disable on system changes + - mingw32: add uname() - t7063: tests for untracked cache - update-index: test the system before enabling untracked cache - update-index: manually enable or disable untracked cache - status: enable untracked cache + - untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE - untracked cache: mark index dirty if untracked cache is updated - untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS - untracked cache: avoid racy timestamps @@ -913,6 +980,7 @@ of the repositories listed at - untracked cache: invalidate at index addition or removal - untracked cache: load from UNTR index extension - untracked cache: save to an index extension + - ewah: add convenient wrapper ewah_serialize_strbuf() - untracked cache: don't open non-existent .gitignore - untracked cache: mark what dirs should be recursed/saved - untracked cache: record/validate dir mtime and reuse cached output @@ -925,19 +993,8 @@ of the repositories listed at Comments? -* zk/grep-color-words (2014-10-27) 2 commits - (merged to 'next' on 2014-10-28 at 4d0457c) - + Revert "grep: fix match highlighting for combined patterns with context lines" - (merged to 'next' on 2014-10-24 at 2d2f8f8) - + grep: fix match highlighting for combined patterns with context lines - - rs/grep-color-words topic solves it in a different way. - - Will discard. - - * jc/conflict-hint (2014-10-28) 4 commits - (merged to 'next' on 2014-10-29 at 693250f) + (merged to 'next' on 2014-12-15 at b72475f) + merge & sequencer: turn "Conflicts:" hint into a comment + builtin/commit.c: extract ignore_non_trailer() helper function + merge & sequencer: unify codepaths that write "Conflicts:" hint @@ -951,7 +1008,7 @@ of the repositories listed at * jc/diff-b-m (2014-10-23) 1 commit - (merged to 'next' on 2014-10-28 at 4daedb1) + (merged to 'next' on 2014-12-15 at 59c6636) + diff -B -M: fix output for "copy and then rewrite" case Fix long-standing bug in "diff -B -M" output. @@ -960,7 +1017,7 @@ of the repositories listed at * jc/checkout-local-track-report (2014-10-14) 1 commit - (merged to 'next' on 2014-10-21 at f636a00) + (merged to 'next' on 2014-12-15 at e91a7df) + checkout: report upstream correctly even with loosely defined branch.*.merge The report from "git checkout" on a branch that builds on another @@ -971,7 +1028,7 @@ of the repositories listed at * jc/clone-borrow (2014-10-15) 1 commit - (merged to 'next' on 2014-10-21 at b76ea34) + (merged to 'next' on 2014-12-15 at 08fdf77) + clone: --dissociate option to mark that reference is only temporary Allow "git clone --reference" to be used more safely. @@ -981,6 +1038,35 @@ of the repositories listed at -------------------------------------------------- [Discarded] +* mb/enable-lib-terminal-test-on-newer-darwin (2014-11-14) 1 commit + . t/lib-terminal: allow TTY tests to run under recent Mac OS + + We probably should drop this ($gmane/259609). + + +* zk/grep-color-words (2014-10-27) 2 commits + . Revert "grep: fix match highlighting for combined patterns with context lines" + . grep: fix match highlighting for combined patterns with context lines + + rs/grep-color-words topic solves it in a different way. + + Will discard. + + +* jn/dedup-doc-header (2014-12-10) 2 commits + . put string-list API documentation in one place + . put strbuf API documentation in one place + + We would want to have an easy way for developers to learn about + APIs, and also a way to encourage them to keep the API + documentation up to date when they make changes. Having header + comments and API documentation duplicated in two different places + risked them going out of sync. + + The approach taken by jk/strbuf-doc-to-header is the other way + around, which people seem to prefer, so this is discarded. + + * jt/timer-settime (2014-08-29) 6 commits . use timer_settime() for new platforms . autoconf: check for timer_settime() @@ -1053,3 +1139,19 @@ of the repositories listed at * sb/simplify-repack-without-refs (2014-11-20) 1 commit . refs.c: use a string_list for repack_without_refs + + +* sb/log-ref-write-fd (2014-11-20) 1 commit + . refs.c: add a function to append a reflog entry to a fd + + Will be rerolled as a part of a larger series. + + +* sb/ref-transaction-unify-to-update (2014-11-20) 2 commits + . refs.c: make ref_transaction_delete a wrapper for ref_transaction_update + . refs.c: make ref_transaction_create a wrapper for ref_transaction_update + (this branch is used by sb/ref-transaction-reflog.) + + Code simplification. + + Will be rerolled as a part of a larger series. -- 2.47.3