From 2761533a9b0df8dff2df6912094239cee3b72418 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 11 Sep 2014 15:51:46 -0700 Subject: [PATCH] What's cooking (2014/09 #03) --- whats-cooking.txt | 822 ++++++++++++++++++++++-------------------------------- 1 file changed, 327 insertions(+), 495 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index b8ddb638d5..15226b6df9 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,19 +1,19 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Sep 2014, #02; Tue, 9) -X-master-at: 0c72b98f31bf6eabd75be565a08ffcf0d8e74b1f -X-next-at: 90a3d47e489b9d2109b72bab5f08275f9af8a3ad +Subject: What's cooking in git.git (Sep 2014, #03; Thu, 11) +X-master-at: ce1d3a93a6405b8a0313491df3099919ed3d150f +X-next-at: 9363127135f6ed0af0d141c3fc3ac63acc2d9010 -What's cooking in git.git (Sep 2014, #02; Tue, 9) +What's cooking in git.git (Sep 2014, #03; Thu, 11) -------------------------------------------------- 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 batch of topics have graduated to 'master'. There are -too many topics waiting to be in 'next' but without comments and -reviews on the list, which is somewhat disturbing. +The third batch of topics have graduated to 'master'. There are too +many topics waiting to be in 'next' but without comments and reviews +on the list, which is somewhat disturbing. You can find the changes described here in the integration branches of the repositories listed at @@ -23,222 +23,349 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* bc/imap-send-doc (2014-08-05) 1 commit - (merged to 'next' on 2014-08-29 at 2ea514b) - + imap-send doc: omit confusing "to use imap-send" modifier - - -* jc/apply-ws-prefix (2014-08-07) 3 commits - (merged to 'next' on 2014-08-29 at 67967d3) - + 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 +* br/http-init-fix (2014-08-21) 2 commits + (merged to 'next' on 2014-09-03 at 6d42f5e) + + http: style fixes for curl_multi_init error check + + http.c: die if curl_*_init fails - 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=" mechanism. + Code clean-up. -* jc/config-mak-document-darwin-vs-macosx (2014-08-15) 1 commit - (merged to 'next' on 2014-08-29 at 55e28af) - + config.mak.uname: add hint on uname_R for MacOS X - (this branch uses km/no-apple-common-crypto-on-darwin-8-and-below.) +* br/imap-send-simplify-tunnel-child-process (2014-09-02) 3 commits + (merged to 'next' on 2014-09-04 at a182987) + + imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with() + + imap-send.c: imap_folder -> imap_server_conf.folder + + git-imap-send: simplify tunnel construction + Code clean-up. -* jc/not-mingw-cygwin (2014-07-21) 2 commits - (merged to 'next' on 2014-08-29 at 0d00bb7) - + test prerequisites: enumerate with commas - + test prerequisites: eradicate NOT_FOO - We have been using NOT_{MINGW,CYGWIN} test prerequisites long - before Peff invented support for negated prerequisites e.g. !MINGW - and we still add more uses of the former. Convert them to the - latter to avoid confusion. +* dt/cache-tree-repair (2014-09-03) 5 commits + (merged to 'next' on 2014-09-03 at 1c8ff65) + + cache-tree: do not try to use an invalidated subtree info to build a tree + (merged to 'next' on 2014-08-26 at 6faccdb) + + cache-tree: Write updated cache-tree after commit + + cache-tree: subdirectory tests + + test-dump-cache-tree: invalid trees are not errors + + cache-tree: create/update cache-tree on checkout + Add a few more places in "commit" and "checkout" that make sure + that the cache-tree is fully populated in the index. -* jk/command-line-config-empty-string (2014-08-05) 1 commit - (merged to 'next' on 2014-08-29 at 74f04af) - + 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). +* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit + (merged to 'next' on 2014-09-03 at 5be5957) + + upload-pack: keep poll(2)'s timeout to -1 + We used to pass -1000 to poll(2), expecting it to also mean "no + timeout", which should be spelled as -1. -* jk/prompt-stash-could-be-packed (2014-08-25) 1 commit - (merged to 'next' on 2014-08-29 at 526e3bd) - + git-prompt: do not look for refs/stash in $GIT_DIR - The prompt script checked $GIT_DIR/ref/stash file to see if there - is a stash, which was a no-no. +* jk/contrib-subtree-make-all (2014-08-18) 1 commit + (merged to 'next' on 2014-09-03 at 919d889) + + subtree: make "all" default target of Makefile -* jk/stash-list-p (2014-08-07) 1 commit - (merged to 'next' on 2014-08-29 at db94527) - + stash: default listing to working-tree diff +* jk/fast-import-fixes (2014-08-25) 2 commits + (merged to 'next' on 2014-09-04 at 74838e5) + + fast-import: fix buffer overflow in dump_tags + + fast-import: clean up pack_data pointer in end_packfile - Teach "git stash list -p" to show the difference between the base - commit version and the working tree version, which is in line with - what "git show" gives. + With sufficiently long refnames, fast-import could have overflown + an on-stack buffer. -* km/no-apple-common-crypto-on-darwin-8-and-below (2014-08-15) 1 commit - (merged to 'next' on 2014-08-29 at 8abb416) - + config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems - (this branch is used by jc/config-mak-document-darwin-vs-macosx.) +* jk/make-simplify-dependencies (2014-08-26) 3 commits + (merged to 'next' on 2014-09-03 at 820a600) + + Makefile: drop CHECK_HEADER_DEPENDENCIES code + + Makefile: use `find` to determine static header dependencies + + i18n: treat "make pot" as an explicitly-invoked target - Build automation for older versions of MacOS X. + Admit that keeping LIB_H up-to-date, only for those that do not use + the automatically generated dependencies, is a losing battle, and + make it conservative by making everything depend on anything. -* la/init-doc (2014-08-08) 7 commits - (merged to 'next' on 2014-08-29 at 2cf846b) - + 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 +* jk/name-decoration-alloc (2014-08-27) 3 commits + (merged to 'next' on 2014-09-04 at 05f0d29) + + log-tree: use FLEX_ARRAY in name_decoration + + log-tree: make name_decoration hash static + + log-tree: make add_name_decoration a public function + The API to allocate the structure to keep track of commit + decoration was cumbersome to use, inviting lazy code to + overallocate memory. -* lf/bundle-exclusion (2014-08-07) 1 commit - (merged to 'next' on 2014-08-29 at d84b102) - + bundle: fix exclusion of annotated tags - "git bundle create" with date-range specification were meant to - exclude tags outside the range, but it didn't. +* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit + (merged to 'next' on 2014-09-04 at bfe3873) + + pack-refs: prune top-level refs like "refs/foo" + After "pack-refs --prune" packed refs at the top-level, it failed + to prune them. -* mm/log-branch-desc-plug-leak (2014-08-07) 1 commit - (merged to 'next' on 2014-08-29 at 3580add) - + builtin/log.c: fix minor memory leak +* jn/unpack-trees-checkout-m-carry-deletion (2014-08-25) 3 commits + (merged to 'next' on 2014-09-04 at e15803a) + + 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 -* nd/strbuf-utf8-replace (2014-08-11) 1 commit - (merged to 'next' on 2014-08-29 at 5d1ddf4) - + utf8.c: fix strbuf_utf8_replace() consuming data beyond input string + "git checkout -m" did not switch to another branch while carrying + the local changes forward when a path was deleted from the index. -* rs/clean-menu-item-defn (2014-08-18) 1 commit - (merged to 'next' on 2014-08-29 at 88c1a9d) - + clean: use f(void) instead of f() to declare a pointer to a function without arguments +* mm/discourage-commit-a-to-finish-conflict-resolution (2014-08-28) 1 commit + (merged to 'next' on 2014-09-03 at e3f872f) + + merge, pull: stop advising 'commit -a' in case of conflict -* rs/inline-compat-path-macros (2014-08-18) 1 commit - (merged to 'next' on 2014-08-29 at 5705ad5) - + turn path macros into inline function +* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits + (merged to 'next' on 2014-09-04 at 028cd42) + + fetch: silence git-gc if --quiet is given + + fetch: convert argv_gc_auto to struct argv_array + Progress output from "git gc --auto" was visible in "git fetch -q". -* rs/refresh-beyond-symlink (2014-08-10) 1 commit - (merged to 'next' on 2014-08-29 at 90a4a8b) - + 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. +* nd/large-blobs (2014-08-18) 5 commits + (merged to 'next' on 2014-09-04 at 16d7c62) + + 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() + Teach a few codepaths to punt (instead of dying) when large blobs + that would not fit in core are involved in the operation. -* sb/blame-msg-i18n (2014-08-12) 1 commit - (merged to 'next' on 2014-08-29 at 5b33466) - + builtin/blame.c: add translation to warning about failed revision walk +* nd/mv-code-cleaning (2014-09-03) 8 commits + (merged to 'next' on 2014-09-03 at 4315447) + + 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 -* sb/mailsplit-dead-code-removal (2014-08-13) 1 commit - (merged to 'next' on 2014-08-29 at 4f9ca4f) - + mailsplit.c: remove dead code + Code clean-up. -* sb/plug-leaks (2014-08-10) 2 commits - (merged to 'next' on 2014-08-29 at e42f0b8) - + clone.c: don't leak memory in cmd_clone - + remote.c: don't leak the base branch name in format_tracking_info +* rs/child-process-init (2014-08-20) 4 commits + (merged to 'next' on 2014-09-03 at c17c06c) + + 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 + Code clean-up. -* sb/prepare-revision-walk-error-check (2014-08-12) 1 commit - (merged to 'next' on 2014-08-29 at fb82508) - + prepare_revision_walk(): check for return value in all places +* rs/list-optim (2014-08-25) 2 commits + (merged to 'next' on 2014-09-04 at eecaf99) + + walker: avoid quadratic list insertion in mark_complete + + sha1_name: avoid quadratic list insertion in handle_one_ref -* so/rebase-doc (2014-08-12) 1 commit - (merged to 'next' on 2014-08-29 at 77cfce1) - + Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op + Fix a couple of "accumulate into a sorted list" to "accumulate and + then sort the list". - May need further updates to the description to explain what makes - various modes of operation to decide that the request can become a - "no-op". +* rs/ref-transaction-1 (2014-09-03) 22 commits + (merged to 'next' on 2014-09-03 at 68e20b8) + + update-ref --stdin: pass transaction around explicitly + + update-ref --stdin: narrow scope of err strbuf + + refs.c: make delete_ref use a transaction + + refs.c: make prune_ref use a transaction to delete the ref + + refs.c: remove lock_ref_sha1 + + refs.c: remove the update_ref_write function + + refs.c: remove the update_ref_lock function + + refs.c: make lock_ref_sha1 static + + walker.c: use ref transaction for ref updates + + fast-import.c: use a ref transaction when dumping tags + + receive-pack.c: use a reference transaction for updating the refs + + refs.c: change update_ref to use a transaction + + branch.c: use ref transaction for all ref updates + + fast-import.c: change update_branch to use ref transactions + + sequencer.c: use ref transactions for all ref updates + + commit.c: use ref transactions for updates + + replace.c: use the ref transaction functions for updates + + tag.c: use ref transactions when doing updates + + refs.c: add transaction.status and track OPEN/CLOSED + + refs.c: make ref_transaction_begin take an err argument + + refs.c: update ref_transaction_delete to check for error and return status + + refs.c: change ref_transaction_create to do error checking and return status + (this branch is used by rs/ref-transaction, rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.) -* sp/pack-protocol-doc-on-shallow (2014-08-28) 1 commit - (merged to 'next' on 2014-08-29 at b1ae451) - + Document LF appearing in shallow command during send-pack/receive-pack + The second batch of the transactional ref update series. -* tb/pretty-format-cd-date-format (2014-08-21) 1 commit - (merged to 'next' on 2014-08-29 at ab8ccd4) - + pretty: note that %cd respects the --date= option +* ta/config-set-1 (2014-08-07) 8 commits + (merged to 'next' on 2014-09-03 at 184b2ef) + + 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.) - Documentation update. + Use the new caching config-set API in git_config() calls. -* tf/imap-send-create (2014-08-25) 2 commits - (merged to 'next' on 2014-08-29 at 8390945) - + imap-send: create target mailbox if it is missing - + imap-send: clarify CRAM-MD5 vs LOGIN documentation +* ta/config-set-2 (2014-08-13) 15 commits + (merged to 'next' on 2014-09-03 at f2eff02) + + 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-1.) + Update git_config() users with callback functions for a very narrow + scope with calls to config-set API that lets us query a single + variable. -------------------------------------------------- [New Topics] -* as/calloc-takes-nmemb-then-size (2014-09-03) 1 commit - - calloc() and xcalloc() takes nmemb and then size +* jc/hash-object (2014-09-11) 3 commits + - hash-object: add --literally option + - hash-object: pass 'write_object' as a flag + - hash-object: reduce file-scope statics + (this branch is used by jc/hash-object-fsck-tag.) - Code clean-up. + "hash-object" learned a new "--literally" option to hash any random + garbage into a loose object, to allow us to create a test data for + mechanisms to catch corrupt objects. - Will merge to 'next'. +* jc/hash-object-fsck-tag (2014-09-11) 2 commits + - t1450: make sure fsck detects a malformed tagger line + - Merge branch 'js/fsck-tag-validation' into HEAD + (this branch uses jc/hash-object and js/fsck-tag-validation.) + + Using "hash-object --literally", test one of the new breakages + js/fsck-tag-validation topic teaches "fsck" to catch is caught. -* tb/complete-diff-ignore-blank-lines (2014-09-03) 1 commit - - completion: Add --ignore-blank-lines for diff + +* jk/fsck-exit-code-fix (2014-09-10) 1 commit + - fsck: exit with non-zero status upon error from fsck_obj() + + "git fsck" failed to report that it found corrupt objects via its + exit status in some cases. Will merge to 'next'. -* jc/parseopt-verify-short-name (2014-09-04) 1 commit - - parse-options: detect attempt to add a duplicate short option name +* js/fsck-tag-validation (2014-09-11) 6 commits + - Make sure that index-pack --strict checks tag objects + - Add regression tests for stricter tag fsck'ing + - fsck: check tag objects' headers + - Make sure fsck_commit_buffer() does not run out of the buffer + - fsck_object(): allow passing object data separately from the object itself + - Refactor type_from_string() to allow continuing after detecting an error + (this branch is used by jc/hash-object-fsck-tag.) - Add checks for a common programming mistake to assign the same - short option name to two separate options to help developers. + Teach "git fsck" to inspect the contents of annotated tag objects. Will merge to 'next'. +-------------------------------------------------- +[Stalled] -* rs/more-uses-of-skip-prefix (2014-09-02) 2 commits - - pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt() - - connect: simplify check_ref() using skip_prefix() and starts_with() +* rs/ref-transaction-multi (2014-09-03) 7 commits + - ### rs/ref-transaction-multi + - refs.c: make the *_packed_refs functions static + - refs.c: make repack_without_refs static + - remote.c: use a transaction for deleting refs + - refs.c: write updates to packed refs when a transaction has more than one ref + - refs.c: move reflog updates into its own function + - ### rs/ref-transaction-rename + (this branch uses rs/ref-transaction, rs/ref-transaction-reflog and rs/ref-transaction-rename.) - Code clean-up. + Follow-up on rs/ref-transaction series to use the packed-ref to + achieve atomicity when multiple refs are involved. - Will merge to 'next'. + It appears that rs/ref-transaction series is being rerolled, so + these will be rerolled as well. -* kb/perf-trace (2014-09-08) 1 commit - - trace: correct trace_strbuf() parameter type for !HAVE_VARIADIC_MACROS +* rs/ref-transaction-rename (2014-09-03) 6 commits + - refs.c: rollback the lockfile before we die() in repack_without_refs + - refs.c: update rename_ref to use a transaction + - refs.c: use packed refs when deleting refs during a transaction + - refs.c: return error instead of dying when locking fails during transaction + - refs.c: allow passing raw git_committer_info as email to _update_reflog + - ### rs/ref-transaction-reflog + (this branch is used by rs/ref-transaction-multi; uses rs/ref-transaction and rs/ref-transaction-reflog.) - Compilation fix for some compilers. + Follow-up on rs/ref-transaction series to make renaming a ref + transactional (i.e. "delete old and create new" should not leave + an in-between state behind when it fails). - Will merge to 'next'. + It appears that rs/ref-transaction series is being rerolled, so + these will be rerolled as well. -* rs/export-strbuf-addchars (2014-09-08) 2 commits - - strbuf: use strbuf_addchars() for adding a char multiple times - - strbuf: export strbuf_addchars() +* rs/ref-transaction-reflog (2014-09-03) 16 commits + - refs.c: allow deleting refs with a broken sha1 + - refs.c: remove lock_any_ref_for_update + - refs.c: make unlock_ref/close_ref/commit_ref static + - refs.c: rename log_ref_setup to create_reflog + - reflog.c: use a reflog transaction when writing during expire + - refs.c: allow multiple reflog updates during a single transaction + - refs.c: only write reflog update if msg is non-NULL + - refs.c: add a flag to allow reflog updates to truncate the log + - refs.c: add a transaction function to append a reflog entry + - lockfile.c: make hold_lock_file_for_append preserve meaningful errno + - refs.c: add a function to append a reflog entry to a fd + - refs.c: add a new update_type field to ref_update + - refs.c: rename the transaction functions + - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update + - refs.c: make ref_transaction_create a wrapper to ref_transaction_update + - ### rs/ref-transaction + (this branch is used by rs/ref-transaction-multi and rs/ref-transaction-rename; uses rs/ref-transaction.) - Code clean-up. + Cover updates to reflog with the same transaction mechanism as used + for reflog manipulations. - Will merge to 'next'. + It appears that rs/ref-transaction series is being rerolled, so + these will be rerolled as well. + + +* rs/ref-transaction (2014-09-03) 13 commits + - refs.c: fix handling of badly named refs + - refs.c: make write_ref_sha1 static + - fetch.c: change s_update_ref to use a ref transaction + - refs.c: propagate any errno==ENOTDIR from _commit back to the callers + - refs.c: pass a skip list to name_conflict_fn + - refs.c: call lock_ref_sha1_basic directly from commit + - refs.c: move the check for valid refname to lock_ref_sha1_basic + - refs.c: pass NULL as *flags to read_ref_full + - refs.c: pass the ref log message to _create/delete/update instead of _commit + - refs.c: add an err argument to delete_ref_loose + - wrapper.c: add a new function unlink_or_msg + - wrapper.c: simplify warn_if_unremovable + - ### rs/ref-transaction-1 + (this branch is used by rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.) + + Rerolled and was asked to wait. Seems to break "git remote rm". --------------------------------------------------- -[Stalled] * hv/submodule-config (2014-06-30) 4 commits - do not die on error of parsing fetchrecursesubmodules option @@ -426,10 +553,59 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* tr/remerge-diff (2014-09-08) 8 commits - - log --remerge-diff: show what the conflict resolution changed - - name-hash: allow dir hashing even when !ignore_case - - merge-recursive: allow storing conflict hunks in index +* as/calloc-takes-nmemb-then-size (2014-09-03) 1 commit + - calloc() and xcalloc() takes nmemb and then size + + Code clean-up. + + Will merge to 'next'. + + +* tb/complete-diff-ignore-blank-lines (2014-09-03) 1 commit + - completion: Add --ignore-blank-lines for diff + + Will merge to 'next'. + + +* jc/parseopt-verify-short-name (2014-09-04) 1 commit + - parse-options: detect attempt to add a duplicate short option name + + Add checks for a common programming mistake to assign the same + short option name to two separate options to help developers. + + Will merge to 'next'. + + +* rs/more-uses-of-skip-prefix (2014-09-02) 2 commits + - pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt() + - connect: simplify check_ref() using skip_prefix() and starts_with() + + Code clean-up. + + Will merge to 'next'. + + +* kb/perf-trace (2014-09-08) 1 commit + - trace: correct trace_strbuf() parameter type for !HAVE_VARIADIC_MACROS + + Compilation fix for some compilers. + + Will merge to 'next'. + + +* rs/export-strbuf-addchars (2014-09-08) 2 commits + - strbuf: use strbuf_addchars() for adding a char multiple times + - strbuf: export strbuf_addchars() + + Code clean-up. + + Will merge to 'next'. + + +* tr/remerge-diff (2014-09-08) 8 commits + - log --remerge-diff: show what the conflict resolution changed + - name-hash: allow dir hashing even when !ignore_case + - merge-recursive: allow storing conflict hunks in index - merge_diff_mode: fold all merge diff variants into an enum - combine-diff: do not pass revs->dense_combined_merges redundantly - merge-recursive: -Xindex-only to leave worktree unchanged @@ -444,8 +620,7 @@ of the repositories listed at Review comments sent. - -* mh/lockfile (2014-09-08) 33 commits +* mh/lockfile (2014-09-11) 33 commits - lockfile.c: store absolute path - Extract a function commit_lock_file_to() - trim_last_path_elm(): replace last_path_elm() @@ -480,7 +655,7 @@ of the repositories listed at - api-lockfile: expand the documentation - unable_to_lock_die(): rename function from unable_to_lock_index_die() - Rerolled but not reviewed yet. + Rerolled and reviews starting. * nd/multiple-work-trees (2014-09-03) 32 commits @@ -521,6 +696,9 @@ of the repositories listed at rely on symbolic links and make sharing of objects and refs safer by making the borrowee and borrowers aware of each other. + Re-reroll posted but haven't had a chance to pick it up yet. + The series already received a few comments. + * cc/interpret-trailers (2014-05-28) 11 commits - Documentation: add documentation for 'git interpret-trailers' @@ -564,13 +742,6 @@ of the repositories listed at Will merge to 'next'. -* jk/contrib-subtree-make-all (2014-08-18) 1 commit - (merged to 'next' on 2014-09-03 at 919d889) - + subtree: make "all" default target of Makefile - - Will merge to 'master'. - - * jk/fast-export-anonymize (2014-08-28) 2 commits - docs/fast-export: explain --anonymize more completely - teach fast-export an --anonymize option @@ -635,13 +806,6 @@ of the repositories listed at Will merge to 'next'. -* mm/discourage-commit-a-to-finish-conflict-resolution (2014-08-28) 1 commit - (merged to 'next' on 2014-09-03 at e3f872f) - + merge, pull: stop advising 'commit -a' in case of conflict - - Will merge to 'master'. - - * ah/grammofix (2014-09-02) 1 commit - grammofix in user-facing messages @@ -705,147 +869,6 @@ of the repositories listed at We may want to undo the "a^" bit along the lines of $gmane/255445 -* et/spell-poll-infinite-with-minus-one-only (2014-08-22) 1 commit - (merged to 'next' on 2014-09-03 at 5be5957) - + upload-pack: keep poll(2)'s timeout to -1 - - We used to pass -1000 to poll(2), expecting it to also mean "no - timeout", which should be spelled as -1. - - Will merge to 'master'. - - -* jk/make-simplify-dependencies (2014-08-26) 3 commits - (merged to 'next' on 2014-09-03 at 820a600) - + Makefile: drop CHECK_HEADER_DEPENDENCIES code - + Makefile: use `find` to determine static header dependencies - + i18n: treat "make pot" as an explicitly-invoked target - - Admit that keeping LIB_H up-to-date, only for those that do not use - the automatically generated dependencies, is a losing battle, and - make it conservative by making everything depend on anything. - - Will merge to 'master'. - - -* jk/prune-top-level-refs-after-packing (2014-08-25) 1 commit - (merged to 'next' on 2014-09-04 at bfe3873) - + pack-refs: prune top-level refs like "refs/foo" - - After "pack-refs --prune" packed refs at the top-level, it failed - to prune them. - - Will merge to 'master'. - - -* jk/fast-import-fixes (2014-08-25) 2 commits - (merged to 'next' on 2014-09-04 at 74838e5) - + fast-import: fix buffer overflow in dump_tags - + fast-import: clean up pack_data pointer in end_packfile - - With sufficiently long refnames, fast-import could have overflown - an on-stack buffer. - - Will merge to 'master'. - - -* nd/fetch-pass-quiet-to-gc-child-process (2014-08-18) 2 commits - (merged to 'next' on 2014-09-04 at 028cd42) - + fetch: silence git-gc if --quiet is given - + fetch: convert argv_gc_auto to struct argv_array - - Progress output from "git gc --auto" was visible in "git fetch -q". - - Will merge to 'master'. - - -* rs/list-optim (2014-08-25) 2 commits - (merged to 'next' on 2014-09-04 at eecaf99) - + walker: avoid quadratic list insertion in mark_complete - + sha1_name: avoid quadratic list insertion in handle_one_ref - - Fix a couple of "accumulate into a sorted list" to "accumulate and - then sort the list". - - Will merge to 'master'. - - -* jk/name-decoration-alloc (2014-08-27) 3 commits - (merged to 'next' on 2014-09-04 at 05f0d29) - + log-tree: use FLEX_ARRAY in name_decoration - + log-tree: make name_decoration hash static - + log-tree: make add_name_decoration a public function - - The API to allocate the structure to keep track of commit - decoration was cumbersome to use, inviting lazy code to - overallocate memory. - - Will merge to 'master'. - - -* br/http-init-fix (2014-08-21) 2 commits - (merged to 'next' on 2014-09-03 at 6d42f5e) - + http: style fixes for curl_multi_init error check - + http.c: die if curl_*_init fails - - Code clean-up. - - Will merge to 'master'. - - -* br/imap-send-simplify-tunnel-child-process (2014-09-02) 3 commits - (merged to 'next' on 2014-09-04 at a182987) - + imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with() - + imap-send.c: imap_folder -> imap_server_conf.folder - + git-imap-send: simplify tunnel construction - - Code clean-up. - - Will merge to 'master'. - - -* jn/unpack-trees-checkout-m-carry-deletion (2014-08-25) 3 commits - (merged to 'next' on 2014-09-04 at e15803a) - + 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 - - "git checkout -m" did not switch to another branch while carrying - the local changes forward when a path was deleted from the index. - - Will merge to 'master'. - - -* nd/large-blobs (2014-08-18) 5 commits - (merged to 'next' on 2014-09-04 at 16d7c62) - + 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() - - Teach a few codepaths to punt (instead of dying) when large blobs - that would not fit in core are involved in the operation. - - Will merge to 'master'. - - -* nd/mv-code-cleaning (2014-09-03) 8 commits - (merged to 'next' on 2014-09-03 at 4315447) - + 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 - - Code clean-up. - - Will merge to 'master'. - - * sp/stream-clean-filter (2014-08-28) 6 commits - convert: stream from fd to required clean filter to reduce used address space - copy_fd(): do not close the input file descriptor @@ -886,189 +909,9 @@ of the repositories listed at tips of branches at a public repository really point the commits the pusher wanted to, without having to "trust" the server. - Hopefully a final reroll. Comments & reviews? - - -* rs/child-process-init (2014-08-20) 4 commits - (merged to 'next' on 2014-09-03 at c17c06c) - + 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 - - Code clean-up. - - Will merge to 'master'. - - -* ta/config-set-1 (2014-08-07) 8 commits - (merged to 'next' on 2014-09-03 at 184b2ef) - + 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.) - - Use the new caching config-set API in git_config() calls. - - Will merge to 'master'. - - -* ta/config-set-2 (2014-08-13) 15 commits - (merged to 'next' on 2014-09-03 at f2eff02) - + 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-1.) - - Update git_config() users with callback functions for a very narrow - scope with calls to config-set API that lets us query a single - variable. - - Will merge to 'master'. - - -* rs/ref-transaction-multi (2014-09-03) 7 commits - - ### rs/ref-transaction-multi - - refs.c: make the *_packed_refs functions static - - refs.c: make repack_without_refs static - - remote.c: use a transaction for deleting refs - - refs.c: write updates to packed refs when a transaction has more than one ref - - refs.c: move reflog updates into its own function - - ### rs/ref-transaction-rename - (this branch uses rs/ref-transaction, rs/ref-transaction-1, rs/ref-transaction-reflog and rs/ref-transaction-rename.) - - Follow-up on rs/ref-transaction series to use the packed-ref to - achieve atomicity when multiple refs are involved. - Comments & reviews? -* rs/ref-transaction-rename (2014-09-03) 6 commits - - refs.c: rollback the lockfile before we die() in repack_without_refs - - refs.c: update rename_ref to use a transaction - - refs.c: use packed refs when deleting refs during a transaction - - refs.c: return error instead of dying when locking fails during transaction - - refs.c: allow passing raw git_committer_info as email to _update_reflog - - ### rs/ref-transaction-reflog - (this branch is used by rs/ref-transaction-multi; uses rs/ref-transaction, rs/ref-transaction-1 and rs/ref-transaction-reflog.) - - Follow-up on rs/ref-transaction series to make renaming a ref - transactional (i.e. "delete old and create new" should not leave - an in-between state behind when it fails). - - Comments & reviews? - - -* rs/ref-transaction-reflog (2014-09-03) 16 commits - - refs.c: allow deleting refs with a broken sha1 - - refs.c: remove lock_any_ref_for_update - - refs.c: make unlock_ref/close_ref/commit_ref static - - refs.c: rename log_ref_setup to create_reflog - - reflog.c: use a reflog transaction when writing during expire - - refs.c: allow multiple reflog updates during a single transaction - - refs.c: only write reflog update if msg is non-NULL - - refs.c: add a flag to allow reflog updates to truncate the log - - refs.c: add a transaction function to append a reflog entry - - lockfile.c: make hold_lock_file_for_append preserve meaningful errno - - refs.c: add a function to append a reflog entry to a fd - - refs.c: add a new update_type field to ref_update - - refs.c: rename the transaction functions - - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update - - refs.c: make ref_transaction_create a wrapper to ref_transaction_update - - ### rs/ref-transaction - (this branch is used by rs/ref-transaction-multi and rs/ref-transaction-rename; uses rs/ref-transaction and rs/ref-transaction-1.) - - Cover updates to reflog with the same transaction mechanism as used - for reflog manipulations. - - Comments & reviews? - Otherwise will merge to 'next'. - - - -* rs/ref-transaction (2014-09-03) 13 commits - - refs.c: fix handling of badly named refs - - refs.c: make write_ref_sha1 static - - fetch.c: change s_update_ref to use a ref transaction - - refs.c: propagate any errno==ENOTDIR from _commit back to the callers - - refs.c: pass a skip list to name_conflict_fn - - refs.c: call lock_ref_sha1_basic directly from commit - - refs.c: move the check for valid refname to lock_ref_sha1_basic - - refs.c: pass NULL as *flags to read_ref_full - - refs.c: pass the ref log message to _create/delete/update instead of _commit - - refs.c: add an err argument to delete_ref_loose - - wrapper.c: add a new function unlink_or_msg - - wrapper.c: simplify warn_if_unremovable - - ### rs/ref-transaction-1 - (this branch is used by rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename; uses rs/ref-transaction-1.) - - Comments & reviews? - Otherwise will merge to 'next'. - - -* rs/ref-transaction-1 (2014-09-03) 22 commits - (merged to 'next' on 2014-09-03 at 68e20b8) - + update-ref --stdin: pass transaction around explicitly - + update-ref --stdin: narrow scope of err strbuf - + refs.c: make delete_ref use a transaction - + refs.c: make prune_ref use a transaction to delete the ref - + refs.c: remove lock_ref_sha1 - + refs.c: remove the update_ref_write function - + refs.c: remove the update_ref_lock function - + refs.c: make lock_ref_sha1 static - + walker.c: use ref transaction for ref updates - + fast-import.c: use a ref transaction when dumping tags - + receive-pack.c: use a reference transaction for updating the refs - + refs.c: change update_ref to use a transaction - + branch.c: use ref transaction for all ref updates - + fast-import.c: change update_branch to use ref transactions - + sequencer.c: use ref transactions for all ref updates - + commit.c: use ref transactions for updates - + replace.c: use the ref transaction functions for updates - + tag.c: use ref transactions when doing updates - + refs.c: add transaction.status and track OPEN/CLOSED - + refs.c: make ref_transaction_begin take an err argument - + refs.c: update ref_transaction_delete to check for error and return status - + refs.c: change ref_transaction_create to do error checking and return status - (this branch is used by rs/ref-transaction, rs/ref-transaction-multi, rs/ref-transaction-reflog and rs/ref-transaction-rename.) - - The second batch of the transactional ref update series. - - Will merge to 'master'. - - -* dt/cache-tree-repair (2014-09-03) 5 commits - (merged to 'next' on 2014-09-03 at 1c8ff65) - + cache-tree: do not try to use an invalidated subtree info to build a tree - (merged to 'next' on 2014-08-26 at 6faccdb) - + cache-tree: Write updated cache-tree after commit - + cache-tree: subdirectory tests - + test-dump-cache-tree: invalid trees are not errors - + cache-tree: create/update cache-tree on checkout - - Add a few more places in "commit" and "checkout" that make sure - that the cache-tree is fully populated in the index. - - Will merge to 'master'. - - * jc/test-lazy-prereq (2014-06-13) 1 commit - tests: drop GIT_*_TIMING_TESTS environment variable support @@ -1088,14 +931,3 @@ of the repositories listed at Nobody seems to be jumping up & down requesting this last step. Perhaps will drop. - - --------------------------------------------------- -[Discarded] - -* tr/merge-recursive-index-only (2014-02-05) 3 commits - - merge-recursive: -Xindex-only to leave worktree unchanged - - merge-recursive: internal flag to avoid touching the worktree - - merge-recursive: remove dead conditional in update_stages() - - Now part of tr/remerge-diff. -- 2.11.4.GIT