To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Aug 2014, #02; Fri, 8)
-X-master-at: f82887f29010e1ec88ec1930a99ddc56b6438452
-X-next-at: edb03e5a9b9b63d0864557f99f339b2b5f3a9e4e
+Subject: What's cooking in git.git (Aug 2014, #03; Wed, 20)
+X-master-at: 6c4ab27f2378ce67940b4496365043119d7ffff2
+X-next-at: 9eef2c89753895da807c936ff1ba3a255c8370c9
-What's cooking in git.git (Aug 2014, #02; Fri, 8)
+What's cooking in git.git (Aug 2014, #03; Wed, 20)
--------------------------------------------------
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 second release candidate snapshot is out. Hopefully after a
-week of a calm pre-release "bugfix-only" period, we can do the 2.1
-final late next week.
+A few fixes for regressions have been posted since 2.1 was tagged,
+which I'd like to address before moving any topic to 'master',
+rewinding 'next', or doing anything for the 2.2 cycle. Hopefully by
+the end of this week 'next' will be rewound and rebuilt and then we
+can start taking patches for new topics in earnest from that point.
You can find the changes described here in the integration branches
of the repositories listed at
http://git-blame.blogspot.com/p/git-public-repositories.html
--------------------------------------------------
-[Graduated to "master"]
+[New Topics]
-* ta/doc-config (2014-07-30) 1 commit
- (merged to 'next' on 2014-07-31 at ec577fa)
- + add documentation for writing config files
+* br/http-init-fix (2014-08-18) 2 commits
+ - http: style fixes for curl_multi_init error check
+ - http.c: die if curl_*_init fails
+ Needs S-o-b from peff for the topmost one.
-* tf/maint-doc-push (2014-07-31) 1 commit
- (merged to 'next' on 2014-07-31 at 6a8ef70)
- + git-push: fix link in man page
---------------------------------------------------
-[New Topics]
+* br/imap-send-simplify-tunnel-child-process (2014-08-20) 2 commits
+ - imap-send.c: imap_folder -> imap_server_conf.folder
+ - git-imap-send: simplify tunnel construction
-* tf/imap-send-create (2014-08-01) 3 commits
- - SQUASH??? varargs form of issue-imap-cmd is no longer used
- - imap-send: create target mailbox if it is missing
- - imap-send: clarify CRAM-MD5 vs LOGIN documentation
+ Will merge to 'next'.
- Will merge to 'next' after dealing with the SQUASH??? fix-up.
+* jc/config-mak-document-darwin-vs-macosx (2014-08-15) 1 commit
+ - config.mak.uname: add hint on uname_R for MacOS X
+ (this branch uses km/no-apple-common-crypto-on-darwin-8-and-below.)
-* bc/archive-pax-header-mode (2014-08-04) 1 commit
- - archive: honor tar.umask even for pax headers
+ Will merge to 'next'.
- Implementations of "tar" that do not understand an extended pax
- header would extract the contents of it in a regular file; make
- sure the permission bits of this file follows the same tar.umask
- configuration setting.
+
+* jk/fix-profile-feedback-build (2014-08-19) 1 commit
+ - Makefile: make perf tests optional for profile build
+
+ Fix profile-feedback build broken in 2.1 for tarball releases.
Will merge to 'next'.
-* bc/imap-send-doc (2014-08-05) 1 commit
- - imap-send doc: omit confusing "to use imap-send" modifier
+* jk/pack-shallow-always-without-bitmap (2014-08-12) 1 commit
+ - pack-objects: turn off bitmaps when we see --shallow lines
+
+ Reachability bitmaps do not work with shallow operations.
Will merge to 'next'.
-* jc/apply-ws-prefix (2014-08-07) 3 commits
- - apply: omit ws check for excluded paths
- - apply: hoist use_patch() helper for path exclusion up
- - apply: use the right attribute for paths in non-Git patches
+* jn/header-dependencies (2014-08-10) 1 commit
+ - Update hard-coded header dependencies
+
+ Needs further discussions on the list.
- Applying a patch not generated by Git in a subdirectory used to
- check the whitespace breakage using the attributes for incorrect
- paths. Also whitespace checks were performed even for paths
- excluded via "git apply --exclude=<path>" mechanism.
+
+* jn/unpack-trees-checkout-m-carry-deletion (2014-08-13) 4 commits
+ - SQUASH???
+ - checkout -m: attempt merge when deletion of path was staged
+ - unpack-trees: use 'cuddled' style for if-else cascade
+ - unpack-trees: simplify 'all other failures' case
+
+ Needs tests; perhaps squashing in the topmost "SQUASH???" is enough.
+
+
+* km/no-apple-common-crypto-on-darwin-8-and-below (2014-08-15) 1 commit
+ - config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
+ (this branch is used by jc/config-mak-document-darwin-vs-macosx.)
+
+ Build automation for older versions of MacOS X.
Will merge to 'next'.
-* jk/command-line-config-empty-string (2014-08-05) 1 commit
- - config: teach "git -c" to recognize an empty string
+* nd/large-blobs (2014-08-18) 5 commits
+ - diff: shortcut for diff'ing two binary SHA-1 objects
+ - diff --stat: mark any file larger than core.bigfilethreshold binary
+ - diff.c: allow to pass more flags to diff_populate_filespec
+ - sha1_file.c: do not die failing to malloc in unpack_compressed_entry
+ - wrapper.c: introduce gentle xmallocz that does not die()
+
+ Will merge to 'next'.
+
+
+* nd/mv-code-cleaning (2014-08-11) 9 commits
+ - SQUASH???
+ - mv: no SP between function name and the first opening parenthese
+ - mv: combine two if(s)
+ - mv: unindent one level for directory move code
+ - mv: move index search code out
+ - mv: remove an "if" that's always true
+ - mv: split submodule move preparation code out
+ - mv: flatten error handling code block
+ - mv: mark strings for translations
+
+ Needs rerolling to account for the topmost "SQUASH???" simplification.
- "git -c section.var command" and "git -c section.var= command"
- should pass the configuration differently (the former should be
- a boolean true, the latter should be an empty string).
+
+* nd/strbuf-utf8-replace (2014-08-11) 1 commit
+ - utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
Will merge to 'next'.
-* jk/pack-bitmap (2014-08-04) 1 commit
- - pack-bitmap: do not use gcc packed attribute
+* rr/mergetool-temporary-filename-tweak (2014-08-19) 1 commit
+ - Allow the user to change the temporary file name for mergetool
+
+ Needs rerolling (new paragraph in doc seems to be in a wrong place)
+
+
+* rs/clean-menu-item-defn (2014-08-18) 1 commit
+ - clean: use f(void) instead of f() to declare a pointer to a function without arguments
Will merge to 'next'.
-* jk/pretty-empty-format (2014-07-30) 3 commits
- - pretty: make empty userformats truly empty
- - pretty: treat "--format=" as an empty userformat
- - revision: drop useless string offset when parsing "--pretty"
+* rs/inline-compat-path-macros (2014-08-18) 1 commit
+ - turn path macros into inline function
- "git log --pretty/format=" with an empty format string did not mean
- the more obvious "No output whatsoever" but "Use default format",
- which was counterintuitive.
+ Will merge to 'next'.
+
+
+* rs/refresh-beyond-symlink (2014-08-10) 1 commit
+ - read-cache: check for leading symlinks when refreshing index
+
+ "git add x" where x that used to be a directory has become a
+ symbolic link to a directory misbehaved.
Will merge to 'next'.
-* la/init-doc (2014-08-08) 7 commits
- - Documentation: git-init: flesh out example
- - Documentation: git-init: template directory: reword and cross-reference
- - Documentation: git-init: reword parenthetical statements
- - Documentation: git-init: --separate-git-dir: clarify
- - Documentation: git-init: template directory: reword
- - Documentation: git-init: list items facelift
- - Documentation: git-init: typographical fixes
+* sb/blame-msg-i18n (2014-08-12) 1 commit
+ - builtin/blame.c: add translation to warning about failed revision walk
Will merge to 'next'.
-* lf/bundle-exclusion (2014-08-07) 1 commit
- - bundle: fix exclusion of annotated tags
+* sb/plug-leaks (2014-08-10) 2 commits
+ - clone.c: don't leak memory in cmd_clone
+ - remote.c: don't leak the base branch name in format_tracking_info
Will merge to 'next'.
-* mm/log-branch-desc-plug-leak (2014-08-07) 1 commit
- - builtin/log.c: fix minor memory leak
+* sb/prepare-revision-walk-error-check (2014-08-12) 1 commit
+ - prepare_revision_walk(): check for return value in all places
Will merge to 'next'.
-* ta/config-set-1 (2014-08-07) 8 commits
- - add tests for `git_config_get_string_const()`
- - add a test for semantic errors in config files
- - rewrite git_config() to use the config-set API
- - config: add `git_die_config()` to the config-set API
- - change `git_config()` return value to void
- - add line number and file name info to `config_set`
- - config.c: fix accuracy of line number in errors
- - config.c: mark error and warnings strings for translation
- (this branch is used by ta/config-set-2; uses ta/config-set.)
+* sb/unpack-trees-dead-code-removal (2014-08-12) 2 commits
+ - SQUASH???
+ - unpack-tree.c: remove dead code
+ Will discard (jn/unpack-trees-checkout-m-carry-deletion should do the same).
-* ta/config-set-2 (2014-08-07) 11 commits
- - branch.c: replace `git_config()` with `git_config_get_string()
- - alias.c: replace `git_config()` with `git_config_get_string()`
- - imap-send.c: replace `git_config()` with `git_config_get_*()` family
- - pager.c: replace `git_config()` with `git_config_get_value()`
- - builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
- - rerere.c: replace `git_config()` with `git_config_get_*()` family
- - fetchpack.c: replace `git_config()` with `git_config_get_*()` family
- - archive.c: replace `git_config()` with `git_config_get_bool()` family
- - read-cache.c: replace `git_config()` with `git_config_get_*()` family
- - http-backend.c: replace `git_config()` with `git_config_get_bool()` family
- - daemon.c: replace `git_config()` with `git_config_get_bool()` family
- (this branch uses ta/config-set and ta/config-set-1.)
+* so/rebase-doc (2014-08-12) 1 commit
+ - Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op
-* ta/pretty-parse-config (2014-08-04) 1 commit
- - pretty.c: make git_pretty_formats_config return -1 on git_config_string failure
+ May need description on what makes various modes of operation to
+ decide that the request can become a "no-op".
+
+ Will merge to 'next'.
+
+
+* sp/stream-clean-filter (2014-08-12) 2 commits
+ - convert: Stream from fd to required clean filter instead of mmap
+ - convert: Refactor would_convert_to_git() to single arg 'path'
+
+ Will be rerolled.
+
+
+* ta/config-add-to-empty-or-true-fix (2014-08-18) 1 commit
+ - make config --add behave correctly for empty and NULL values
+
+ Will be rerolled.
+
+
+* jc/push-cert (2014-08-19) 18 commits
+ - signed push: final protocol update
+ - send-pack: send feature request on push-cert packet
+ - receive-pack: GPG-validate push certificates
+ - the beginning of the signed push
+ - pack-protocol doc: typofix for PKT-LINE
+ - gpg-interface: move parse_signature() to where it should be
+ - gpg-interface: move parse_gpg_output() to where it should be
+ - send-pack: clarify that cmds_sent is a boolean
+ - send-pack: refactor inspecting and resetting status and sending commands
+ - send-pack: rename "new_refs" to "need_pack_data"
+ - send-pack: factor out capability string generation
+ - send-pack: always send capabilities
+ - send-pack: refactor decision to send update per ref
+ - send-pack: move REF_STATUS_REJECT_NODELETE logic a bit higher
+ - receive-pack: factor out queueing of command
+ - receive-pack: do not reuse old_sha1[] to other things
+ - receive-pack: parse feature request a bit earlier
+ - receive-pack: do not overallocate command structure
+
+ Allow "git push" request to be signed, so that it can be verified
+ audited, using the GPG signature of the person who pushed, that the
+ tips of branches at a public repository really point the commits
+ the pusher wanted to, without having to "trust" the server.
+
+ Needs further discussion and then a reroll.
+
+ Replay attack prevention needs to be tightened and also need to fix
+ a few minor typos.
+
+* jk/diff-tree-t-fix (2014-08-20) 1 commit
+ - intersect_paths: respect mode in git's tree-sort
+
+ Fix (rarely used) "git diff-tree -t" regression in 2.0.
+
+ Will merge to 'next'.
+
+
+* rs/child-process-init (2014-08-20) 4 commits
+ - run-command: inline prepare_run_command_v_opt()
+ - run-command: call run_command_v_opt_cd_env() instead of duplicating it
+ - run-command: introduce child_process_init()
+ - run-command: introduce CHILD_PROCESS_INIT
Will merge to 'next'.
--------------------------------------------------
[Cooking]
+* tf/imap-send-create (2014-08-01) 3 commits
+ - SQUASH??? varargs form of issue-imap-cmd is no longer used
+ - imap-send: create target mailbox if it is missing
+ - imap-send: clarify CRAM-MD5 vs LOGIN documentation
+
+ Will merge to 'next' after dealing with the SQUASH??? fix-up.
+
+
+* bc/archive-pax-header-mode (2014-08-04) 1 commit
+ (merged to 'next' on 2014-08-13 at 9972bb2)
+ + archive: honor tar.umask even for pax headers
+
+ Implementations of "tar" that do not understand an extended pax
+ header would extract the contents of it in a regular file; make
+ sure the permission bits of this file follows the same tar.umask
+ configuration setting.
+
+ Will merge to 'master'.
+
+
+* bc/imap-send-doc (2014-08-05) 1 commit
+ - imap-send doc: omit confusing "to use imap-send" modifier
+
+ Will merge to 'next'.
+
+
+* jc/apply-ws-prefix (2014-08-07) 3 commits
+ - apply: omit ws check for excluded paths
+ - apply: hoist use_patch() helper for path exclusion up
+ - apply: use the right attribute for paths in non-Git patches
+
+ Applying a patch not generated by Git in a subdirectory used to
+ check the whitespace breakage using the attributes for incorrect
+ paths. Also whitespace checks were performed even for paths
+ excluded via "git apply --exclude=<path>" mechanism.
+
+ Will merge to 'next'.
+
+
+* jk/command-line-config-empty-string (2014-08-05) 1 commit
+ - config: teach "git -c" to recognize an empty string
+
+ "git -c section.var command" and "git -c section.var= command"
+ should pass the configuration differently (the former should be
+ a boolean true, the latter should be an empty string).
+
+ Will merge to 'next'.
+
+
+* jk/pack-bitmap (2014-08-04) 1 commit
+ - pack-bitmap: do not use gcc packed attribute
+
+ Hold, waiting for Karsten's replacement.
+
+
+* jk/pretty-empty-format (2014-07-30) 3 commits
+ (merged to 'next' on 2014-08-13 at 543bb4d)
+ + pretty: make empty userformats truly empty
+ + pretty: treat "--format=" as an empty userformat
+ + revision: drop useless string offset when parsing "--pretty"
+
+ "git log --pretty/format=" with an empty format string did not mean
+ the more obvious "No output whatsoever" but "Use default format",
+ which was counterintuitive.
+
+ Will merge to 'master'.
+
+
+* la/init-doc (2014-08-08) 7 commits
+ - Documentation: git-init: flesh out example
+ - Documentation: git-init: template directory: reword and cross-reference
+ - Documentation: git-init: reword parenthetical statements
+ - Documentation: git-init: --separate-git-dir: clarify
+ - Documentation: git-init: template directory: reword
+ - Documentation: git-init: list items facelift
+ - Documentation: git-init: typographical fixes
+
+ Will merge to 'next'.
+
+
+* lf/bundle-exclusion (2014-08-07) 1 commit
+ - bundle: fix exclusion of annotated tags
+
+ Will merge to 'next'.
+
+
+* mm/log-branch-desc-plug-leak (2014-08-07) 1 commit
+ - builtin/log.c: fix minor memory leak
+
+ Will merge to 'next'.
+
+
+* ta/config-set-1 (2014-08-07) 8 commits
+ - add tests for `git_config_get_string_const()`
+ - add a test for semantic errors in config files
+ - rewrite git_config() to use the config-set API
+ - config: add `git_die_config()` to the config-set API
+ - change `git_config()` return value to void
+ - add line number and file name info to `config_set`
+ - config.c: fix accuracy of line number in errors
+ - config.c: mark error and warnings strings for translation
+ (this branch is used by ta/config-set-2; uses ta/config-set.)
+
+
+* ta/config-set-2 (2014-08-13) 15 commits
+ - builtin/apply.c: replace `git_config()` with `git_config_get_string_const()`
+ - merge-recursive.c: replace `git_config()` with `git_config_get_int()`
+ - ll-merge.c: refactor `read_merge_config()` to use `git_config_string()`
+ - fast-import.c: replace `git_config()` with `git_config_get_*()` family
+ - branch.c: replace `git_config()` with `git_config_get_string()
+ - alias.c: replace `git_config()` with `git_config_get_string()`
+ - imap-send.c: replace `git_config()` with `git_config_get_*()` family
+ - pager.c: replace `git_config()` with `git_config_get_value()`
+ - builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
+ - rerere.c: replace `git_config()` with `git_config_get_*()` family
+ - fetchpack.c: replace `git_config()` with `git_config_get_*()` family
+ - archive.c: replace `git_config()` with `git_config_get_bool()` family
+ - read-cache.c: replace `git_config()` with `git_config_get_*()` family
+ - http-backend.c: replace `git_config()` with `git_config_get_bool()` family
+ - daemon.c: replace `git_config()` with `git_config_get_bool()` family
+ (this branch uses ta/config-set and ta/config-set-1.)
+
+
+* ta/pretty-parse-config (2014-08-04) 1 commit
+ (merged to 'next' on 2014-08-13 at 07396f4)
+ + pretty.c: make git_pretty_formats_config return -1 on git_config_string failure
+
+ Will merge to 'master'.
+
+
* jk/stash-list-p (2014-08-07) 1 commit
- stash: default listing to working-tree diff
* pr/remotes-in-hashmap (2014-07-30) 1 commit
- - use a hashmap to make remotes faster
+ (merged to 'next' on 2014-08-13 at 850c14a)
+ + use a hashmap to make remotes faster
Optimize remotes configuration look-up in a repository with very
many remotes defined.
- Will merge to 'next'.
+ Will merge to 'master'.
* rs/ref-transaction-multi (2014-07-31) 5 commits
- lockfile.c: store absolute path
- lockfile.c: remove PATH_MAX limit in resolve_symlink()
- lockfile.c: remove PATH_MAX limitation (except in resolve_symlink)
- (this branch uses rs/strbuf-getcwd.)
- Will merge to 'next'.
+ Will drop and ask Michael to possibly cooperate and merge with mh/lockfile.
* mm/config-message-i18n (2014-08-01) 1 commit
Update the way the "difftool --help" shows the help message that is
shared with the "mergetool" to reduce one shell dependency.
- Will merge to 'next'.
+ Will be rerolled.
-* rs/strbuf-getcwd (2014-07-29) 10 commits
+* rs/strbuf-getcwd (2014-08-18) 11 commits
+ (merged to 'next' on 2014-08-18 at 9eef2c8)
+ + fixup! setup: convert setup_git_directory_gently_1 et al. to strbuf
(merged to 'next' on 2014-07-31 at 6edc3bc)
+ use strbuf_add_absolute_path() to add absolute paths
+ abspath: convert absolute_path() to strbuf
+ setup: convert setup_git_directory_gently_1 et al. to strbuf
+ unix-sockets: use strbuf_getcwd()
+ strbuf: add strbuf_getcwd()
- (this branch is used by nd/lock-paths-absolute.)
Will cook in 'next'.
* ta/config-set (2014-07-29) 2 commits
- - test-config: add tests for the config_set API
- - add `config_set` API for caching config-like files
+ (merged to 'next' on 2014-08-13 at 99011c8)
+ + test-config: add tests for the config_set API
+ + add `config_set` API for caching config-like files
(this branch is used by ta/config-set-1 and ta/config-set-2.)
Add in-core caching layer to let us avoid reading the same
configuration files number of times.
- Will merge to 'next'.
+ Will merge to 'master'.
* rs/ref-transaction-1 (2014-07-16) 20 commits
rely on symbolic links and make sharing of objects and refs safer
by making the borrowee and borrowers aware of each other.
- Will cook in 'next'.
+ Will kick back to 'pu'.
* nd/multiple-work-trees-1 (2014-07-29) 8 commits
- - checkout --to: do not touch existing target directory
- - checkout: prefix --to argument properly when cwd is moved
- - environment.c: fix incorrect git_graft_file initialization
- - checkout --to: fix dangling pointers in remove_junk()
- - checkout: no auto-detach if the ref is already checked out
- - prune --repos: fix uninitialized access
- - checkout: no need to call check_linked_checkouts if head_ref is NULL
- - gitrepository-layout.txt: s/ignored/ignored if/
+ (merged to 'next' on 2014-08-13 at 4f3a585)
+ + checkout --to: do not touch existing target directory
+ + checkout: prefix --to argument properly when cwd is moved
+ + environment.c: fix incorrect git_graft_file initialization
+ + checkout --to: fix dangling pointers in remove_junk()
+ + checkout: no auto-detach if the ref is already checked out
+ + prune --repos: fix uninitialized access
+ + checkout: no need to call check_linked_checkouts if head_ref is NULL
+ + gitrepository-layout.txt: s/ignored/ignored if/
(this branch uses nd/multiple-work-trees.)
Continue polishing nd/multiple-work-trees topic in 'next'.
- Will merge to 'next'.
+ Will kick back to 'pu'.
* dt/cache-tree-repair (2014-07-14) 4 commits