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
--------------------------------------------------
[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
--------------------------------------------------
[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.
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
* 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
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
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???
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
* 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
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.
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'.
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
* 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
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.)
* 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
* 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
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
- 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
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
* 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.
* 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
* 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.
--------------------------------------------------
[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()
* 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.