diff --git a/whats-cooking.txt b/whats-cooking.txt index 6bc4fad10e..e521a56a2f 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 (Apr 2016, #02; Mon, 4) -X-master-at: 6a269e52a5d0c82567c5b39cc194cc90f9fa9156 -X-next-at: a49ec4a3520e76c257792c73d6347383649ee5c2 +Subject: What's cooking in git.git (Apr 2016, #03; Thu, 7) +X-master-at: 72d917a7f9a5123ef7c0d6db306bbc0d385227e2 +X-next-at: 209d99dbd5bc1cff6fe9618b5ae6dc65a6d421d9 -What's cooking in git.git (Apr 2016, #02; Mon, 4) +What's cooking in git.git (Apr 2016, #03; Thu, 7) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,10 +12,8 @@ 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. -The tip of 'next' has been rewound, the first maintenance release -v2.8.1 that most everybody can safely ignore has been tagged, and -the first batch of topics that have been cooking in 'next' during -the pre-2.8 freeze period are now in 'master'. +The 'master' branch now has the second batch of topics of this +cycle. There are a handful of topics that are stuck; they are marked as "Needs review", "Needs an Ack", etc. in the following list. @@ -25,183 +23,477 @@ of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html --------------------------------------------------- -[New Topics] - -* es/format-patch-doc-hide-no-patch (2016-04-04) 1 commit - - git-format-patch.txt: don't show -s as shorthand for multiple options - - "git format-patch --help" showed `-s` and `--no-patch` as if these - are valid options to the command. We already hide `--patch` option - from the documentation, because format-patch is about showing the - diff, and the documentation now hides these options as well. - - Will merge to next. - - -* jk/branch-shortening-funny-symrefs (2016-04-04) 1 commit - - branch: fix shortening of non-remote symrefs - - A change back in version 2.7 to "git branch" broke display of a - symbolic refs in a non-standard place in the refs/ hierarchy (we - expect symbolic refs to appear in refs/remotes/*/HEAD to point at - the primary branch the remote has, and as .git/HEAD to point at the - branch we locally checked out). - - Will merge to next. - and later down to maint-2.7. - -------------------------------------------------- [Graduated to "master"] -* es/test-gpg-tags (2016-03-06) 4 commits - (merged to 'next' on 2016-03-15 at 617119f) - + t6302: skip only signed tags rather than all tests when GPG is missing - + t6302: also test annotated in addition to signed tags - + t6302: normalize names and descriptions of signed tags - + lib-gpg: drop unnecessary "missing GPG" warning +* cc/doc-recommend-performance-trace-to-file (2016-03-07) 1 commit + (merged to 'next' on 2016-04-04 at 26f94c0) + + Documentation: talk about pager in api-trace.txt - A test for tags has been restructured so that more parts of it can - easily be run on a platform without a working GnuPG. + Originally merged to 'next' on 2016-03-23 + + A minor documentation update. -* gf/fetch-pack-direct-object-fetch (2016-03-05) 2 commits - (merged to 'next' on 2016-03-06 at 5628860) - + fetch-pack: update the documentation for "..." arguments - (merged to 'next' on 2016-03-04 at 49199e0) - + fetch-pack: fix object_id of exact sha1 +* da/mergetool-delete-delete-conflict (2016-03-10) 2 commits + (merged to 'next' on 2016-04-04 at 34e645f) + + mergetool: honor tempfile configuration when resolving delete conflicts + + mergetool: support delete/delete conflicts - Fetching of history by naming a commit object name directly didn't - work across remote-curl transport. + Originally merged to 'next' on 2016-03-15 + + "git mergetool" did not work well with conflicts that both sides + deleted. -* jc/index-pack (2016-03-03) 2 commits - (merged to 'next' on 2016-03-15 at 42efaa7) - + index-pack: add a helper function to derive .idx/.keep filename - + Merge branch 'jc/maint-index-pack-keep' into jc/index-pack - (this branch is used by jc/bundle; uses jc/maint-index-pack-keep; is tangled with jc/index-pack-clone-bundle.) +* jk/credential-cache-comment-exit (2016-03-18) 1 commit + (merged to 'next' on 2016-04-04 at 50427fe) + + credential-cache--daemon: clarify "exit" action semantics + + Originally merged to 'next' on 2016-03-23 + + A code clarification. + + +* jk/send-email-rtrim-mailrc-alias (2016-03-18) 1 commit + (merged to 'next' on 2016-04-04 at 4d54956) + + send-email: ignore trailing whitespace in mailrc alias file + + Originally merged to 'next' on 2016-03-23 + + "git send-email" had trouble parsing alias file in mailrc format + when lines in it had trailing whitespaces on them. + + +* jk/submodule-c-credential (2016-03-23) 7 commits + (merged to 'next' on 2016-04-04 at 8de8e8c) + + git_config_push_parameter: handle empty GIT_CONFIG_PARAMETERS + + 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 + + Originally merged to 'next' on 2016-03-23 + + "git -c credential.= submodule" can now be used to + propagate configuration variables related to credential helper + down to the submodules. + + +* jk/test-httpd-config-nosystem (2016-03-18) 1 commit + (merged to 'next' on 2016-04-04 at 5fa6274) + + t/lib-httpd: pass through GIT_CONFIG_NOSYSTEM env + + Originally merged to 'next' on 2016-03-23 + + The tests that involve running httpd leaked the system-wide + configuration in /etc/gitconfig to the tested environment. + + +* jv/merge-nothing-into-void (2016-03-23) 1 commit + (merged to 'next' on 2016-04-04 at aa37405) + + merge: fix NULL pointer dereference when merging nothing into void + + Originally merged to 'next' on 2016-03-23 + + "git merge FETCH_HEAD" dereferenced NULL pointer when merging + nothing into an unborn history (which is arguably unusual usage, + which perhaps was the reason why nobody noticed it). + + +* la/tag-force-signing-annotated-tags (2016-03-22) 1 commit + (merged to 'next' on 2016-04-04 at a49ec4a) + + tag: add the option to force signing of annotated tags + + Originally merged to 'next' on 2016-03-24 + + "git tag" can create an annotated tag without explicitly given an + "-a" (or "-s") option (i.e. when a tag message is given). A new + configuration variable, tag.forceSignAnnotated, can be used to tell + the command to create signed tag in such a situation. + + +* ls/p4-map-user (2016-03-15) 1 commit + (merged to 'next' on 2016-04-04 at a56b011) + + git-p4: map a P4 user to Git author name and email address + + Originally merged to 'next' on 2016-03-23 + + "git p4" now allows P4 author names to be mapped to Git author + names. + + +* pb/t7502-drop-dup (2016-03-11) 1 commit + (merged to 'next' on 2016-04-04 at 4799cad) + + t/t7502 : drop duplicate test + (this branch is used by pb/commit-verbose-config.) + + Originally merged to 'next' on 2016-03-15 Code clean-up. -* jc/maint-index-pack-keep (2016-03-03) 1 commit - (merged to 'next' on 2016-03-04 at bc1d37a) - + index-pack: correct --keep[=] - (this branch is used by jc/bundle, jc/index-pack and jc/index-pack-clone-bundle.) +* sb/clone-t57-t56 (2016-03-16) 1 commit + (merged to 'next' on 2016-04-04 at 5c20247) + + clone tests: rename t57* => t56* - "git index-pack --keep[=] pack-$name.pack" simply did not work. + Originally merged to 'next' on 2016-03-23 + + Rename bunch of tests on "git clone" for better organization. -* jk/add-i-highlight (2016-02-28) 1 commit - (merged to 'next' on 2016-03-04 at 4ac3aa1) - + add--interactive: allow custom diff highlighting programs +* sb/rebase-x (2016-03-18) 2 commits + (merged to 'next' on 2016-04-04 at feda620) + + t3404: cleanup double empty lines between tests + + rebase: decouple --exec from --interactive - A new "interactive.diffFilter" configuration can be used to - customize the diff shown in "git add -i" session. + Originally merged to 'next' on 2016-03-23 + + "git rebase -x" can be used without passing "-i" option. -* jk/config-get-urlmatch (2016-02-28) 3 commits - (merged to 'next' on 2016-03-04 at feeb192) - + Documentation/git-config: fix --get-all description - + Documentation/git-config: use bulleted list for exit codes - + config: fail if --get-urlmatch finds no value +* sb/submodule-parallel-update (2016-03-01) 10 commits + (merged to 'next' on 2016-04-04 at a0aea8d) + + 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: rename parameters for the callbacks + + 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 sb/clone-shallow-passthru and sb/submodule-init.) - "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. + Originally merged to 'next' on 2016-03-15 + + 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. -* jk/credential-clear-config (2016-02-26) 1 commit - (merged to 'next' on 2016-03-04 at f7b26b7) - + credential: let empty credential specs reset helper list +* ss/commit-squash-msg (2016-03-21) 1 commit + (merged to 'next' on 2016-04-04 at d389f19) + + commit: do not lose SQUASH_MSG contents - 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. + Originally merged to 'next' on 2016-03-23 + + When "git merge --squash" stopped due to conflict, the concluding + "git commit" failed to read in the SQUASH_MSG that shows the log + messages from all the squashed commits. -* jk/getwholeline-getdelim-empty (2016-03-05) 1 commit - (merged to 'next' on 2016-03-15 at e70d4bd) - + strbuf_getwholeline: NUL-terminate getdelim buffer on error +* ss/exc-flag-is-a-collection-of-bits (2016-03-01) 1 commit + (merged to 'next' on 2016-04-04 at 9f0207e) + + dir: store EXC_FLAG_* values in unsigned integers - strbuf_getwholeline() did not NUL-terminate the buffer on certain - corner cases in its error codepath. + Originally merged to 'next' on 2016-03-04 + + Code clean-up. -* jk/rev-parse-local-env-vars (2016-02-29) 2 commits - (merged to 'next' on 2016-03-04 at a0300d5) - + rev-parse: let some options run outside repository - + t1515: add tests for rev-parse out-of-repo helpers +* ss/receive-pack-parse-options (2016-03-01) 1 commit + (merged to 'next' on 2016-04-04 at fd6ab4c) + + builtin/receive-pack.c: use parse_options API - 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. + Originally merged to 'next' on 2016-03-04 + + The command line argument parser for "receive-pack" has been + rewritten to use parse-options. + +-------------------------------------------------- +[New Topics] + +* jc/drop-git-spec-in (2016-04-06) 1 commit + - Makefile: stop pretending to support rpmbuild + + As nobody maintains our in-tree git.spec.in and distros use their + own spec file, we stopped pretending that we support "make rpm". -* jk/startup-info (2016-03-07) 6 commits - (merged to 'next' on 2016-03-15 at eb95e5f) - + use setup_git_directory() in test-* programs - + grep: turn off gitlink detection for --no-index - + mailmap: do not resolve blobs in a non-repository - + remote: don't resolve HEAD in non-repository - + setup: set startup_info->have_repository more reliably - + setup: make startup_info available everywhere +* jc/makefile-redirection-stderr (2016-04-05) 1 commit + (merged to 'next' on 2016-04-06 at e3f2ded) + + Makefile: fix misdirected redirections - The startup_info data, which records if we are working inside a - repository (among other things), are now uniformly available to Git - subcommand implementations, and Git avoids attempting to touch - references when we are not in a repository. + A minor fix in the Makefile. + + Will merge to 'master'. -* mm/diff-renames-default (2016-02-25) 5 commits - (merged to 'next' on 2016-02-25 at 947c399) - + diff: activate diff.renames by default - + log: introduce init_log_defaults() - + t: add tests for diff.renames (true/false/unset) - + t4001-diff-rename: wrap file creations in a test - + Documentation/diff-config: fix description of diff.renames +* js/mingw-tests-2.8 (2016-04-04) 1 commit + (merged to 'next' on 2016-04-06 at f85a013) + + Windows: shorten code by re-using convert_slashes() - The end-user facing Porcelain level commands like "diff" and "log" - now enables the rename detection by default. + Code clean-up. + + Will merge to 'master'. -* mm/lockfile-error-message (2016-03-01) 2 commits - (merged to 'next' on 2016-03-04 at 04ed7e6) - + lockfile: improve error message when lockfile exists - + lockfile: mark strings for translation +* ar/diff-args-osx-precompose (2016-04-05) 1 commit + - diff: run arguments through precompose_argv + + Many commands normalize command line arguments from NFD to NFC + variant of UTF-8 on OSX, but commands in the "diff" family did + not, causing "git diff $path" to complain that no such path is + known to Git. They have been taught to do the normalization. + + Will be rerolled? + ($gmane/290724) -* mm/readme-markdown (2016-04-01) 2 commits - - git.spec: use README.md, not README - (merged to 'next' on 2016-03-01 at 81f3858) - + README.md: don't take 'commandname' literally +* ep/trace-doc-sample-fix (2016-04-05) 1 commit + (merged to 'next' on 2016-04-06 at 0df7357) + + api-trace.txt: fix typo - 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. + Fix a typo in an example in the trace API documentation. + + Will merge to 'master'. -* mp/upload-pack-use-embedded-args (2016-02-25) 1 commit - (merged to 'next' on 2016-02-26 at f0a54e5) - + upload-pack: use argv_array for pack_objects +* ew/send-email-readable-message-id (2016-04-06) 1 commit + - send-email: more meaningful Message-ID - The embedded args argv-array in the child process is used to build - the command line to run pack-objects instead of using a separate - array of strings. + "git send-email" now uses a more readable timestamps when + formulating a message ID. + + Will merge to 'next'. -* rj/xdiff-prepare-plug-leak-on-error-codepath (2016-03-04) 2 commits - (merged to 'next' on 2016-03-15 at f72755e) - + xdiff/xprepare: fix a memory leak - + xdiff/xprepare: use the XDF_DIFF_ALG() macro to access flag bits +* mg/complete-cherry-mark-to-log (2016-04-05) 1 commit + (merged to 'next' on 2016-04-06 at 3002be6) + + completion: complete --cherry-mark for git log - A small memory leak in an error codepath has been plugged in xdiff - code. + The completion scripts (in contrib/) did not include the + "--cherry-mark" option when completing "git log ". + + Will merge to 'master'. + + +* tb/blame-force-read-cache-to-workaround-safe-crlf (2016-04-05) 1 commit + (merged to 'next' on 2016-04-06 at 263bba8) + + correct blame for files commited with CRLF + + When running "git blame $path" with unnormalized data in the index + for the path, the data in the working tree was blamed, even though + "git add" would not have changed what is already in the index, due + to "safe crlf" that disables the line-end conversion. It has been + corrected. + + Will merge to 'master'. + + +* st/verify-tag (2016-04-06) 3 commits + - verify-tag: change variable name for readability + - t7030: test verifying multiple tags + - builtin/verify-tag.c: ignore SIGPIPE in gpg-interface + + Only the first three patches in a six-patch series. + + +* ew/send-email-drop-data-dumper (2016-04-06) 1 commit + - send-email: do not load Data::Dumper + + Code clean-up. + + Will merge to 'next'. -------------------------------------------------- [Stalled] +* da/user-useconfigonly (2016-04-01) 2 commits + - ident: give "please tell me" message upon useConfigOnly error + - ident: check for useConfigOnly before auto-detection of name/email + + The "user.useConfigOnly" configuration variable makes it an error + if users do not explicitly set user.name and user.email. However, + its check was not done early enough and allowed another error to + trigger, reporting that the default value we guessed from the + system setting was unusable. This was a suboptimal end-user + experience as we want the users to set user.name/user.email without + relying on the auto-detection at all. + + Waiting for Acks. + ($gmane/290340) + + +* sb/clone-shallow-passthru (2016-03-23) 3 commits + - clone: add t5614 to test cloning submodules with shallowness involved + - submodule clone: pass along `local` option + - clone: add `--shallow-submodules` flag + + "git clone" learned "--shallow-submodules" option. + + Needs review. + + +* 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 ' + - completion: fix completion after 'git -C ' + - 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=' when listing remote refs + - completion: fix most spots not respecting 'git --git-dir=' + - 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) + + +* nd/shallow-deepen (2016-02-23) 25 commits + - fetch, upload-pack: --deepen=N extends shallow boundary by N commits + - upload-pack: add get_reachable_list() + - upload-pack: split check_unreachable() in two, prep for get_reachable_list() + - t5500, t5539: tests for shallow depth excluding a ref + - clone: define shallow clone boundary with --shallow-exclude + - fetch: define shallow boundary with --shallow-exclude + - upload-pack: support define shallow boundary by excluding revisions + - refs: add expand_ref() + - t5500, t5539: tests for shallow depth since a specific date + - clone: define shallow clone boundary based on time with --shallow-since + - fetch: define shallow boundary with --shallow-since + - upload-pack: add deepen-since to cut shallow repos based on time + - shallow.c: implement a generic shallow boundary finder based on rev-list + - fetch-pack: use a separate flag for fetch in deepening mode + - fetch-pack: use a common function for verbose printing + - fetch-pack: use skip_prefix() instead of starts_with() + - upload-pack: move rev-list code out of check_non_tip() + - upload-pack: tighten number parsing at "deepen" lines + - upload-pack: use skip_prefix() instead of starts_with() + - upload-pack: move "unshallow" sending code out of deepen() + - upload-pack: remove unused variable "backup" + - upload-pack: move "shallow" sending code out of deepen() + - upload-pack: move shallow deepen code out of receive_needs() + - transport-helper.c: refactor set_helper_option() + - remote-curl.c: convert fetch_git() to use argv_array + + The existing "git fetch --depth=" option was hard to use + correctly when making the history of an existing shallow clone + deeper. A new option, "--deepen=", has been added to make this + easier to use. "git clone" also learned "--shallow-since=" + and "--shallow-exclude=" options to make it easier to specify + "I am interested only in the recent N months worth of history" and + "Give me only the history since that version". + + Needs review. + + +* sb/submodule-init (2016-03-15) 2 commits + . submodule: port init from shell to C + . submodule: port resolve_relative_url from shell to C + + Update of "git submodule" to move pieces of logic to C continues. + + Needs review. + ($gmane/288824) + + +* az/p4-bare-no-rebase (2016-02-19) 1 commit + - git-p4.py: Don't try to rebase on submit from bare repository + + "git p4 submit" attempts to do a rebase, which would fail if done + in a bare repository. Not doing this rebase would paper over the + failure, which is what this patch does, but it is unclear what the + side effect of not rebasing is. + + Needs a better explanation. + + +* ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit + - wt-status.c: set commitable bit if there is a meaningful merge. + + "git commit --dry-run" reported "No, no, you cannot commit." in one + case where "git commit" would have allowed you to commit, and this + improves it a little bit ("git commit --dry-run --short" still does + not give you the correct answer, for example). + + +* nd/icase (2016-02-15) 12 commits + - grep.c: reuse "icase" variable + - diffcore-pickaxe: support case insensitive match on non-ascii + - diffcore-pickaxe: "share" regex error handling code + - grep/pcre: support utf-8 + - gettext: add is_utf8_locale() + - grep/pcre: prepare locale-dependent tables for icase matching + - grep/icase: avoid kwsset when -F is specified + - grep/icase: avoid kwsset on literal non-ascii strings + - test-regex: expose full regcomp() to the command line + - test-regex: isolate the bug test code + - grep: break down an "if" stmt in preparation for next changes + - grep: allow -F -i combination + + "git grep -i" has been taught to fold case in non-ascii locales. + + Needs review. + ($gmane/286137) + + +* 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. + + * ec/annotate-deleted (2015-11-20) 1 commit - annotate: skip checking working tree if a revision is provided @@ -273,21 +565,48 @@ of the repositories listed at -------------------------------------------------- [Cooking] +* es/format-patch-doc-hide-no-patch (2016-04-04) 1 commit + (merged to 'next' on 2016-04-06 at 25d79bb) + + git-format-patch.txt: don't show -s as shorthand for multiple options + + "git format-patch --help" showed `-s` and `--no-patch` as if these + are valid options to the command. We already hide `--patch` option + from the documentation, because format-patch is about showing the + diff, and the documentation now hides these options as well. + + Will merge to 'master'. + + +* jk/branch-shortening-funny-symrefs (2016-04-04) 1 commit + (merged to 'next' on 2016-04-06 at 1a3f8be) + + branch: fix shortening of non-remote symrefs + + A change back in version 2.7 to "git branch" broke display of a + symbolic ref in a non-standard place in the refs/ hierarchy (we + expect symbolic refs to appear in refs/remotes/*/HEAD to point at + the primary branch the remote has, and as .git/HEAD to point at the + branch we locally checked out). + + Will merge to 'next' and later down to maint-2.7. + + * jn/mergetools-examdiff (2016-04-04) 2 commits - - mergetools: add support for ExamDiff - - mergetools: create mergetool_find_win32_cmd() helper function for winmerge + (merged to 'next' on 2016-04-06 at 819e858) + + mergetools: add support for ExamDiff + + mergetools: create mergetool_find_win32_cmd() helper function for winmerge "git mergetools" learned to drive ExamDiff. - Will merge to 'next'. + Will merge to 'master'. * kn/for-each-tag-branch (2016-03-30) 1 commit - - for-each-ref: fix description of '--contains' in manpage + (merged to 'next' on 2016-04-06 at 4595ad3) + + for-each-ref: fix description of '--contains' in manpage - Docfix. + A minor documentation update. - Will merge to 'next'. + Will merge to 'master'. * kn/ref-filter-branch-list (2016-03-30) 16 commits @@ -315,31 +634,34 @@ of the repositories listed at * oa/doc-diff-check (2016-03-29) 1 commit - - Documentation: git diff --check detects conflict markers + (merged to 'next' on 2016-04-06 at e3d6e8d) + + Documentation: git diff --check detects conflict markers - Docfix. + A minor documentation update. - Will merge to 'next'. + Will merge to 'master'. * rz/worktree-no-checkout (2016-03-29) 1 commit - - worktree: add: introduce --checkout option + (merged to 'next' on 2016-04-06 at e725216) + + worktree: add: introduce --checkout option "git worktree add" can be given "--no-checkout" option to only create an empty worktree without checking out the files. - Will merge to 'next'. + Will merge to 'master'. * sb/misc-cleanups (2016-04-01) 4 commits - - credential-cache, send_request: close fd when done - - bundle: don't leak an fd in case of early return - - abbrev_sha1_in_line: don't leak memory - - notes: don't leak memory in git_config_get_notes_strategy + (merged to 'next' on 2016-04-06 at 4e63691) + + credential-cache, send_request: close fd when done + + bundle: don't leak an fd in case of early return + + abbrev_sha1_in_line: don't leak memory + + notes: don't leak memory in git_config_get_notes_strategy Assorted minor clean-ups. - Will merge to 'next'. + Will merge to 'master'. * sb/submodule-helper-clone-regression-fix (2016-04-01) 6 commits @@ -374,29 +696,34 @@ of the repositories listed at * sg/diff-multiple-identical-renames (2016-03-30) 1 commit - - diffcore: fix iteration order of identical files during rename detection + (merged to 'next' on 2016-04-06 at ac19e48) + + diffcore: fix iteration order of identical files during rename detection "git diff -M" used to work better when two originally identical files A and B got renamed to X/A and X/B by pairing A to X/A and B - to X/B, but this was broken in 2.0 timeframe. + to X/B, but this was broken in the 2.0 timeframe. - Will merge to 'next'. + Will merge to 'master'. * sk/send-pack-all-fix (2016-03-31) 1 commit - - git-send-pack: fix --all option when used with directory + (merged to 'next' on 2016-04-06 at 31e1e1b) + + git-send-pack: fix --all option when used with directory "git send-pack --all " was broken when its command line - option parsing was written in 2.6 timeframe. + option parsing was written in the 2.6 timeframe. - Will merge to 'next'. + Will merge to 'master'. * ss/msvc (2016-03-30) 2 commits - - MSVC: use shipped headers instead of fallback definitions - - MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more + (merged to 'next' on 2016-04-06 at 4b53bce) + + MSVC: use shipped headers instead of fallback definitions + + MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more - Will merge to 'next'. + Build updates for MSVC. + + Will merge to 'master'. * xy/format-patch-base (2016-03-31) 4 commits @@ -413,22 +740,6 @@ of the repositories listed at ($gmane/290365) -* da/user-useconfigonly (2016-04-01) 2 commits - - ident: give "please tell me" message upon useConfigOnly error - - ident: check for useConfigOnly before auto-detection of name/email - - The "user.useConfigOnly" configuration variable makes it an error - if users do not explicitly set user.name and user.email. However, - its check was not done early enough and allowed another error to - trigger, reporting that the default value we guessed from the - system setting was unusable. This was a suboptimal end-user - experience as we want the users to set user.name/user.email without - relying on the auto-detection at all. - - Waiting for Acks. - ($gmane/290340) - - * tb/safe-crlf-output-fix (2016-04-01) 7 commits . convert.c: more safer crlf handling with text attribute . correct blame for files commited with CRLF @@ -449,160 +760,135 @@ of the repositories listed at * ak/use-hashmap-iter-first-in-submodule-config (2016-03-23) 1 commit - - submodule-config: use hashmap_iter_first() + (merged to 'next' on 2016-04-06 at 2aab890) + + submodule-config: use hashmap_iter_first() Minor code cleanup. - Will merge to 'next'. + Will merge to 'master'. * ky/branch-d-worktree (2016-03-29) 1 commit - - branch -d: refuse deleting a branch which is currently checked out + (merged to 'next' on 2016-04-06 at 00f9bff) + + branch -d: refuse deleting a branch which is currently checked out When "git worktree" feature is in use, "git branch -d" allowed deletion of a branch that is checked out in another worktree - Will merge to 'next'. + Will merge to 'master'. * ky/branch-m-worktree (2016-04-04) 2 commits - - branch -m: update all per-worktree HEADs - - refs: add a new function set_worktree_head_symref + (merged to 'next' on 2016-04-06 at e7b285c) + + branch -m: update all per-worktree HEADs + + refs: add a new function set_worktree_head_symref When "git worktree" feature is in use, "git branch -m" renamed a branch that is checked out in another worktree without adjusting the HEAD symbolic ref for the worktree. - Will merge to 'next'. + Will merge to 'master'. * nd/apply-doc (2016-03-24) 2 commits - - git-apply.txt: mention the behavior inside a subdir - - git-apply.txt: remove a space + (merged to 'next' on 2016-04-06 at f9bd355) + + git-apply.txt: mention the behavior inside a subdir + + git-apply.txt: remove a space - Will merge to 'next'. + A minor documentation update. + + Will merge to 'master'. * nd/apply-report-skip (2016-03-24) 1 commit - - apply: report patch skipping in verbose mode + (merged to 'next' on 2016-04-06 at ae2c824) + + apply: report patch skipping in verbose mode "git apply -v" learned to report paths in the patch that were skipped via --include/--exclude mechanism or being outside the current working directory. - Will merge to 'next'. + Will merge to 'master'. * pb/opt-cmdmode-doc (2016-03-25) 1 commit - - api-parse-options.txt: document OPT_CMDMODE() + (merged to 'next' on 2016-04-06 at a5f3835) + + api-parse-options.txt: document OPT_CMDMODE() Minor API documentation update. - Will merge to 'next'. + Will merge to 'master'. * rt/completion-help (2016-03-24) 2 commits - - completion: add 'revisions' and 'everyday' to 'git help' - - completion: add option '--guides' to 'git help' + (merged to 'next' on 2016-04-06 at 8c3ee08) + + completion: add 'revisions' and 'everyday' to 'git help' + + completion: add option '--guides' to 'git help' Shell completion (in contrib/) updates. - Will merge to 'next'. + Will merge to 'master'. * rt/rebase-i-shorten-stop-report (2016-03-28) 1 commit - - rebase-i: print an abbreviated hash when stop for editing + (merged to 'next' on 2016-04-06 at 7a766b7) + + rebase-i: print an abbreviated hash when stop for editing The commit object name reported when "rebase -i" stops has been shortened. - Will merge to 'next'. + Will merge to 'master'. * jk/check-repository-format (2016-03-11) 10 commits - - verify_repository_format: mark messages for translation - - setup: drop repository_format_version global - - setup: unify repository version callbacks - - init: use setup.c's repo version verification - - setup: refactor repo format reading and verification - - config: drop git_config_early - - check_repository_format_gently: stop using git_config_early - - lazily load core.sharedrepository - - wrap shared_repository global in get/set accessors - - setup: document check_repository_format() + (merged to 'next' on 2016-04-06 at a0dada0) + + verify_repository_format: mark messages for translation + + setup: drop repository_format_version global + + setup: unify repository version callbacks + + init: use setup.c's repo version verification + + setup: refactor repo format reading and verification + + config: drop git_config_early + + check_repository_format_gently: stop using git_config_early + + lazily load core.sharedrepository + + wrap shared_repository global in get/set accessors + + setup: document check_repository_format() The repository set-up sequence has been streamlined (the biggest change is that there is no longer git_config_early()), so that we do not attempt to look into refs/* when we know we do not have a Git repository. - Will merge to 'next'. + Will merge to 'master'. * mj/pull-rebase-autostash (2016-04-04) 9 commits - - t5520: test --[no-]autostash with pull.rebase=true - - t5520: reduce commom lines of code - - t5520: factor out common "failing autostash" code - - t5520: factor out common "successful autostash" code - - t5520: use better test to check stderr output - - t5520: ensure consistent test conditions - - t5520: use consistent capitalization in test titles - - pull --rebase: add --[no-]autostash flag - - git-pull.c: introduce git_pull_config() + (merged to 'next' on 2016-04-06 at b4e4f31) + + t5520: test --[no-]autostash with pull.rebase=true + + t5520: reduce commom lines of code + + t5520: factor out common "failing autostash" code + + t5520: factor out common "successful autostash" code + + t5520: use better test to check stderr output + + t5520: ensure consistent test conditions + + t5520: use consistent capitalization in test titles + + pull --rebase: add --[no-]autostash flag + + git-pull.c: introduce git_pull_config() "git pull --rebase" learned "--[no-]autostash" option, so that the rebase.autostash configuration variable set to true can be overridden from the command line. - Will merge to 'next'. + Will merge to 'master'. * pb/commit-verbose-config (2016-03-14) 1 commit - - commit: add a commit.verbose config variable - (this branch uses pb/t7502-drop-dup.) + (merged to 'next' on 2016-04-06 at e5c744f) + + commit: add a commit.verbose config variable "git commit" learned to pay attention to "commit.verbose" configuration variable and act as if "--verbose" option was given from the command line. - Will merge to 'next'. - - -* pb/t7502-drop-dup (2016-03-11) 1 commit - (merged to 'next' on 2016-04-04 at 4799cad) - + t/t7502 : drop duplicate test - (this branch is used by pb/commit-verbose-config.) - - Originally merged to 'next' on 2016-03-15 - - Code clean-up. - - Will merge to 'master' after 2.8 final. - - -* ss/commit-squash-msg (2016-03-21) 1 commit - (merged to 'next' on 2016-04-04 at d389f19) - + commit: do not lose SQUASH_MSG contents - - Originally merged to 'next' on 2016-03-23 - - When "git merge --squash" stopped due to conflict, the concluding - "git commit" failed to read in the SQUASH_MSG that shows the log - messages from all the squashed commits. - - Will merge to 'master' after 2.8 final. - - -* ls/p4-map-user (2016-03-15) 1 commit - (merged to 'next' on 2016-04-04 at a56b011) - + git-p4: map a P4 user to Git author name and email address - - Originally merged to 'next' on 2016-03-23 - - "git p4" now allows P4 author names to be mapped to Git author - names. - - Will merge to 'master' after 2.8 final. + Will merge to 'master'. * jc/merge-refuse-new-root (2016-03-23) 1 commit @@ -620,95 +906,35 @@ of the repositories listed at to be used in a rare event that merges histories of two projects that started their lives independently. - Will merge to 'master' after 2.8 final. + Will merge to 'master'. -* jk/credential-cache-comment-exit (2016-03-18) 1 commit - (merged to 'next' on 2016-04-04 at 50427fe) - + credential-cache--daemon: clarify "exit" action semantics +* lt/pretty-expand-tabs (2016-04-04) 4 commits + (merged to 'next' on 2016-04-06 at 186ac2a) + + pretty: test --expand-tabs + + pretty: allow tweaking tabwidth in --expand-tabs + + pretty: enable --expand-tabs by default for selected pretty formats + + pretty: expand tabs in indented logs to make things line up properly - Originally merged to 'next' on 2016-03-23 + When "git log" shows the log message indented by 4-spaces, the + remainder of a line after a HT does not align in the way the author + originally intended. The command now expands tabs by default in + such a case, and allows the users to override it with a new option, + '--no-expand-tabs'. - A code clarification. - - Will merge to 'master' after 2.8 final. - - -* jk/send-email-rtrim-mailrc-alias (2016-03-18) 1 commit - (merged to 'next' on 2016-04-04 at 4d54956) - + send-email: ignore trailing whitespace in mailrc alias file - - Originally merged to 'next' on 2016-03-23 - - "git send-email" had trouble parsing alias file in mailrc format - when lines in it had trailing whitespaces on them. - - Will merge to 'master' after 2.8 final. - - -* jk/test-httpd-config-nosystem (2016-03-18) 1 commit - (merged to 'next' on 2016-04-04 at 5fa6274) - + t/lib-httpd: pass through GIT_CONFIG_NOSYSTEM env - - Originally merged to 'next' on 2016-03-23 - - The tests that involve running httpd leaked the system-wide - configuration in /etc/gitconfig to the tested environment. - - Will merge to 'master' after 2.8 final. - - -* lt/pretty-expand-tabs (2016-03-30) 3 commits - - pretty: allow tweaking tabwidth in --expand-tabs - - pretty: enable --expand-tabs by default for selected pretty formats - - pretty: expand tabs in indented logs to make things line up properly - - Needs tests. - - -* sb/clone-shallow-passthru (2016-03-23) 3 commits - - clone: add t5614 to test cloning submodules with shallowness involved - - submodule clone: pass along `local` option - - clone: add `--shallow-submodules` flag - (this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.) - - "git clone" learned "--shallow-submodules" option. - - Needs review. - - -* sb/clone-t57-t56 (2016-03-16) 1 commit - (merged to 'next' on 2016-04-04 at 5c20247) - + clone tests: rename t57* => t56* - - Originally merged to 'next' on 2016-03-23 - - Rename bunch of tests on "git clone" for better organization. - - Will merge to 'master' after 2.8 final. - - -* sb/rebase-x (2016-03-18) 2 commits - (merged to 'next' on 2016-04-04 at feda620) - + t3404: cleanup double empty lines between tests - + rebase: decouple --exec from --interactive - - Originally merged to 'next' on 2016-03-23 - - "git rebase -x" can be used without passing "-i" option. - - Will merge to 'master' after 2.8 final. + Will merge to 'master'. * cc/apply (2016-04-01) 4 commits - - builtin/apply: free patch when parse_chunk() fails - - builtin/apply: handle parse_binary() failure - - apply: remove unused call to free() in gitdiff_{old,new}name() - - builtin/apply: get rid of useless 'name' variable + (merged to 'next' on 2016-04-06 at 2e23c44) + + builtin/apply: free patch when parse_chunk() fails + + builtin/apply: handle parse_binary() failure + + apply: remove unused call to free() in gitdiff_{old,new}name() + + builtin/apply: get rid of useless 'name' variable Minor code clean-up. - Will merge to 'next'. + Will merge to 'master'. * dt/index-helper (2016-03-23) 18 commits @@ -731,94 +957,7 @@ of the repositories listed at - read-cache: allow to keep mmap'd memory after reading - read-cache.c: fix constness of verify_hdr() - -* jv/merge-nothing-into-void (2016-03-23) 1 commit - (merged to 'next' on 2016-04-04 at aa37405) - + merge: fix NULL pointer dereference when merging nothing into void - - Originally merged to 'next' on 2016-03-23 - - "git merge FETCH_HEAD" dereferenced NULL pointer when merging - nothing into an unborn history (which is arguably unusual usage, - which perhaps was the reason why nobody noticed it). - - Will merge to 'master' after 2.8 final. - - -* la/tag-force-signing-annotated-tags (2016-03-22) 1 commit - (merged to 'next' on 2016-04-04 at a49ec4a) - + tag: add the option to force signing of annotated tags - - Originally merged to 'next' on 2016-03-24 - - "git tag" can create an annotated tag without explicitly given an - "-a" (or "-s") option (i.e. when a tag message is given). A new - configuration variable, tag.forceSignAnnotated, can be used to tell - the command to create signed tag in such a situation. - - Will merge to 'master' after 2.8 final. - - -* cc/doc-recommend-performance-trace-to-file (2016-03-07) 1 commit - (merged to 'next' on 2016-04-04 at 26f94c0) - + Documentation: talk about pager in api-trace.txt - - Originally merged to 'next' on 2016-03-23 - - A minor documentation update. - - Will merge to 'master' after 2.8 final. - - -* da/mergetool-delete-delete-conflict (2016-03-10) 2 commits - (merged to 'next' on 2016-04-04 at 34e645f) - + mergetool: honor tempfile configuration when resolving delete conflicts - + mergetool: support delete/delete conflicts - - Originally merged to 'next' on 2016-03-15 - - "git mergetool" did not work well with conflicts that both sides - deleted. - - Will merge to 'master' after 2.8 final. - - -* 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 ' - - completion: fix completion after 'git -C ' - - 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=' when listing remote refs - - completion: fix most spots not respecting 'git --git-dir=' - - 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) - - -* ss/exc-flag-is-a-collection-of-bits (2016-03-01) 1 commit - (merged to 'next' on 2016-04-04 at 9f0207e) - + dir: store EXC_FLAG_* values in unsigned integers - - Originally merged to 'next' on 2016-03-04 - - Code clean-up. - - Will merge to 'master' after 2.8 final. + Needs review. * jc/bundle (2016-03-03) 6 commits @@ -834,199 +973,6 @@ of the repositories listed at network to CDN. -* ss/receive-pack-parse-options (2016-03-01) 1 commit - (merged to 'next' on 2016-04-04 at fd6ab4c) - + builtin/receive-pack.c: use parse_options API - - Originally merged to 'next' on 2016-03-04 - - The command line argument parser for "receive-pack" has been - rewritten to use parse-options. - - Will merge to 'master' after 2.8 final. - - -* jk/submodule-c-credential (2016-03-23) 7 commits - (merged to 'next' on 2016-04-04 at 8de8e8c) - + git_config_push_parameter: handle empty GIT_CONFIG_PARAMETERS - + 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 - - Originally merged to 'next' on 2016-03-23 - - "git -c credential.= submodule" can now be used to - propagate configuration variables related to credential helper - down to the submodules. - - Will merge to 'master' after 2.8 final. - - -* nd/shallow-deepen (2016-02-23) 25 commits - - fetch, upload-pack: --deepen=N extends shallow boundary by N commits - - upload-pack: add get_reachable_list() - - upload-pack: split check_unreachable() in two, prep for get_reachable_list() - - t5500, t5539: tests for shallow depth excluding a ref - - clone: define shallow clone boundary with --shallow-exclude - - fetch: define shallow boundary with --shallow-exclude - - upload-pack: support define shallow boundary by excluding revisions - - refs: add expand_ref() - - t5500, t5539: tests for shallow depth since a specific date - - clone: define shallow clone boundary based on time with --shallow-since - - fetch: define shallow boundary with --shallow-since - - upload-pack: add deepen-since to cut shallow repos based on time - - shallow.c: implement a generic shallow boundary finder based on rev-list - - fetch-pack: use a separate flag for fetch in deepening mode - - fetch-pack: use a common function for verbose printing - - fetch-pack: use skip_prefix() instead of starts_with() - - upload-pack: move rev-list code out of check_non_tip() - - upload-pack: tighten number parsing at "deepen" lines - - upload-pack: use skip_prefix() instead of starts_with() - - upload-pack: move "unshallow" sending code out of deepen() - - upload-pack: remove unused variable "backup" - - upload-pack: move "shallow" sending code out of deepen() - - upload-pack: move shallow deepen code out of receive_needs() - - transport-helper.c: refactor set_helper_option() - - remote-curl.c: convert fetch_git() to use argv_array - - The existing "git fetch --depth=" option was hard to use - correctly when making the history of an existing shallow clone - deeper. A new option, "--deepen=", has been added to make this - easier to use. "git clone" also learned "--shallow-since=" - and "--shallow-exclude=" options to make it easier to specify - "I am interested only in the recent N months worth of history" and - "Give me only the history since that version". - - Needs review. - - -* sb/submodule-init (2016-03-15) 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 sb/clone-shallow-passthru.) - - Update of "git submodule" to move pieces of logic to C continues. - - Needs review. - ($gmane/288824) - - -* az/p4-bare-no-rebase (2016-02-19) 1 commit - - git-p4.py: Don't try to rebase on submit from bare repository - - "git p4 submit" attempts to do a rebase, which would fail if done - in a bare repository. Not doing this rebase would paper over the - failure, which is what this patch does, but it is unclear what the - side effect of not rebasing is. - - Needs a better explanation. - - -* ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit - - wt-status.c: set commitable bit if there is a meaningful merge. - - "git commit --dry-run" reported "No, no, you cannot commit." in one - case where "git commit" would have allowed you to commit, and this - improves it a little bit ("git commit --dry-run --short" still does - not give you the correct answer, for example). - - -* nd/icase (2016-02-15) 12 commits - - grep.c: reuse "icase" variable - - diffcore-pickaxe: support case insensitive match on non-ascii - - diffcore-pickaxe: "share" regex error handling code - - grep/pcre: support utf-8 - - gettext: add is_utf8_locale() - - grep/pcre: prepare locale-dependent tables for icase matching - - grep/icase: avoid kwsset when -F is specified - - grep/icase: avoid kwsset on literal non-ascii strings - - test-regex: expose full regcomp() to the command line - - test-regex: isolate the bug test code - - grep: break down an "if" stmt in preparation for next changes - - grep: allow -F -i combination - - "git grep -i" has been taught to fold case in non-ascii locales. - - Needs review. - ($gmane/286137) - - -* sb/submodule-parallel-update (2016-03-01) 10 commits - (merged to 'next' on 2016-04-04 at a0aea8d) - + 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: rename parameters for the callbacks - + 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 sb/clone-shallow-passthru and sb/submodule-init.) - - Originally merged to 'next' on 2016-03-15 - - 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. - - Will merge to 'master' after 2.8 final. - - -* 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 - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES @@ -1034,7 +980,7 @@ of the repositories listed at ($gmane/275680). -* jc/rerere-multi (2016-03-28) 11 commits +* jc/rerere-multi (2016-04-06) 11 commits - rerere: adjust 'forget' to multi-variant world order - rerere: split code to call ll_merge() further - rerere: move code related to "forget" together @@ -1051,14 +997,16 @@ of the repositories listed at signature that have to be resolved in different ways, but there was no way to record these separate resolutions. - Need to send out the final round of review as this should be now complete. + Will merge to 'next'. * jc/merge-drop-old-syntax (2015-04-29) 1 commit - merge: drop 'git merge HEAD ' syntax Stop supporting "git merge HEAD " syntax that has - been deprecated since October 2007. It has been reported that - git-gui still uses the deprecated syntax, which needs to be fixed - before this final step can proceed. + been deprecated since October 2007, and issues a deprecation + warning message since v2.5.0. + + It has been reported that git-gui still uses the deprecated syntax, + which needs to be fixed before this final step can proceed. ($gmane/282594)