diff --git a/whats-cooking.txt b/whats-cooking.txt index 6e8c77d83102f1066ebfe88b10bcd50e71d36acf..2a1b064ad414f7cc98378f7e41aba77c1dd32c98 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 (Feb 2016, #08; Fri, 26) +Subject: What's cooking in git.git (Mar 2016, #01; Wed, 2) X-master-at: f02fbc4f9433937ee0463d0342d6d7d97e1f6f1e -X-next-at: f92f5fe29a68d654894c6a10c5f5b3f0ce4bb1a5 +X-next-at: 391b917453d3b3cca00e679379036ed0e6d85125 -What's cooking in git.git (Feb 2016, #08; Fri, 26) +What's cooking in git.git (Mar 2016, #01; Wed, 2) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,23 +12,16 @@ Here are the topics that have been cooking. Commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -v2.8-rc0 has been tagged; this is a preview for the next release. +v2.8-rc1 at around the end of this week. -In previous cycles, I often left many topics in 'next' when tagging -this zero-th preview, but eventually merged them before the final. -I decided to do things a bit differently for this cycle: a topic, -once it hits 'next', will not be rewound and only refined and -corrected with incremental updates, so the only effect such a late -merge to 'master' before the final is that some topics are not as -widely tested on 'master' before the final one is tagged. - -So this -rc0 is deliberately aggressive in that it includes all -topics that have been cooking in 'next' that I think we can fix bugs -that might still lurking in them before the final (it merges 25 -topics since the last batch to 'master'). The topics not merged to -this preview, on the other hand, will not be considered for 2.8 -final, even though I might later succumb to the temptation to pick -up ones that are in 'next' as of today ;-) +Again, the topics that have not been cooked sufficiently in 'next' +at this point will not be considered for 2.8 final, even though I +might later succumb to the temptation to pick up ones that look +trivially correct. Those who have their topics merged to 'master' +since v2.7 are expected to focus on responding to regressions and +remaining bugs in their topics in 'master', and strongly encouraged +to actively hunt for regressions and remaining bugs there, not in a +random shiny new feature, during the pre-release period. You can find the changes described here in the integration branches of the repositories listed at @@ -36,313 +29,167 @@ repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- -[Graduated to "master"] +[New Topics] -* ak/extract-argv0-last-dir-sep (2016-02-19) 1 commit - (merged to 'next' on 2016-02-24 at f590eb0) - + exec_cmd.c: use find_last_dir_sep() for code simplification +* nd/i18n-2.8.0 (2016-02-29) 4 commits + (merged to 'next' on 2016-03-01 at cdf4675) + + trailer.c: mark strings for translation + + ref-filter.c: mark strings for translation + + builtin/clone.c: mark strings for translation + + builtin/checkout.c: mark strings for translation - Code simplification. + Will merge to 'master' by 2.8-rc1 -* ak/git-strip-extension-from-dashed-command (2016-02-21) 1 commit - (merged to 'next' on 2016-02-24 at 8a84f91) - + git.c: simplify stripping extension of a file in handle_builtin() - - Code simplification. - - -* dt/initial-ref-xn-commit-doc (2016-02-25) 1 commit - (merged to 'next' on 2016-02-25 at e32d0f6) - + refs: document transaction semantics +* mm/readme-markdown (2016-02-27) 1 commit + (merged to 'next' on 2016-03-01 at 81f3858) + + README.md: don't take 'commandname' literally + The top-level README file has been updated to be more appropriate + for the sign on the front door to welcome new acquaintances to Git + by toning down inside jokes and making it into MarkDown. -* fa/merge-recursive-no-rename (2016-02-24) 7 commits - (merged to 'next' on 2016-02-25 at 8f18cc1) - + t3034: test deprecated interface - + t3034: test option to disable renames - + t3034: add rename threshold tests - + merge-recursive: find-renames resets threshold - + merge-strategies.txt: fix typo - (merged to 'next' on 2016-02-18 at dd6125b) - + merge-recursive: more consistent interface - + merge-recursive: option to disable renames + Will merge to 'master' after 2.8 final - "git merge-recursive" learned "--no-renames" option to disable its - rename detection logic. +* gf/fetch-pack-direct-object-fetch (2016-03-01) 1 commit + - fetch-pack: fix object_id of exact sha1 -* jg/credential-cache-chdir-to-sockdir (2016-02-23) 3 commits - (merged to 'next' on 2016-02-25 at ad35811) - + credential-cache--daemon: change to the socket dir on startup - + credential-cache--daemon: disallow relative socket path - + credential-cache--daemon: refactor check_socket_directory - - The "credential-cache" daemon process used to run in whatever - directory it happened to start in, but this made umount(2)ing the - filesystem that houses the repository harder; now the process - chdir()s to the directory that house its own socket on startup. - - -* jk/epipe-in-async (2016-02-25) 4 commits - (merged to 'next' on 2016-02-25 at 4482ddf) - + t5504: handle expected output from SIGPIPE death - + test_must_fail: report number of unexpected signal - + fetch-pack: ignore SIGPIPE in sideband demuxer - + write_or_die: handle EPIPE in async threads - - Handling of errors while writing into our internal asynchronous - process has been made more robust, which reduces flakiness in our - tests. - - -* jk/grep-binary-workaround-in-test (2016-02-23) 2 commits - (merged to 'next' on 2016-02-25 at 0e96ae8) - + t9200: avoid grep on non-ASCII data - + t8005: avoid grep on non-ASCII data - - Recent versions of GNU grep are pickier when their input contains - arbitrary binary data, which some of our tests uses. Rewrite the - tests to sidestep the problem. + Fetching of history by naming a commit object name directly didn't + work across remote-curl transport. + Will merge to 'next'. -* jk/more-comments-on-textconv (2016-02-22) 1 commit - (merged to 'next' on 2016-02-24 at 4ccfdc5) - + diff: clarify textconv interface - The memory ownership rule of fill_textconv() API, which was a bit - tricky, has been documented a bit better. +* jk/add-i-highlight (2016-02-28) 1 commit + - add--interactive: allow custom diff highlighting programs + Will merge to 'next'. -* jk/no-diff-emit-common (2016-02-22) 3 commits - (merged to 'next' on 2016-02-24 at 72626ea) - + xdiff: drop XDL_EMIT_COMMON - + merge-tree: drop generate_common strategy - + merge-one-file: use empty blob for add/add base - "git merge-tree" used to mishandle "both sides added" conflict with - its own "create a fake ancestor file that has the common parts of - what both sides have added and do a 3-way merge" logic; this has - been updated to use the usual "3-way merge with an empty blob as - the fake common ancestor file" approach used in the rest of the - system. +* jk/config-get-urlmatch (2016-02-28) 3 commits + - Documentation/git-config: fix --get-all description + - Documentation/git-config: use bulleted list for exit codes + - config: fail if --get-urlmatch finds no value + "git config --get-urlmatch", unlike other variants of the "git + config --get" family, did not signal error with its exit status + when there was no matching configuration. -* jk/tighten-alloc (2016-02-22) 22 commits - (merged to 'next' on 2016-02-24 at 78b3251) - + ewah: convert to REALLOC_ARRAY, etc - + convert ewah/bitmap code to use xmalloc - + diff_populate_gitlink: use a strbuf - + transport_anonymize_url: use xstrfmt - + git-compat-util: drop mempcpy compat code - + sequencer: simplify memory allocation of get_message - + test-path-utils: fix normalize_path_copy output buffer size - + fetch-pack: simplify add_sought_entry - + fast-import: simplify allocation in start_packfile - + write_untracked_extension: use FLEX_ALLOC helper - + prepare_{git,shell}_cmd: use argv_array - + use st_add and st_mult for allocation size computation - + convert trivial cases to FLEX_ARRAY macros - + use xmallocz to avoid size arithmetic - + convert trivial cases to ALLOC_ARRAY - + convert manual allocations to argv_array - + argv-array: add detach function - + add helpers for allocating flex-array structs - + harden REALLOC_ARRAY and xcalloc against size_t overflow - + tree-diff: catch integer overflow in combine_diff_path allocation - + add helpers for detecting size_t overflow - + reflog_expire_cfg: NUL-terminate pattern field - - Update various codepaths to avoid manually-counted malloc(). - - -* js/config-set-in-non-repository (2016-02-25) 1 commit - (merged to 'next' on 2016-02-25 at a675267) - + git config: report when trying to modify a non-existing repo config - - "git config section.var value" to set a value in per-repository - configuration file failed when it was run outside any repository, - but didn't say the reason correctly. - - -* kn/ref-filter-atom-parsing (2016-02-17) 11 commits - (merged to 'next' on 2016-02-18 at 9606218) - + ref-filter: introduce objectname_atom_parser() - + ref-filter: introduce contents_atom_parser() - + ref-filter: introduce remote_ref_atom_parser() - + ref-filter: align: introduce long-form syntax - + ref-filter: introduce align_atom_parser() - + ref-filter: introduce parse_align_position() - + ref-filter: introduce color_atom_parser() - + ref-filter: introduce parsing functions for each valid atom - + ref-filter: introduce struct used_atom - + ref-filter: bump 'used_atom' and related code to the top - + ref-filter: use string_list_split over strbuf_split - - The ref-filter's format-parsing code has been refactored, in - preparation for "branch --format" and friends. - - -* ls/config-origin (2016-02-22) 4 commits - (merged to 'next' on 2016-02-24 at 239fcc2) - + config: add '--show-origin' option to print the origin of a config value - + config: add 'origin_type' to config_source struct - + rename git_config_from_buf to git_config_from_mem - + t: do not hide Git's exit code in tests using 'nul_to_q' - - The configuration system has been taught to phrase where it found a - bad configuration variable in a better way in its error messages. - "git config" learnt a new "--show-origin" option to indicate where - the values come from. - - -* ls/makefile-cflags-developer-tweak (2016-02-25) 1 commit - (merged to 'next' on 2016-02-25 at 14bb065) - + add DEVELOPER makefile knob to check for acknowledged warnings - - There is a new DEVELOPER knob that enables many compiler warning - options in the Makefile. - - -* ma/update-hooks-sample-typofix (2016-02-25) 1 commit - (merged to 'next' on 2016-02-25 at be49c79) - + templates/hooks: fix minor typo in the sample update-hook - - -* mg/work-tree-tests (2016-02-20) 1 commit - (merged to 'next' on 2016-02-25 at ca8cbb0) - + tests: rename work-tree tests to *work-tree* - - Traditionally, the tests that try commands that work on the - contents in the working tree were named with "worktree" in their - filenames, but with the recent addition of "git worktree" - subcommand, whose tests are also named similarly, it has become - harder to tell them apart. The traditional tests have been renamed - to use "work-tree" instead in an attempt to differentiate them. - - -* mm/push-default-warning (2016-02-25) 1 commit - (merged to 'next' on 2016-02-25 at 753352f) - + push: remove "push.default is unset" warning message - - Across the transition at around Git version 2.0, the user used to - get a pretty loud warning when running "git push" without setting - push.default configuration variable. We no longer warn, given that - the transition is over long time ago. - - -* mm/push-simple-doc (2016-02-23) 1 commit - (merged to 'next' on 2016-02-25 at dc4f57c) - + Documentation/git-push: document that 'simple' is the default - - The documentation did not clearly state that the 'simple' mode is - now the default for "git push" when push.default configuration is - not set. - - -* mm/readme-markdown (2016-02-25) 5 commits - (merged to 'next' on 2016-02-25 at b8bda29) - + README.md: move down historical explanation about the name - + README.md: don't call git stupid in the title - + README.md: move the link to git-scm.com up - + README.md: add hyperlinks on filenames - + README: use markdown syntax + Will merge to 'next'. - README has been renamed to README.md and its contents got tweaked - slightly to make it easier on the eyes. +* jk/rev-parse-local-env-vars (2016-02-29) 2 commits + - rev-parse: let some options run outside repository + - t1515: add tests for rev-parse out-of-repo helpers -* ps/config-error (2016-02-22) 15 commits - (merged to 'next' on 2016-02-25 at b378629) - + config: rename git_config_set_or_die to git_config_set - + config: rename git_config_set to git_config_set_gently - + compat: die when unable to set core.precomposeunicode - + sequencer: die on config error when saving replay opts - + init-db: die on config errors when initializing empty repo - + clone: die on config error in cmd_clone - + remote: die on config error when manipulating remotes - + remote: die on config error when setting/adding branches - + remote: die on config error when setting URL - + submodule--helper: die on config error when cloning module - + submodule: die on config error when linking modules - + branch: die on config error when editing branch description - + branch: die on config error when unsetting upstream - + branch: report errors in tracking branch setup - + config: introduce set_or_die wrappers + The "--local-env-vars" and "--resolve-git-dir" options of "git + rev-parse" failed to work outside a repository when the command's + option parsing was rewritten in 1.8.5 era. - Many codepaths forget to check return value from git_config_set(); - the function is made to die() to make sure we do not proceed when - setting a configuration variable failed. + Will merge to 'next'. -* ps/plug-xdl-merge-leak (2016-02-23) 1 commit - (merged to 'next' on 2016-02-25 at 523609e) - + xdiff/xmerge: fix memory leak in xdl_merge +* sg/completion-updates (2016-02-28) 21 commits + - completion: cache the path to the repository + - completion: extract repository discovery from __gitdir() + - completion: don't guard git executions with __gitdir() + - completion: consolidate silencing errors from git commands + - completion: don't use __gitdir() for git commands + - completion: respect 'git -C <path>' + - completion: fix completion after 'git -C <path>' + - completion: don't offer commands when 'git --opt' needs an argument + - rev-parse: add '--absolute-git-dir' option + - completion: list short refs from a remote given as a URL + - completion: don't list 'HEAD' when trying refs completion outside of a repo + - completion: list refs from remote when remote's name matches a directory + - completion: respect 'git --git-dir=<path>' when listing remote refs + - completion: fix most spots not respecting 'git --git-dir=<path>' + - completion: ensure that the repository path given on the command line exists + - completion tests: add tests for the __git_refs() helper function + - completion tests: check __gitdir()'s output in the error cases + - completion tests: consolidate getting path of current working directory + - completion tests: make the $cur variable local to the test helper functions + - completion tests: don't add test cruft to the test repository + - completion: improve __git_refs()'s in-code documentation + Will be rerolled. + ($gmane/287839) -* sb/submodule-fetch-nontip (2016-02-24) 1 commit - (merged to 'next' on 2016-02-25 at 1e412f0) - + submodule: try harder to fetch needed sha1 by direct fetching sha1 - When "git submodule update" did not result in fetching the commit - object in the submodule that is referenced by the superproject, the - command learned to retry another fetch, specifically asking for - that commit that may not be connected to the refs it usually - fetches. +* tb/avoid-gcc-on-darwin-10-6 (2016-02-28) 1 commit + (merged to 'next' on 2016-03-01 at e8dd08a) + + config.mak.uname: use clang for Mac OS X 10.6 + Out of maintenance gcc on OSX 10.6 fails to compile the code in + 'master'; work it around by using clang by default on the platform. -* sb/submodule-module-list-fix (2016-02-24) 1 commit - (merged to 'next' on 2016-02-25 at 21be607) - + submodule helper list: respect correct path prefix + Will merge to 'master' by 2.8-rc1 - A helper function "git submodule" uses since v2.7.0 to list the - modules that match the pathspec argument given to its subcommands - (e.g. "submodule add <repo> <path>") has been fixed. +* jk/tighten-alloc (2016-02-29) 1 commit + (merged to 'next' on 2016-03-01 at f4df936) + + compat/mingw: brown paper bag fix for 50a6c8e -* tb/conversion (2016-02-23) 7 commits - (merged to 'next' on 2016-02-25 at 1bb466d) - + convert.c: correct attr_action() - (merged to 'next' on 2016-02-12 at 6faf27b) - + convert.c: simplify text_stat - + convert.c: refactor crlf_action - + convert.c: use text_eol_is_crlf() - + convert.c: remove input_crlf_action() - + convert.c: remove unused parameter 'path' - + t0027: add tests for get_stream_filter() + Will merge to 'master' by 2.8-rc1 - Code simplification. +* js/pthread-exit-emu-windows (2016-03-02) 1 commit + (merged to 'next' on 2016-03-02 at 391b917) + + Mark win32's pthread_exit() as NORETURN -* tg/git-remote (2016-02-16) 4 commits - (merged to 'next' on 2016-02-18 at 091d43e) - + remote: use remote_is_configured() for add and rename - + remote: actually check if remote exits - + remote: simplify remote_is_configured() - + remote: use parse_config_key + Will merge to 'master' by 2.8-rc1 - The internal API to interact with "remote.*" configuration - variables has been streamlined. --------------------------------------------------- -[New Topics] +* jx/http-no-proxy (2016-02-29) 1 commit + - http: honor no_http env variable to bypass proxy -* jk/credential-clear-config (2016-02-26) 1 commit - - credential: let empty credential specs reset helper list + Needs review. - The credential.helper configuration variable is cumulative and - there is no good way to override it from the command line. As - a special case, giving an empty string as its value now serves - as the signal to clear the values specified in various files. +* mm/lockfile-error-message (2016-03-01) 2 commits + - lockfile: improve error message when lockfile exists + - lockfile: mark strings for translation -* jk/submodule-c-credential (2016-02-25) 1 commit - - git: submodule honor -c credential.* from command line - (this branch uses mg/httpd-tests-update-for-apache-2.4.) + Will merge to 'next'. - "git -c credential.<var>=<value> submodule" can now be used to - propagate configuration variables related to credential helper - down to the submodules. + +* sb/submodule-parallel-fetch (2016-03-01) 1 commit + (merged to 'next' on 2016-03-01 at b47ab6e) + + run-command: do not pass child process data into callbacks + (this branch is used by sb/submodule-init and sb/submodule-parallel-update.) + + Simplify the two callback functions that are triggered when the + child process terminates to avoid misuse of the child-process + structure that has already been cleaned up. + + Will merge to 'master' by 2.8-rc1 + + +* ss/exc-flag-is-a-collection-of-bits (2016-03-01) 1 commit + - dir: store EXC_FLAG_* values in unsigned integers + + Will merge to 'next'. + + +* jc/bundle (2016-03-02) 4 commits + - bundle v3: the beginning + - bundle: keep a copy of bundle file name in the in-core bundle header + - bundle: plug resource leak + - bundle doc: 'verify' is not about verifying the bundle + + The beginning of "split bundle", which could be one of the + ingredients to allow "git clone" traffic off of the core server + network to CDN. + + +* ss/receive-pack-parse-options (2016-03-01) 1 commit + - builtin/receive-pack.c: use parse_options API + + The command line argument parser for "receive-pack" has been + rewritten to use parse-options. + + Will merge to 'next'. -------------------------------------------------- [Stalled] @@ -418,10 +265,44 @@ repositories listed at -------------------------------------------------- [Cooking] +* jk/credential-clear-config (2016-02-26) 1 commit + - credential: let empty credential specs reset helper list + + The credential.helper configuration variable is cumulative and + there is no good way to override it from the command line. As + a special case, giving an empty string as its value now serves + as the signal to clear the values specified in various files. + + Will merge to 'next'. + + +* jk/submodule-c-credential (2016-03-01) 6 commits + - git: submodule honor -c credential.* from command line + - quote: implement sq_quotef() + - submodule: fix segmentation fault in submodule--helper clone + - submodule: fix submodule--helper clone usage + - submodule: check argc count for git submodule--helper clone + - submodule: don't pass empty string arguments to submodule--helper clone + (this branch uses mg/httpd-tests-update-for-apache-2.4.) + + "git -c credential.<var>=<value> submodule" can now be used to + propagate configuration variables related to credential helper + down to the submodules. + + Will merge to 'next'. + + * mg/httpd-tests-update-for-apache-2.4 (2016-02-25) 1 commit - - t/lib-httpd: load mod_unixd + (merged to 'next' on 2016-03-01 at d2f7e8c) + + t/lib-httpd: load mod_unixd (this branch is used by jk/submodule-c-credential.) + The way the test scripts configure the Apache web server has been + updated to work also for Apache 2.4 running on RedHat derived + distros. + + Will merge to 'master' by 2.8-rc1 + * nd/shallow-deepen (2016-02-23) 25 commits - fetch, upload-pack: --deepen=N extends shallow boundary by N commits @@ -461,7 +342,9 @@ repositories listed at Needs review. -* jk/pack-idx-corruption-safety (2016-02-25) 3 commits +* jk/pack-idx-corruption-safety (2016-02-27) 4 commits + (merged to 'next' on 2016-03-01 at 49e08d3) + + sha1_file.c: mark strings for translation (merged to 'next' on 2016-02-26 at ef0d6de) + use_pack: handle signed off_t overflow + nth_packed_object_offset: bounds-check extended offset @@ -471,7 +354,7 @@ repositories listed at idx file has been made more carefully check the validity of the data in the idx. - Will merge to 'master'. + Will merge to 'master' by 2.8-rc1 * mm/diff-renames-default (2016-02-25) 5 commits @@ -485,7 +368,7 @@ repositories listed at The end-user facing Porcelain level commands like "diff" and "log" now enables the rename detection by default. - Will merge to 'master'. + Will merge to 'master' after 2.8 final * mp/upload-pack-use-embedded-args (2016-02-25) 1 commit @@ -496,18 +379,17 @@ repositories listed at the command line to run pack-objects instead of using a separate array of strings. - Will merge to 'master'. + Will merge to 'master' after 2.8 final -* sb/submodule-init (2016-02-25) 2 commits +* sb/submodule-init (2016-03-01) 2 commits - submodule: port init from shell to C - submodule: port resolve_relative_url from shell to C - (this branch uses sb/submodule-parallel-update; is tangled with dt/refs-backend-lmdb.) + (this branch uses sb/submodule-parallel-fetch and sb/submodule-parallel-update.) Update of "git submodule" to move pieces of logic to C continues. - Comments? - ($gmane/286092) + Needs review. * az/p4-bare-no-rebase (2016-02-19) 1 commit @@ -558,68 +440,74 @@ repositories listed at ($gmane/286137) -* sb/submodule-parallel-update (2016-02-25) 11 commits +* sb/submodule-parallel-update (2016-03-01) 10 commits - clone: allow an explicit argument for parallel submodule clones - submodule update: expose parallelism to the user + - submodule helper: remove double 'fatal: ' prefix - git submodule update: have a dedicated helper for cloning - - run_processes_parallel: correctly terminate callbacks with an LF - run_processes_parallel: rename parameters for the callbacks - - run-command: expose default_{start_failure, task_finished} - run_processes_parallel: treat output of children as byte array - submodule update: direct error message to stderr - fetching submodules: respect `submodule.fetchJobs` config option - submodule-config: drop check against NULL - submodule-config: keep update strategy around - (this branch is used by dt/refs-backend-lmdb and sb/submodule-init.) + (this branch is used by sb/submodule-init; uses sb/submodule-parallel-fetch.) A major part of "git submodule update" has been ported to C to take advantage of the recently added framework to run download tasks in parallel. - Seems to break tests when merged to the tip of 'pu'. - - -* dt/refs-backend-lmdb (2016-02-25) 34 commits - - SQUASH??? Minimum compilation band-aid - - tests: add ref-storage argument - - refs: tests for lmdb backend - - refs: add LMDB refs storage backend - - refs: break out resolve_ref_unsafe_submodule - - config: read ref storage config on startup - - refs: register ref storage backends - - svn: learn ref-storage argument - - clone: allow ref storage backend to be set for clone - - refs: check submodules' ref storage config - - init: allow alternate ref strorage to be set for new repos - - refs: always handle non-normal refs in files backend - - refs: resolve symbolic refs first - - refs: on symref reflog expire, lock symref not referrent - - refs: don't dereference on rename - - refs: allow log-only updates - - refs: move duplicate check to common code - - refs: make lock generic - - refs: handle non-normal ref renames - - refs: add method to rename refs - - refs: add methods to init refs db - - refs: add method for delete_refs - - refs: add method for initial ref transaction commit - - refs: add methods for reflog - - refs: add do_for_each_per_worktree_ref - - refs: reduce the visibility of do_for_each_ref() - - refs: add method for do_for_each_ref - - refs: add methods for misc ref operations - - refs: add a backend method structure with transaction functions - - refs: move resolve_ref_unsafe into common code - - files-backend: break out ref reading - - refs: move for_each_*ref* functions into common code - - refs: move head_ref{,_submodule} to the common code - - Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb - (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.) - - Building on top of a few refs-backend preparatory series, LMDB - based refs backend has been plugged into the system. - - ($gmane/286572) + Will merge to 'next'. + + +* dt/refs-backend-lmdb (2016-02-25) 45 commits + . SQUASH??? Minimum compilation band-aid + . tests: add ref-storage argument + . refs: tests for lmdb backend + . refs: add LMDB refs storage backend + . refs: break out resolve_ref_unsafe_submodule + . config: read ref storage config on startup + . refs: register ref storage backends + . svn: learn ref-storage argument + . clone: allow ref storage backend to be set for clone + . refs: check submodules' ref storage config + . init: allow alternate ref strorage to be set for new repos + . refs: always handle non-normal refs in files backend + . refs: resolve symbolic refs first + . refs: on symref reflog expire, lock symref not referrent + . refs: don't dereference on rename + . refs: allow log-only updates + . refs: move duplicate check to common code + . refs: make lock generic + . refs: handle non-normal ref renames + . refs: add method to rename refs + . refs: add methods to init refs db + . refs: add method for delete_refs + . refs: add method for initial ref transaction commit + . refs: add methods for reflog + . refs: add do_for_each_per_worktree_ref + . refs: reduce the visibility of do_for_each_ref() + . refs: add method for do_for_each_ref + . refs: add methods for misc ref operations + . refs: add a backend method structure with transaction functions + . refs: move resolve_ref_unsafe into common code + . files-backend: break out ref reading + . refs: move for_each_*ref* functions into common code + . refs: move head_ref{,_submodule} to the common code + . Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb + . clone: allow an explicit argument for parallel submodule clones + . submodule update: expose parallelism to the user + . git submodule update: have a dedicated helper for cloning + . run_processes_parallel: correctly terminate callbacks with an LF + . run_processes_parallel: rename parameters for the callbacks + . run-command: expose default_{start_failure, task_finished} + . run_processes_parallel: treat output of children as byte array + . submodule update: direct error message to stderr + . fetching submodules: respect `submodule.fetchJobs` config option + . submodule-config: drop check against NULL + . submodule-config: keep update strategy around + + A reroll exists, but it seems that will further be rerolled. * ad/cygwin-wants-rename (2015-08-07) 1 commit