From 618111e92dd8e6aebd8ef2419e7f56166721bc38 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 16 Jul 2014 15:01:02 -0700 Subject: [PATCH] What's cooking (2014/07 #03) --- whats-cooking.txt | 733 ++++++++++++++++++++++++------------------------------ 1 file changed, 322 insertions(+), 411 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 6c1598e4f8..ad6a0fc322 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Jul 2014, #02; Mon, 14) -X-master-at: 66f467c3e6aa9c1e28eaf7b71cea5e452fc104e8 -X-next-at: a2efa2fd3a2243dea76a6988cbda3d2f4acf3381 +Subject: What's cooking in git.git (Jul 2014, #03; Wed, 16) +X-master-at: f2c9f21369931c2e4254e49d8f3b3fac5ba8a60b +X-next-at: 90283d95492651270a8e9db89e85c40d47c28585 -What's cooking in git.git (Jul 2014, #02; Mon, 14) +What's cooking in git.git (Jul 2014, #03; Wed, 16) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,9 +12,10 @@ Here are the topics that have been cooking. Commits prefixed with '+' are in 'next'. We would need to start slowing down to prepare for -rc0 preview at -the end of next week and then feature freeze. Some topics that +the end of this week and then feature freeze. Some topics that joined 'next' late may want to stay there for the remainder of this -cycle. +cycle. Many of the accumulated fixes have been flushed to 'maint' +and Git 2.0.2 has been tagged. You can find the changes described here in the integration branches of the repositories listed at @@ -24,27 +25,98 @@ of the repositories listed at -------------------------------------------------- [New Topics] -* jk/skip-prefix (2014-07-10) 1 commit - (merged to 'next' on 2014-07-14 at 0fbd06e) - + tag: use skip_prefix instead of magic numbers - (this branch is used by jk/tag-sort.) +* ek/alt-odb-entry-fix (2014-07-15) 1 commit + - sha1_file: do not add own object directory as alternate - Will merge to 'master'. + Will merge to 'next'. - One more to an already graduated topic. +* jk/rebase-am-fork-point (2014-07-16) 2 commits + - rebase: omit patch-identical commits with --fork-point + - rebase--am: use --cherry-pick instead of --ignore-if-in-upstream -* rs/code-cleaning (2014-07-10) 5 commits - (merged to 'next' on 2014-07-14 at d5a89c8) - + fsck: simplify fsck_commit_buffer() by using commit_list_count() - + commit: use commit_list_append() instead of duplicating its code - + merge: simplify merge_trivial() by using commit_list_append() - + use strbuf_addch for adding single characters - + use strbuf_addbuf for adding strbufs + Will merge to 'next'. + + +* jk/stable-prio-queue (2014-07-15) 4 commits + - t5539: update a flaky test + - paint_down_to_common: use prio_queue + - prio-queue: make output stable with respect to insertion + - prio-queue: factor out compare and swap operations + + +* jk/tag-sort (2014-07-13) 2 commits + - tag: support configuring --sort via .gitconfig + - tag: fix --sort tests to use cat<<-\EOF format + + v10 ($gmane/253695) needs to be picked up and replace these. + + +* nd/path-max-must-go (2014-07-14) 3 commits + (merged to 'next' on 2014-07-15 at ce68dde) + + prep_exclude: remove the artificial PATH_MAX limit + + dir.h: move struct exclude declaration to top level + + dir.c: coding style fix Will merge to 'master'. +* sk/mingw-uni-fix (2014-07-15) 3 commits + - tests: do not pass iso8859-1 encoded parameter + - Win32: Unicode file name support (dirent) + - Win32: Unicode file name support (except dirent) + + Will merge to 'next'. + + +* ta/config-set (2014-07-15) 2 commits + - test-config: add tests for the config_set API + - add `config_set` API for caching config-like files + + Still being discussed. + + +* kb/avoid-fchmod-for-now (2014-07-16) 1 commit + - config: use chmod() instead of fchmod() + + Replaces the only two uses of fchmod() with chmod() because the + former does not work on Windows port and because luckily we can. + + +* rs/ref-transaction-1 (2014-07-16) 20 commits + - 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/ERROR + - 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; uses rs/ref-transaction-0.) + + The second batch of the transactional ref update series. + + +* rs/unify-is-branch (2014-07-16) 1 commit + - refs.c: add a public is_branch function + + Will merge to 'next'. + +-------------------------------------------------- +[Graduated to "master"] + * ah/fix-http-push (2014-07-13) 1 commit (merged to 'next' on 2014-07-14 at 5d06516) + http-push.c: make CURLOPT_IOCTLDATA a usable pointer @@ -52,214 +124,167 @@ of the repositories listed at An ancient rewrite passed a wrong pointer to a curl library function in a rarely used code path. - Will merge to 'master'. +* cb/filter-branch-prune-empty-degenerate-merges (2014-07-01) 1 commit + (merged to 'next' on 2014-07-10 at 860cfea) + + filter-branch: eliminate duplicate mapped parents -* jc/reopen-lock-file (2014-07-14) 1 commit - - lockfile: allow reopening a closed but still locked file - (this branch uses nd/split-index.) + "filter-branch" left an empty single-parent commit that results when + all parents of a merge commit gets mapped to the same commit, even + under "--prune-empty". - Needed in the "commit -p" code path to update the cache tree in the - index. +* cc/replace-edit (2014-06-25) 3 commits + (merged to 'next' on 2014-07-10 at 097cd5e) + + replace: use argv_array in export_object + + avoid double close of descriptors handed to run_command + + replace: replace spaces with tabs in indentation + (this branch is used by jk/replace-edit-raw.) -* jk/alloc-commit-id (2014-07-13) 8 commits - - diff-tree: avoid lookup_unknown_object - - object_as_type: set commit index - - alloc: factor out commit index - - add object_as_type helper for casting objects - - parse_object_buffer: do not set object type - - move setting of object->type to alloc_* functions - - alloc: write out allocator definitions - - alloc.c: remove the alloc_raw_commit_node() function + Teach "git replace" an "--edit" mode. - Make sure all in-core commit objects are assigned a unique number - so that they can be annotated using the commit-slab API. - Will merge to 'next'. +* ep/submodule-code-cleanup (2014-06-30) 1 commit + (merged to 'next' on 2014-07-10 at d4de30a) + + submodule.c: use the ARRAY_SIZE macro -* jk/remote-curl-squelch-extra-errors (2014-07-10) 3 commits - (merged to 'next' on 2014-07-14 at a2efa2f) - + remote-curl: mark helper-protocol errors more clearly - + remote-curl: use error instead of fprintf(stderr) - + remote-curl: do not complain on EOF from parent git +* jk/replace-edit-raw (2014-06-25) 1 commit + (merged to 'next' on 2014-07-10 at b934bb0) + + replace: add a --raw mode for --edit + (this branch uses cc/replace-edit.) - Will merge to 'master'. + Teach "git replace --edit" mode a "--raw" option to allow + editing the bare-metal representation data of objects. -* rs/ref-transaction-0 (2014-07-14) 19 commits - (merged to 'next' on 2014-07-14 at b21bcee) - + refs.c: change ref_transaction_update() to do error checking and return status - + refs.c: remove the onerr argument to ref_transaction_commit - + update-ref: use err argument to get error from ref_transaction_commit - + refs.c: make update_ref_write update a strbuf on failure - + refs.c: make ref_update_reject_duplicates take a strbuf argument for errors - + refs.c: log_ref_write should try to return meaningful errno - + refs.c: make resolve_ref_unsafe set errno to something meaningful on error - + refs.c: commit_packed_refs to return a meaningful errno on failure - + refs.c: make remove_empty_directories always set errno to something sane - + refs.c: verify_lock should set errno to something meaningful - + refs.c: make sure log_ref_setup returns a meaningful errno - + refs.c: add an err argument to repack_without_refs - + lockfile.c: make lock_file return a meaningful errno on failurei - + lockfile.c: add a new public function unable_to_lock_message - + refs.c: add a strbuf argument to ref_transaction_commit for error logging - + refs.c: allow passing NULL to ref_transaction_free - + refs.c: constify the sha arguments for ref_transaction_create|delete|update - + refs.c: ref_transaction_commit should not free the transaction - + refs.c: remove ref_transaction_rollback - (this branch is used by rs/ref-transaction.) +* jk/skip-prefix (2014-07-10) 1 commit + (merged to 'next' on 2014-07-14 at 0fbd06e) + + tag: use skip_prefix instead of magic numbers + (this branch is used by jk/tag-sort.) - Early part of Ronnie's "ref transaction" topic. - Portability workaround may be needed on top ($gmane/252496). + One more to an already graduated topic. + + +* jk/strip-suffix (2014-06-30) 9 commits + (merged to 'next' on 2014-07-10 at e6cfa29) + + prepare_packed_git_one: refactor duplicate-pack check + + verify-pack: use strbuf_strip_suffix + + strbuf: implement strbuf_strip_suffix + + index-pack: use strip_suffix to avoid magic numbers + + use strip_suffix instead of ends_with in simple cases + + replace has_extension with ends_with + + implement ends_with via strip_suffix + + add strip_suffix function + + sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one() + + +* jl/test-lint-scripts (2014-07-10) 2 commits + (merged to 'next' on 2014-07-14 at c03721c) + + t/Makefile: always test all lint targets when running tests + + t/Makefile: check helper scripts for non-portable shell commands too + + +* mg/fix-log-mergetag-color (2014-07-10) 1 commit + (merged to 'next' on 2014-07-14 at e90dba1) + + log: correctly identify mergetag signature verification status + + +* mk/merge-incomplete-files (2014-06-30) 2 commits + (merged to 'next' on 2014-07-10 at d1115f4) + + git-merge-file: do not add LF at EOF while applying unrelated change + + t6023-merge-file.sh: fix and mark as broken invalid tests + + Merging changes into a file that ends in an incomplete line made the + last line into a complete one, even when the other branch did not + change anything around the end of file. + + +* nd/split-index (2014-06-13) 32 commits + (merged to 'next' on 2014-07-08 at 49325ef) + + t1700: new tests for split-index mode + + t2104: make sure split index mode is off for the version test + + read-cache: force split index mode with GIT_TEST_SPLIT_INDEX + + read-tree: note about dropping split-index mode or index version + + read-tree: force split-index mode off on --index-output + + rev-parse: add --shared-index-path to get shared index path + + update-index --split-index: do not split if $GIT_DIR is read only + + update-index: new options to enable/disable split index mode + + split-index: strip pathname of on-disk replaced entries + + split-index: do not invalidate cache-tree at read time + + split-index: the reading part + + split-index: the writing part + + read-cache: mark updated entries for split index + + read-cache: save deleted entries in split index + + read-cache: mark new entries for split index + + read-cache: split-index mode + + read-cache: save index SHA-1 after reading + + entry.c: update cache_changed if refresh_cache is set in checkout_entry() + + cache-tree: mark istate->cache_changed on prime_cache_tree() + + cache-tree: mark istate->cache_changed on cache tree update + + cache-tree: mark istate->cache_changed on cache tree invalidation + + unpack-trees: be specific what part of the index has changed + + resolve-undo: be specific what part of the index has changed + + update-index: be specific what part of the index has changed + + read-cache: be specific what part of the index has changed + + read-cache: be strict about "changed" in remove_marked_cache_entries() + + read-cache: store in-memory flags in the first 12 bits of ce_flags + + read-cache: relocate and unexport commit_locked_index() + + read-cache: new API write_locked_index instead of write_index/write_cache + + sequencer: do not update/refresh index if the lock cannot be held + + ewah: delete unused ewah_read_mmap_native declaration + + ewah: fix constness of ewah_read_mmap + (this branch is used by jc/reopen-lock-file.) + + An experiment to use two files (the base file and incremental + changes relative to it) to represent the index to reduce I/O cost + of rewriting a large index when only small part of the working tree + changes. --------------------------------------------------- -[Graduated to "master"] -* jk/skip-prefix (2014-06-20) 18 commits - (merged to 'next' on 2014-06-23 at cd387a6) - + http-push: refactor parsing of remote object names - + imap-send: use skip_prefix instead of using magic numbers - + use skip_prefix to avoid repeated calculations - + git: avoid magic number with skip_prefix - + fetch-pack: refactor parsing in get_ack - + fast-import: refactor parsing of spaces - + stat_opt: check extra strlen call - + daemon: use skip_prefix to avoid magic numbers - + fast-import: use skip_prefix for parsing input - + use skip_prefix to avoid repeating strings - + use skip_prefix to avoid magic numbers - + transport-helper: avoid reading past end-of-string - + fast-import: fix read of uninitialized argv memory - + apply: use skip_prefix instead of raw addition - + refactor skip_prefix to return a boolean - + avoid using skip_prefix as a boolean - + daemon: mark some strings as const - + parse_diff_color_slot: drop ofs parameter - - -* kb/path-max-must-go (2014-07-13) 1 commit - (merged to 'next' on 2014-07-14 at b0b9834) - + cache.h: rename cache_def_free to cache_def_clear - - -* dt/refs-check-refname-component-sse-fix (2014-07-08) 2 commits - (merged to 'next' on 2014-07-08 at 35b839c) - + refs: fix valgrind suppression file - + refs.c: handle REFNAME_REFSPEC_PATTERN at end of page - - Fixes to a topic that is already in 'master'. - - -* jc/fix-clone-single-starting-at-a-tag (2014-06-23) 1 commit - (merged to 'next' on 2014-07-02 at cc0c4b1) - + builtin/clone.c: detect a clone starting at a tag correctly - - "git clone -b brefs/tags/bar" would have mistakenly thought we were - following a single tag, even though it was a name of the branch, - because it incorrectly used strstr(). - - -* jk/pretty-G-format-fixes (2014-06-25) 6 commits - (merged to 'next' on 2014-06-26 at 7138407) - + move "%G" format test from t7510 to t6006 - (merged to 'next' on 2014-06-20 at f504bbc) - + pretty: avoid reading past end-of-string with "%G" - + t7510: check %G* pretty-format output - + t7510: test a commit signed by an unknown key - + t7510: use consistent &&-chains in loop - + t7510: stop referring to master in later tests - - "%G" (nothing after G) is an invalid pretty format specifier, but - the parser did not notice it as garbage. - - -* jk/xstrfmt (2014-06-25) 11 commits - (merged to 'next' on 2014-06-25 at 5031d4e) - + setup_git_env(): introduce git_path_from_env() helper - (merged to 'next' on 2014-06-23 at 64f2558) - + unique_path: fix unlikely heap overflow - + walker_fetch: fix minor memory leak - + merge: use argv_array when spawning merge strategy - + sequencer: use argv_array_pushf - + setup_git_env: use git_pathdup instead of xmalloc + sprintf - + use xstrfmt to replace xmalloc + strcpy/strcat - + use xstrfmt to replace xmalloc + sprintf - + use xstrdup instead of xmalloc + strcpy - + use xstrfmt in favor of manual size calculations - + strbuf: add xstrfmt helper - - -* mg/verify-commit (2014-06-23) 5 commits - (merged to 'next' on 2014-07-02 at 6d77bcf) - + t7510: test verify-commit - + t7510: exit for loop with test result - + verify-commit: scriptable commit signature verification - + gpg-interface: provide access to the payload - + gpg-interface: provide clear helper for struct signature_check - - Add 'verify-commit' to be used in a way similar to 'verify-tag' is - used. Further work on verifying the mergetags might be needed. - - -* rs/fix-alt-odb-path-comparison (2014-07-01) 1 commit - (merged to 'next' on 2014-07-08 at f9c69e5) - + sha1_file: avoid overrunning alternate object base string - - -* rs/simplify-archive-tests (2014-07-07) 1 commit - (merged to 'next' on 2014-07-08 at c46cfac) - + t5000, t5003: simplify commit - - -* rs/status-code-clean-up (2014-06-29) 2 commits - (merged to 'next' on 2014-07-08 at db67965) - + wt-status: simplify building of summary limit argument - + wt-status: use argv_array for environment - - -* sk/mingw-dirent (2014-06-09) 5 commits - (merged to 'next' on 2014-06-30 at ae9e2d6) - + Win32 dirent: improve dirent implementation - + Win32 dirent: clarify #include directives - + Win32 dirent: change FILENAME_MAX to MAX_PATH - + Win32 dirent: remove unused dirent.d_reclen member - + Win32 dirent: remove unused dirent.d_ino member - - -* sk/mingw-main (2014-06-10) 2 commits - (merged to 'next' on 2014-06-30 at 447cb50) - + mingw: avoid const warning - + Win32: move main macro to a function - (this branch is used by sk/mingw-uni-console and sk/mingw-unicode-spawn-args.) +* po/error-message-style (2014-07-10) 1 commit + (merged to 'next' on 2014-07-14 at ed17678) + + doc: give some guidelines for error messages + + +* rs/code-cleaning (2014-07-10) 5 commits + (merged to 'next' on 2014-07-14 at d5a89c8) + + fsck: simplify fsck_commit_buffer() by using commit_list_count() + + commit: use commit_list_append() instead of duplicating its code + + merge: simplify merge_trivial() by using commit_list_append() + + use strbuf_addch for adding single characters + + use strbuf_addbuf for adding strbufs + + +* tb/crlf-tests (2014-07-08) 2 commits + (merged to 'next' on 2014-07-08 at 40764b7) + + t0027: combinations of core.autocrlf, core.eol and text + + t0025: rename the test files -* sk/mingw-uni-console (2014-06-16) 7 commits - (merged to 'next' on 2014-06-30 at f4fbc41) - + Win32: reliably detect console pipe handles - + Win32: fix broken pipe detection - + Win32: Thread-safe windows console output - + Win32: add Unicode conversion functions - + Win32: warn if the console font doesn't support Unicode - + Win32: detect console streams more reliably - + Win32: support Unicode console output - (this branch is used by sk/mingw-unicode-spawn-args; uses sk/mingw-main.) - +* zk/log-graph-showsig (2014-07-09) 1 commit + (merged to 'next' on 2014-07-14 at 4429c2e) + + log: fix indentation for --graph --show-signature -* sk/mingw-unicode-spawn-args (2014-06-16) 6 commits - (merged to 'next' on 2014-06-30 at c8f79d0) - + Win32: Unicode arguments (incoming) - + Win32: Unicode arguments (outgoing) - + MinGW: disable CRT command line globbing - + Win32: fix potential multi-threading issue - + Win32: simplify internal mingw_spawn* APIs - + Win32: let mingw_execve() return an int - (this branch uses sk/mingw-main and sk/mingw-uni-console.) + The "--show-signature" option did not pay much attention to + "--graph". -------------------------------------------------- [Stalled] +* jk/tag-contains (2014-06-30) 8 commits + . perf: add tests for tag --contains + . tag: use commit_contains + . commit: provide a fast multi-tip contains function + . string-list: add pos to iterator callback + . add functions for memory-efficient bitmaps + . paint_down_to_common: use prio_queue + . tag: factor out decision to stream tags + . tag: allow --sort with -n + + Expecting a reroll. + + * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks - git-add--interactive: Preserve diff heading when splitting hunks @@ -468,6 +493,66 @@ of the repositories listed at -------------------------------------------------- [Cooking] +* jc/reopen-lock-file (2014-07-14) 1 commit + - lockfile: allow reopening a closed but still locked file + + Needed in the "commit -p" code path to update the cache tree in the + index. + + +* jk/alloc-commit-id (2014-07-13) 8 commits + (merged to 'next' on 2014-07-16 at f14c01a) + + diff-tree: avoid lookup_unknown_object + + object_as_type: set commit index + + alloc: factor out commit index + + add object_as_type helper for casting objects + + parse_object_buffer: do not set object type + + move setting of object->type to alloc_* functions + + alloc: write out allocator definitions + + alloc.c: remove the alloc_raw_commit_node() function + + Make sure all in-core commit objects are assigned a unique number + so that they can be annotated using the commit-slab API. + + Will merge to 'master'. + + +* jk/remote-curl-squelch-extra-errors (2014-07-10) 3 commits + (merged to 'next' on 2014-07-14 at a2efa2f) + + remote-curl: mark helper-protocol errors more clearly + + remote-curl: use error instead of fprintf(stderr) + + remote-curl: do not complain on EOF from parent git + + Will merge to 'master'. + + +* rs/ref-transaction-0 (2014-07-14) 19 commits + (merged to 'next' on 2014-07-14 at b21bcee) + + refs.c: change ref_transaction_update() to do error checking and return status + + refs.c: remove the onerr argument to ref_transaction_commit + + update-ref: use err argument to get error from ref_transaction_commit + + refs.c: make update_ref_write update a strbuf on failure + + refs.c: make ref_update_reject_duplicates take a strbuf argument for errors + + refs.c: log_ref_write should try to return meaningful errno + + refs.c: make resolve_ref_unsafe set errno to something meaningful on error + + refs.c: commit_packed_refs to return a meaningful errno on failure + + refs.c: make remove_empty_directories always set errno to something sane + + refs.c: verify_lock should set errno to something meaningful + + refs.c: make sure log_ref_setup returns a meaningful errno + + refs.c: add an err argument to repack_without_refs + + lockfile.c: make lock_file return a meaningful errno on failurei + + lockfile.c: add a new public function unable_to_lock_message + + refs.c: add a strbuf argument to ref_transaction_commit for error logging + + refs.c: allow passing NULL to ref_transaction_free + + refs.c: constify the sha arguments for ref_transaction_create|delete|update + + refs.c: ref_transaction_commit should not free the transaction + + refs.c: remove ref_transaction_rollback + (this branch is used by rs/ref-transaction and rs/ref-transaction-1.) + + Early part of the "ref transaction" topic. + Will merge to 'master'. + + * nd/multiple-work-trees (2014-07-14) 31 commits - checkout: don't require a work tree when checking out into a new one - git_path(): keep "info/sparse-checkout" per work-tree @@ -505,88 +590,7 @@ 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. - Rerolled. - - -* cc/replace-edit (2014-06-25) 3 commits - (merged to 'next' on 2014-07-10 at 097cd5e) - + replace: use argv_array in export_object - + avoid double close of descriptors handed to run_command - + replace: replace spaces with tabs in indentation - (this branch is used by jk/replace-edit-raw.) - - Teach "git replace" an "--edit" mode. - - Will merge to 'master'. - - -* jk/replace-edit-raw (2014-06-25) 1 commit - (merged to 'next' on 2014-07-10 at b934bb0) - + replace: add a --raw mode for --edit - (this branch uses cc/replace-edit.) - - Teach "git replace --edit" mode a "--raw" option to allow - editing the bare-metal representation data of objects. - - Will merge to 'master'. - - -* ep/submodule-code-cleanup (2014-06-30) 1 commit - (merged to 'next' on 2014-07-10 at d4de30a) - + submodule.c: use the ARRAY_SIZE macro - - Will merge to 'master'. - - -* jk/strip-suffix (2014-06-30) 9 commits - (merged to 'next' on 2014-07-10 at e6cfa29) - + prepare_packed_git_one: refactor duplicate-pack check - + verify-pack: use strbuf_strip_suffix - + strbuf: implement strbuf_strip_suffix - + index-pack: use strip_suffix to avoid magic numbers - + use strip_suffix instead of ends_with in simple cases - + replace has_extension with ends_with - + implement ends_with via strip_suffix - + add strip_suffix function - + sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one() - - Will merge to 'master'. - - -* jk/tag-contains (2014-06-30) 8 commits - - perf: add tests for tag --contains - - tag: use commit_contains - - commit: provide a fast multi-tip contains function - - string-list: add pos to iterator callback - - add functions for memory-efficient bitmaps - - paint_down_to_common: use prio_queue - - tag: factor out decision to stream tags - - tag: allow --sort with -n - - Expecting a reroll. - - -* mg/fix-log-mergetag-color (2014-07-10) 1 commit - (merged to 'next' on 2014-07-14 at e90dba1) - + log: correctly identify mergetag signature verification status - - Will merge to 'master'. - - -* mk/merge-incomplete-files (2014-06-30) 2 commits - (merged to 'next' on 2014-07-10 at d1115f4) - + git-merge-file: do not add LF at EOF while applying unrelated change - + t6023-merge-file.sh: fix and mark as broken invalid tests - - Will merge to 'master'. - - -* tb/crlf-tests (2014-07-08) 2 commits - (merged to 'next' on 2014-07-08 at 40764b7) - + t0027: combinations of core.autocrlf, core.eol and text - + t0025: rename the test files - - Will merge to 'master'. + Will merge to 'next' and cook there for a while. * ak/profile-feedback-build (2014-07-08) 4 commits @@ -599,18 +603,12 @@ of the repositories listed at Will merge to 'master'. -* cb/filter-branch-prune-empty-degenerate-merges (2014-07-01) 1 commit - (merged to 'next' on 2014-07-10 at 860cfea) - + filter-branch: eliminate duplicate mapped parents - - Will merge to 'master'. - - * cc/for-each-mergetag (2014-07-07) 1 commit - - commit: add for_each_mergetag() + (merged to 'next' on 2014-07-15 at c5dd3ee) + + commit: add for_each_mergetag() (this branch is used by cc/replace-graft.) - Will merge to 'next'. + Will merge to 'master'. * dt/cache-tree-repair (2014-07-14) 4 commits @@ -625,30 +623,12 @@ of the repositories listed at Will merge to 'next'. -* jl/test-lint-scripts (2014-07-10) 2 commits - (merged to 'next' on 2014-07-14 at c03721c) - + t/Makefile: always test all lint targets when running tests - + t/Makefile: check helper scripts for non-portable shell commands too - - Will merge to 'master'. - - * kb/hashmap-updates (2014-07-07) 4 commits - - hashmap: add string interning API - - hashmap: add simplified hashmap_get_from_hash() API - - hashmap: improve struct hashmap member documentation - - hashmap: factor out getting a hash code from a SHA1 - - Expecting a reroll ($gmane/252973 and possibly $gmane/252976). - - - -* zk/log-graph-showsig (2014-07-09) 1 commit - (merged to 'next' on 2014-07-14 at 4429c2e) - + log: fix indentation for --graph --show-signature - - The "--show-signature" option did not pay much attention to - "--graph". + (merged to 'next' on 2014-07-15 at 6dd6611) + + hashmap: add string interning API + + hashmap: add simplified hashmap_get_from_hash() API + + hashmap: improve struct hashmap member documentation + + hashmap: factor out getting a hash code from a SHA1 Will merge to 'master'. @@ -670,25 +650,26 @@ of the repositories listed at * kb/perf-trace (2014-07-13) 17 commits - - api-trace.txt: add trace API documentation - - progress: simplify performance measurement by using getnanotime() - - wt-status: simplify performance measurement by using getnanotime() - - git: add performance tracing for git's main() function to debug scripts - - trace: add trace_performance facility to debug performance issues - - trace: add high resolution timer function to debug performance issues - - trace: add 'file:line' to all trace output - - trace: move code around, in preparation to file:line output - - trace: add current timestamp to all trace output - - trace: disable additional trace output for unit tests - - trace: add infrastructure to augment trace output with additional info - - sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API - - Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables - - trace: improve trace performance - - trace: remove redundant printf format attribute - - trace: consistently name the format parameter - - trace: move trace declarations from cache.h to new trace.h + (merged to 'next' on 2014-07-15 at 09ade08) + + api-trace.txt: add trace API documentation + + progress: simplify performance measurement by using getnanotime() + + wt-status: simplify performance measurement by using getnanotime() + + git: add performance tracing for git's main() function to debug scripts + + trace: add trace_performance facility to debug performance issues + + trace: add high resolution timer function to debug performance issues + + trace: add 'file:line' to all trace output + + trace: move code around, in preparation to file:line output + + trace: add current timestamp to all trace output + + trace: disable additional trace output for unit tests + + trace: add infrastructure to augment trace output with additional info + + sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API + + Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables + + trace: improve trace performance + + trace: remove redundant printf format attribute + + trace: consistently name the format parameter + + trace: move trace declarations from cache.h to new trace.h - Will merge to 'next'. + Will merge to 'master'. * hv/submodule-config (2014-06-30) 4 commits @@ -697,6 +678,8 @@ of the repositories listed at - extract functions for submodule config set and lookup - implement submodule config cache for lookup of submodule names + Will merge to 'next' and cook there for a while. + * jl/submodule-tests (2014-07-14) 14 commits (merged to 'next' on 2014-07-14 at 0c750bb) @@ -718,14 +701,7 @@ of the repositories listed at Will merge to 'master'. -* po/error-message-style (2014-07-10) 1 commit - (merged to 'next' on 2014-07-14 at ed17678) - + doc: give some guidelines for error messages - - Will merge to 'master'. - - -* rs/ref-transaction (2014-07-14) 29 commits +* rs/ref-transaction (2014-07-16) 9 commits - 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 @@ -735,72 +711,7 @@ of the repositories listed at - 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 - - 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/ERROR - - 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 uses rs/ref-transaction-0.) - - - -* nd/split-index (2014-06-13) 32 commits - (merged to 'next' on 2014-07-08 at 49325ef) - + t1700: new tests for split-index mode - + t2104: make sure split index mode is off for the version test - + read-cache: force split index mode with GIT_TEST_SPLIT_INDEX - + read-tree: note about dropping split-index mode or index version - + read-tree: force split-index mode off on --index-output - + rev-parse: add --shared-index-path to get shared index path - + update-index --split-index: do not split if $GIT_DIR is read only - + update-index: new options to enable/disable split index mode - + split-index: strip pathname of on-disk replaced entries - + split-index: do not invalidate cache-tree at read time - + split-index: the reading part - + split-index: the writing part - + read-cache: mark updated entries for split index - + read-cache: save deleted entries in split index - + read-cache: mark new entries for split index - + read-cache: split-index mode - + read-cache: save index SHA-1 after reading - + entry.c: update cache_changed if refresh_cache is set in checkout_entry() - + cache-tree: mark istate->cache_changed on prime_cache_tree() - + cache-tree: mark istate->cache_changed on cache tree update - + cache-tree: mark istate->cache_changed on cache tree invalidation - + unpack-trees: be specific what part of the index has changed - + resolve-undo: be specific what part of the index has changed - + update-index: be specific what part of the index has changed - + read-cache: be specific what part of the index has changed - + read-cache: be strict about "changed" in remove_marked_cache_entries() - + read-cache: store in-memory flags in the first 12 bits of ce_flags - + read-cache: relocate and unexport commit_locked_index() - + read-cache: new API write_locked_index instead of write_index/write_cache - + sequencer: do not update/refresh index if the lock cannot be held - + ewah: delete unused ewah_read_mmap_native declaration - + ewah: fix constness of ewah_read_mmap - (this branch is used by jc/reopen-lock-file.) - - An experiment to use two files (the base file and incremental - changes relative to it) to represent the index to reduce I/O cost - of rewriting a large index when only small part of the working tree - changes. - - Will merge to 'master'. + (this branch uses rs/ref-transaction-0 and rs/ref-transaction-1.) * jc/test-lazy-prereq (2014-06-13) 1 commit -- 2.11.4.GIT