From: Junio C Hamano Date: Mon, 22 May 2017 06:08:07 +0000 (+0900) Subject: What's cooking (2017/05 #06) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30092841de24ab5e5a28e6cf669fb1b860740870;p=thirdparty%2Fgit.git What's cooking (2017/05 #06) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index f1db9989a2..b47c69da52 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 (May 2017, #05; Tue, 16) +Subject: What's cooking in git.git (May 2017, #06; Mon, 22) X-master-at: 10c78a162fa821ee85203165b805ff46be454091 -X-next-at: 0c0372eb028443d4e8877a833f6afee01c842345 +X-next-at: 20371eebb69346345f908fea7f7cbd2909a91c2c -What's cooking in git.git (May 2017, #05; Tue, 16) +What's cooking in git.git (May 2017, #06; Mon, 22) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -23,265 +23,279 @@ of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- -[Graduated to "master"] - -* ab/aix-needs-compat-regex (2017-05-04) 1 commit - (merged to 'next' on 2017-05-09 at 881202b6bb) - + config.mak.uname: set NO_REGEX=NeedsStartEnd on AIX - - Build fix. - - -* ab/clone-no-tags (2017-05-01) 3 commits - (merged to 'next' on 2017-04-30 at 601649896a) - + tests: rename a test having to do with shallow submodules - + clone: add a --no-tags option to clone without tags - + tests: change "cd ... && git fetch" to "cd &&\n\tgit fetch" - - "git clone" learned the "--no-tags" option not to fetch all tags - initially, and also set up the tagopt not to follow any tags in - subsequent fetches. +[New Topics] +* ab/conditional-config-with-symlinks (2017-05-17) 1 commit + - config: match both symlink & realpath versions in IncludeIf.gitdir:* -* bw/submodule-has-commits-update (2017-05-02) 6 commits - (merged to 'next' on 2017-05-08 at 57267f2277) - + submodule: refactor logic to determine changed submodules - + submodule: improve submodule_has_commits() - + submodule: change string_list changed_submodule_paths - + submodule: remove add_oid_to_argv() - + submodule: rename free_submodules_sha1s() - + submodule: rename add_sha1_to_array() + The recently introduced "[includeIf "gitdir:$dir"] path=..." + mechansim has further been taught to take symlinks into account. + The directory "$dir" specified in "gitdir:$dir" may be a symlink to + a real location, not something that $(getcwd) may return. In such + a case, a realpath of "$dir" is compared with the real path of the + current repository to determine if the contents from the named path + should be included. - Code clean-up and duplicate removal. + Will merge to 'next'. -* dt/gc-ignore-old-gc-logs (2017-04-24) 3 commits - (merged to 'next' on 2017-04-26 at 4f4cab8368) - + test-lib: retire $remove_trash variable - + test-lib.sh: do not barf under --debug at the end of the test - + test-lib: abort when can't remove trash directory +* bm/interpret-trailers-cut-line-is-eom (2017-05-18) 1 commit + - interpret-trailers: honor the cut line - Attempt to allow us notice "fishy" situation where we fail to - remove the temporary directory used during the test. + "git interpret-trailers", when used as GIT_EDITOR for "git commit + -v", looked for and appended to a trailer block at the very end, + i.e. at the end of the "diff" output. The command has been + corrected to pay attention to the cut-mark line "commit -v" adds to + the buffer---the real trailer block should appear just before it. + Will merge to 'next'. -* dt/raise-core-packed-git-limit (2017-04-20) 1 commit - (merged to 'next' on 2017-04-26 at c72dd8c62f) - + Increase core.packedGitLimit - The default packed-git limit value has been raised on larger - platforms to save "git fetch" from a (recoverable) failure while - "gc" is running in parallel. +* jc/skip-test-in-the-middle (2017-05-18) 2 commits + - t5545: enhance test coverage when no http server is installed + - test: allow skipping the remainder + A recent update to t5545-push-options.sh started skipping all the + tests in the script when a web server testing is disabled or + unavailable, not just the ones that require a web server. Non HTTP + tests have been salvaged to always run in this script. -* jc/apply-fix-mismerge (2017-05-08) 1 commit - (merged to 'next' on 2017-05-09 at e0b89532d0) - + apply.c: fix whitespace-only mismerge + Will merge to 'next'. - Mismerge fix. +* jk/alternate-ref-optim (2017-05-18) 1 commit + - t5400: avoid concurrent writes into a trace file -* jk/am-leakfix (2017-04-27) 3 commits - (merged to 'next' on 2017-04-30 at 78becd7a96) - + am: shorten ident_split variable name in get_commit_info() - + am: simplify allocations in get_commit_info() - + am: fix commit buffer leak in get_commit_info() + A test allowed both "git push" and "git receive-pack" on the other + end write their traces into the same file. This is OK on platforms + that allows atomically appending to a file opened with O_APPEND, + but on other platforms led to a mangled output, causing + intermittent test failures. This has been fixed by disabling + traces from "receive-pack" in the test. - The codepath in "git am" that is used when running "git rebase" - leaked memory held for the log message of the commits being rebased. + Will merge to 'next'. -* jk/no-null-sha1-in-cache-tree (2017-04-23) 1 commit - (merged to 'next' on 2017-04-26 at 45fbe9d57d) - + cache-tree: reject entries with null sha1 +* mh/packed-ref-store-prep (2017-05-18) 23 commits + - cache_ref_iterator_begin(): avoid priming unneeded directories + - ref-filter: limit traversal to prefix + - create_ref_entry(): remove `check_name` option + - refs_ref_iterator_begin(): handle `GIT_REF_PARANOIA` + - read_packed_refs(): report unexpected fopen() failures + - read_packed_refs(): do more of the work of reading packed refs + - get_packed_ref_cache(): assume "packed-refs" won't change while locked + - should_pack_ref(): new function, extracted from `files_pack_refs()` + - ref_update_reject_duplicates(): add a sanity check + - ref_update_reject_duplicates(): use `size_t` rather than `int` + - ref_update_reject_duplicates(): expose function to whole refs module + - ref_transaction_commit(): break into multiple functions + - files_transaction_cleanup(): new helper function + - files_ref_store: put the packed files lock directly in this struct + - files-backend: move `lock` member to `files_ref_store` + - lockfile: add a new method, is_lock_file_locked() + - ref_store: take `logmsg` parameter when deleting references + - refs: use `size_t` indexes when iterating over ref transaction updates + - refs_ref_iterator_begin(): don't check prefixes redundantly + - prefix_ref_iterator: don't trim too much + - ref_iterator_begin_fn(): fix docstring + - refs.h: clarify docstring for the ref_transaction_update()-related fns + - t3600: clean up permissions test properly + + The implementation of "ref" API around the "packed refs" have been + cleaned up, in preparation for further changes. - Code to update the cache-tree has been tightened so that we won't - accidentally write out any 0{40} entry in the tree object. + Expecting a reroll. -* jn/clone-add-empty-config-from-command-line (2017-05-02) 1 commit - (merged to 'next' on 2017-05-09 at c56ac3f782) - + clone: handle empty config values in -c +* sl/clean-d-ignored-fix (2017-05-22) 7 commits + - SQUASH???? + - clean: teach clean -d to skip dirs containing ignored files + - dir: expose cmp_name() and check_contains() + - dir: hide untracked contents of untracked dirs + - dir: recurse into untracked dirs for ignored files + - t7061: status --ignored should search untracked dirs + - t7300: clean -d should skip dirs with ignored files - "git clone --config var=val" is a way to populate the - per-repository configuration file of the new repository, but it did - not work well when val is an empty string. This has been fixed. + "git clean -d" used to clean directories that has ignored files, + even though the command should not lose ignored ones without "-x". + This has been corrected. -* jn/credential-doc-on-clear (2017-05-02) 1 commit - (merged to 'next' on 2017-05-09 at 96fa65d122) - + credential doc: make multiple-helper behavior more prominent +* tg/stash-push-fixup (2017-05-17) 1 commit + - completion: add git stash push - Doc update. + The shell completion script (in contrib/) learned "git stash" has + a new "push" subcommand. + Will merge to 'next'. -* js/larger-timestamps (2017-05-09) 9 commits - (merged to 'next' on 2017-05-09 at ae0603fd3e) - + archive-tar: fix a sparse 'constant too large' warning - (merged to 'next' on 2017-04-28 at b56a0d38cd) - + use uintmax_t for timestamps - + date.c: abort if the system time cannot handle one of our timestamps - + timestamp_t: a new data type for timestamps - + PRItime: introduce a new "printf format" for timestamps - + parse_timestamp(): specify explicitly where we parse timestamps - + t0006 & t5000: skip "far in the future" test when time_t is too limited - + t0006 & t5000: prepare for 64-bit timestamps - + ref-filter: avoid using `unsigned long` for catch-all data type - Some platforms have ulong that is smaller than time_t, and our - historical use of ulong for timestamp would mean they cannot - represent some timestamp that the platform allows. Invent a - separate and dedicated timestamp_t (so that we can distingiuish - timestamps and a vanilla ulongs, which along is already a good - move), and then declare uintmax_t is the type to be used as the - timestamp_t. +* ab/sha1dc (2017-05-22) 3 commits + - sha1collisiondetection: automatically enable when submodule is populated + - sha1dc: optionally use sha1collisiondetection as a submodule + - sha1dc: update from upstream + The "collission-detecting" implementation of SHA-1 hash we borrowed + from is replaced by directly binding the upstream project as our + submodule. -* jt/use-trailer-api-in-commands (2017-04-26) 1 commit - (merged to 'next' on 2017-04-30 at 006c8d7ebd) - + sequencer: add newline before adding footers + Will keep in 'pu' for a few CI cycles. + Impact to the various build and release infrastructure of using + submodule is not yet fully known, but this lets us dip our toes. - "git cherry-pick" and other uses of the sequencer machinery - mishandled a trailer block whose last line is an incomplete line. - This has been fixed so that an additional sign-off etc. are added - after completing the existing incomplete line. +* bp/fsmonitor (2017-05-21) 10 commits + - SQUASH??? + - SQUASH??? + - SQUASH??? + - fsmonitor: add a sample query-fsmonitor hook script for Watchman + - fsmonitor: add documentation for the fsmonitor extension. + - fsmonitor: add test cases for fsmonitor extension + - SQUASH??? + - fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files. + - dir: make lookup_untracked() available outside of dir.c + - bswap: add 64 bit endianness helper get_be64 -* ls/travis-doc-asciidoctor (2017-04-26) 4 commits - (merged to 'next' on 2017-05-04 at 813ba54fc3) - + travis-ci: check AsciiDoc/AsciiDoctor stderr output - (merged to 'next' on 2017-04-19 at 359c32953b) - + travis-ci: unset compiler for jobs that do not need one - + travis-ci: parallelize documentation build - + travis-ci: build documentation with AsciiDoc and Asciidoctor + Expecting reroll. - Travis CI gained a task to format the documentation with both - AsciiDoc and AsciiDoctor. +* dk/send-email-avoid-net-smtp-ssl-when-able (2017-05-20) 1 commit + - send-email: Net::SMTP::SSL is obsolete, use only when necessary -* nd/worktree-kill-parse-ref (2017-04-24) 6 commits - (merged to 'next' on 2017-04-26 at b8e40da709) - + refs: kill set_worktree_head_symref() - + worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe() - + refs: introduce get_worktree_ref_store() - + refs: add REFS_STORE_ALL_CAPS - + refs.c: make submodule ref store hashmap generic - + environment.c: fix potential segfault by get_git_common_dir() - (this branch is used by nd/prune-in-worktree.) + "git send-email" now uses Net::SMTP::SSL, which is obsolete, only + when needed. Recent versions of Net::SMTP can do TLS natively. - "git gc" did not interact well with "git worktree"-managed - per-worktree refs. + Will merge to 'next'. -* rs/large-zip (2017-05-01) 7 commits - (merged to 'next' on 2017-05-02 at a03574e49b) - + t5004: require 64-bit support for big ZIP tests - + archive-zip: set version field for big files correctly - (merged to 'next' on 2017-04-26 at a6beab60f2) - + archive-zip: support files bigger than 4GB - + archive-zip: support archives bigger than 4GB - + archive-zip: write ZIP dir entry directly to strbuf - + archive-zip: use strbuf for ZIP directory - + archive-zip: add tests for big ZIP archives +* jc/name-rev-lw-tag (2017-03-29) 2 commits + - name-rev: favor describing with tags and use committer date to tiebreak + - name-rev: refactor logic to see if a new candidate is a better name + (this branch is used by mg/name-rev-debug.) - "git archive --format=zip" learned to use zip64 extension when - necessary to go beyond the 4GB limit. + "git describe --contains" penalized light-weight tags so much that + they were almost never considered. Instead, give them about the + same chance to be considered as an annotated tag that is the same + age as the underlying commit would. + Will merge to 'next'. -* sk/status-short-branch-color-config (2017-04-28) 2 commits - (merged to 'next' on 2017-04-30 at 2a7eb05d7b) - + status: add color config slots for branch info in "--short --branch" - + status: fix missing newline when comment chars are disabled - The colors in which "git status --short --branch" showed the names - of the current branch and its remote-tracking branch are now - configurable. +* jk/diff-blob (2017-05-20) 15 commits + - diff: use blob path for blob/file diffs + - diff: use pending "path" if it is available + - diff: use the word "path" instead of "name" for blobs + - diff: pass whole pending entry in blobinfo + - handle_revision_arg: record paths for pending objects + - handle_revision_arg: record modes for "a..b" endpoints + - t4063: add tests of direct blob diffs + - get_sha1_with_context: dynamically allocate oc->path + - get_sha1_with_context: always initialize oc->symlink_path + - sha1_name: consistently refer to object_context as "oc" + - handle_revision_arg: add handle_dotdot() helper + - handle_revision_arg: hoist ".." check out of range parsing + - handle_revision_arg: stop using "dotdot" as a generic pointer + - handle_revision_arg: simplify commit reference lookups + - handle_revision_arg: reset "dotdot" consistently + + The result from "git diff" that compares two blobs, e.g. "git diff + $commit1:$path $commit2:$path", used to be shown with the full + object name as given on the command line, but it is more natural to + use the $path in the output and use it to look up .gitattributes. --------------------------------------------------- -[New Topics] + Needs review. -* ah/log-decorate-default-to-auto (2017-05-15) 1 commit - - builtin/log: honor log.decorate - Setting "log.decorate=false" in the configuration file did not take - effect in v2.13, which has been corrected. +* jk/ignore-broken-tags-when-ignoring-missing-links (2017-05-20) 1 commit + - revision.c: ignore broken tags with ignore_missing_links + Tag objects, which are not reachable from any ref, that point at + missing objects were mishandled by "git gc" and friends (they + should silently be ignored instead) + Will merge to 'next'. -* jh/memihash-opt (2017-05-16) 5 commits - - p0004: don't error out if test repo is too small - - p0004: don't abort if multi-threaded is too slow - - p0004: use test_perf - - p0004: avoid using pipes - - p0004: simplify calls of test-lazy-init-name-hash +* js/bs-is-a-dir-sep-on-windows (2017-05-20) 2 commits + - Windows: do not treat a path with backslashes as a remote's nick name + - mingw.h: permit arguments with side effects for is_dir_sep - perf-test update. + "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no + slashes in it, cannot be a nickname for a remote on Windows, as + that is likely to be a pathname on a local filesystem. Will merge to 'next'. -* jk/bug-to-abort (2017-05-15) 3 commits - - config: complain about --local outside of a git repo - - setup_git_env: convert die("BUG") to BUG() - - usage.c: add BUG() function +* js/larger-timestamps (2017-05-20) 1 commit + - name-rev: change a "long" variable to timestamp_t - Introduce the BUG() macro to improve die("BUG: ..."). + A follow-up hotfix for a topic already in 'master'. Will merge to 'next'. -* jk/no-looking-at-dotgit-outside-repo (2017-05-15) 1 commit - - config: complain about --local outside of a git repo +* km/log-showsignature-doc (2017-05-20) 1 commit + - config.txt: add an entry for log.showSignature - Will discard. - Superseded by jk/bug-to-abort. + Will merge to 'next'. -* jk/update-links-in-docs (2017-05-15) 1 commit - - doc: use https links to Wikipedia to avoid http redirects +* kn/ref-filter-branch-list (2017-05-20) 1 commit + - ref-filter: resolve HEAD when parsing %(HEAD) atom - A few http:// links that are redirected to https:// in the - documentation have been updated to https:// links. + "git for-each-ref --format=..." with %(HEAD) in the format used to + resolve the HEAD symref as many times as it had processed refs, + which was wasteful, and "git branch" shared the same problem. Will merge to 'next'. -* js/blame-lib (2017-05-15) 22 commits - - blame: create entry prepend function in libgit - - blame: create scoreboard setup function in libgit - - blame: create scoreboard init function in libgit - - blame: move scoreboard-related methods to libgit - - blame: move fake-commit-related methods to libgit - - blame: move origin-related methods to libgit - - blame: rework methods that determine 'final' commit - - blame: wrap blame_sort and compare_blame_final - - blame: move progess updates to a scoreboard callback - - blame: make sanity_check use a callback in scoreboard - - blame: move no_whole_file_rename flag to scoreboard - - blame: move xdl_opts flags to scoreboard - - blame: move show_root flag to scoreboard - - blame: move reverse flag to scoreboard - - blame: move contents_from to scoreboard - - blame: move copy/move thresholds to scoreboard - - blame: move stat counters to scoreboard - - blame: move scoreboard structure to header - - blame: move origin and entry structures to header - - blame: remove unused parameters - - blame: move textconv_object with related functions - - blame: remove unneeded dependency on blob.h +* pw/rebase-i-regression-fix (2017-05-20) 3 commits + - rebase -i: add missing newline to end of message + - rebase -i: silence stash apply + - rebase -i: fix reflog message - The internal logic used in "git blame" has been libified to make it - easier to use by cgit. + Regression fix to topic recently merged to 'master'. + Will merge to 'next'. -* jt/send-email-validate-hook (2017-05-16) 1 commit - - send-email: support validate hook - "git send-email" learned to run sendemail-validate hook to inspect - and reject a message before sending it out. +* sb/diff-color-move (2017-05-20) 20 commits + - diff.c: color moved lines differently + - diff: buffer all output if asked to + - diff.c: emit_line includes whitespace highlighting + - diff.c: convert diff_summary to use emit_line_* + - diff.c: convert diff_flush to use emit_line_* + - diff.c: convert word diffing to use emit_line_* + - diff.c: convert show_stats to use emit_line_* + - diff.c: convert emit_binary_diff_body to use emit_line_* + - submodule.c: convert show_submodule_summary to use emit_line_fmt + - diff.c: convert emit_rewrite_lines to use emit_line_* + - diff.c: convert emit_rewrite_diff to use emit_line_* + - diff.c: convert builtin_diff to use emit_line_* + - diff.c: convert fn_out_consume to use emit_line + - diff.c: inline emit_line_0 into emit_line + - diff.c: emit_line_0 takes parameter whether to output line prefix + - diff.c: emit_line_0 can handle no color setting + - diff.c: teach emit_line_0 to accept sign parameter + - diff.c: factor out diff_flush_patch_all_file_pairs + - diff: move line ending check into emit_hunk_header + - diff: readability fix + + "git diff" has been taught to optionally paint new lines that are + the same as deleted lines elsewhere differently from genuinely new + lines. + + +* xz/send-email-batch-size (2017-05-22) 2 commits + - SQUASH??? + - send-email: --batch-size to work around some SMTP server limit + + "git send-email" learned to overcome some SMTP server limitation + that does not allow many pieces of e-mails to be sent over a single + session. - Will merge to 'next'. -------------------------------------------------- [Stalled] @@ -296,19 +310,14 @@ of the repositories listed at cf. -* mg/name-rev-debug (2017-03-31) 4 commits +* mg/name-rev-debug (2017-03-31) 2 commits - describe: pass --debug down to name-rev - name-rev: provide debug output - - name-rev: favor describing with tags and use committer date to tiebreak - - name-rev: refactor logic to see if a new candidate is a better name + (this branch uses jc/name-rev-lw-tag.) "git describe --debug --contains" did not add any meaningful information, even though without "--contains" it did. - Have been expecting a reroll of the tip two, but it has not seen - any activity for too long. - cf. - * nd/worktree-move (2017-04-20) 6 commits - worktree remove: new command @@ -361,10 +370,97 @@ of the repositories listed at Needs review. cf. <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com> - -------------------------------------------------- [Cooking] +* ah/log-decorate-default-to-auto (2017-05-15) 1 commit + (merged to 'next' on 2017-05-20 at 209614479c) + + builtin/log: honor log.decorate + + Setting "log.decorate=false" in the configuration file did not take + effect in v2.13, which has been corrected. + + Will merge to 'master'. + + +* jh/memihash-opt (2017-05-16) 5 commits + - p0004: don't error out if test repo is too small + - p0004: don't abort if multi-threaded is too slow + - p0004: use test_perf + - p0004: avoid using pipes + - p0004: simplify calls of test-lazy-init-name-hash + + perf-test update. + + Will merge to 'next'. + + +* jk/bug-to-abort (2017-05-22) 4 commits + (merged to 'next' on 2017-05-22 at 20371eebb6) + + usage: add NORETURN to BUG() function definitions + (merged to 'next' on 2017-05-20 at db65acc882) + + config: complain about --local outside of a git repo + + setup_git_env: convert die("BUG") to BUG() + + usage.c: add BUG() function + + Introduce the BUG() macro to improve die("BUG: ..."). + + Will merge to 'master'. + + +* jk/no-looking-at-dotgit-outside-repo (2017-05-15) 1 commit + - config: complain about --local outside of a git repo + + Will discard. + Superseded by jk/bug-to-abort. + + +* jk/update-links-in-docs (2017-05-15) 1 commit + - doc: use https links to Wikipedia to avoid http redirects + + A few http:// links that are redirected to https:// in the + documentation have been updated to https:// links. + + Will merge to 'next'. + + +* js/blame-lib (2017-05-15) 22 commits + - blame: create entry prepend function in libgit + - blame: create scoreboard setup function in libgit + - blame: create scoreboard init function in libgit + - blame: move scoreboard-related methods to libgit + - blame: move fake-commit-related methods to libgit + - blame: move origin-related methods to libgit + - blame: rework methods that determine 'final' commit + - blame: wrap blame_sort and compare_blame_final + - blame: move progess updates to a scoreboard callback + - blame: make sanity_check use a callback in scoreboard + - blame: move no_whole_file_rename flag to scoreboard + - blame: move xdl_opts flags to scoreboard + - blame: move show_root flag to scoreboard + - blame: move reverse flag to scoreboard + - blame: move contents_from to scoreboard + - blame: move copy/move thresholds to scoreboard + - blame: move stat counters to scoreboard + - blame: move scoreboard structure to header + - blame: move origin and entry structures to header + - blame: remove unused parameters + - blame: move textconv_object with related functions + - blame: remove unneeded dependency on blob.h + + The internal logic used in "git blame" has been libified to make it + easier to use by cgit. + + +* jt/send-email-validate-hook (2017-05-16) 1 commit + - send-email: support validate hook + + "git send-email" learned to run sendemail-validate hook to inspect + and reject a message before sending it out. + + Will merge to 'next'. + + * bw/pathspec-sans-the-index (2017-05-12) 6 commits - pathspec: convert find_pathspecs_matching_against_index to take an index - pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP @@ -390,14 +486,15 @@ of the repositories listed at * jc/read-tree-empty-with-m (2017-05-10) 1 commit - - read-tree: "read-tree -m --empty" does not make sense + (merged to 'next' on 2017-05-20 at 7e86815364) + + read-tree: "read-tree -m --empty" does not make sense "git read-tree -m" (no tree-ish) gave a nonsense suggestion "use --empty if you want to clear the index". With "-m", such a request will still fail anyway, as you'd need to name at least one tree-ish to be merged. - Will merge to 'next'. + Will merge to 'master'. * ab/perf-wildmatch (2017-05-12) 2 commits @@ -422,24 +519,29 @@ of the repositories listed at * js/retire-old-remote-spec (2017-05-12) 11 commits - - PREVIEW: remove support for .git/remotes/ and .git/branches/ - - PREVIEW: t0060: stop testing support for .git/remotes/ and .git/branches/ - - PREVIEW: t5515: remove .git/remotes/ and .git/branches/ tests - - PREVIEW: remote: remove support for migrating ancient remotes - - PREVIEW: t5516: stop testing .git/branches/ functionality - - PREVIEW: t5510: convert .git/remotes/ test to use a regular remote - - Revert "Revert "Don't create the $GIT_DIR/branches directory on init"" - - remote: warn loud and clear when .git/remotes/ is *still* used - - remote: warn loud and clear when .git/branches/ is *still* used - - Documentation: really deprecate .git/remotes/ and .git/branches/ - - git-parse-remote: fix highly misleading man page + . PREVIEW: remove support for .git/remotes/ and .git/branches/ + . PREVIEW: t0060: stop testing support for .git/remotes/ and .git/branches/ + . PREVIEW: t5515: remove .git/remotes/ and .git/branches/ tests + . PREVIEW: remote: remove support for migrating ancient remotes + . PREVIEW: t5516: stop testing .git/branches/ functionality + . PREVIEW: t5510: convert .git/remotes/ test to use a regular remote + . Revert "Revert "Don't create the $GIT_DIR/branches directory on init"" + . remote: warn loud and clear when .git/remotes/ is *still* used + . remote: warn loud and clear when .git/branches/ is *still* used + . Documentation: really deprecate .git/remotes/ and .git/branches/ + . git-parse-remote: fix highly misleading man page Stop reading from .git/remotes/ and .git/branches/, two old ways that we have been supporting to configure short-hands for fetching from remote repositories. + Will discard. + The procedure of removing an old and unused feature is correctly + followed by this series, but it is far from clear that the feature + this attempts to remove is unused or useless. + -* ab/grep-preparatory-cleanup (2017-05-15) 29 commits +* ab/grep-preparatory-cleanup (2017-05-21) 30 commits - grep: assert that threading is enabled when calling grep_{lock,unlock} - grep: given --threads with NO_PTHREADS=YesPlease, warn - pack-objects: fix buggy warning about threads @@ -449,11 +551,11 @@ of the repositories listed at - grep: change internal *pcre* variable & function names to be *pcre1* - grep: change the internal PCRE macro names to be PCRE1 - grep: factor test for \0 in grep patterns into a function - - grep: remove redundant `regflags &= ~REG_EXTENDED` assignments - - grep: remove redundant regflags assignment under PCRE + - grep: remove redundant regflags assignments - grep: catch a missing enum in switch statement - - perf: add a performance comparison of fixed-string grep - - perf: add a performance comparison test of grep -G, -E and -P + - perf: add a comparison test of log --grep regex engines + - perf: add a comparison test of grep regex engines with -F + - perf: add a comparison test of grep regex engines - perf: emit progress output when unpacking & building - perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do - grep: add tests to fix blind spots with \0 patterns @@ -465,6 +567,7 @@ of the repositories listed at - grep: change non-ASCII -i test to stop using --debug - grep: add a test for backreferences in PCRE patterns - grep: add a test asserting that --perl-regexp dies when !PCRE + - log: make --regexp-ignore-case work with --perl-regexp - log: add exhaustive tests for pattern style options & config - test-lib: rename the LIBPCRE prerequisite to PCRE - grep & rev-list doc: stop promising libpcre for --perl-regexp @@ -473,30 +576,29 @@ of the repositories listed at The internal implementation of "git grep" has seen some clean-up. -* ab/compat-regex-update (2017-05-12) 3 commits - - DONTMERGE compat/regex: make it compile with -Werror=int-to-pointer-cast - - compat/regex: update the gawk regex engine from upstream - - compat/regex: add a README with a maintenance guide - - Update compat/regex we borrowed from gawk. It seems that some - customizations we made to the older one were dropped by mistake. - - Will discard. - cf. - - * jt/push-options-doc (2017-05-10) 2 commits - - receive-pack: verify push options in cert - - docs: correct receive.advertisePushOptions default + (merged to 'next' on 2017-05-20 at ca7f344111) + + receive-pack: verify push options in cert + + docs: correct receive.advertisePushOptions default The receive-pack program now makes sure that the push certificate records the same set of push options used for pushing. - Will merge to 'next'. + Will merge to 'master'. -* dt/unpack-save-untracked-cache-extension (2017-05-09) 1 commit - - DONTMERGE: unpack-trees: preserve index extensions +* dt/unpack-save-untracked-cache-extension (2017-05-20) 1 commit + - unpack-trees: preserve index extensions + + When "git checkout", "git merge", etc. manipulates the in-core + index, various pieces of information in the index extensions are + discarded from the original state, as it is usually not the case + that they are kept up-to-date and in-sync with the operation on the + main index. The untracked cache extension is copied across these + operations now, which would speed up "git status" (as long as the + cache is properly invalidated). + + Will merge to 'next'. * sg/clone-refspec-from-command-line-config (2017-05-16) 4 commits @@ -512,14 +614,15 @@ of the repositories listed at * sb/checkout-recurse-submodules (2017-05-04) 3 commits - - submodule: properly recurse for read-tree and checkout - - submodule: avoid auto-discovery in new working tree manipulator code - - submodule_move_head: reuse child_process structure for futher commands + (merged to 'next' on 2017-05-20 at f972b2069f) + + submodule: properly recurse for read-tree and checkout + + submodule: avoid auto-discovery in new working tree manipulator code + + submodule_move_head: reuse child_process structure for futher commands "git checkout --recurse-submodules" did not quite work with a submodule that itself has submodules. - Will merge to 'next'. + Will merge to 'master'. * ja/do-not-ask-needless-questions (2017-05-12) 3 commits @@ -535,8 +638,9 @@ of the repositories listed at * ab/doc-replace-gmane-links (2017-05-09) 2 commits - - doc: replace more gmane links - - doc: replace a couple of broken gmane links + (merged to 'next' on 2017-05-20 at 2c4f96560c) + + doc: replace more gmane links + + doc: replace a couple of broken gmane links The Web interface to gmane news archive is long gone, even though the articles are still accessible via NTTP. Replace the links with @@ -544,53 +648,57 @@ of the repositories listed at based on the actual message-id, it is likely that it will be easier to migrate away from it if/when necessary. - Will merge to 'next'. + Will merge to 'master'. * ab/fix-poison-tests (2017-05-11) 3 commits - - travis-ci: add job to run tests with GETTEXT_POISON - - travis-ci: setup "prove cache" in "script" step - - tests: fix tests broken under GETTEXT_POISON=YesPlease + (merged to 'next' on 2017-05-20 at 5b13ba86bd) + + travis-ci: add job to run tests with GETTEXT_POISON + + travis-ci: setup "prove cache" in "script" step + + tests: fix tests broken under GETTEXT_POISON=YesPlease Update tests to pass under GETTEXT_POISON (a mechanism to ensure that output strings that should not be translated are not translated by mistake), and tell TravisCI to run them. - Will merge to 'next'. + Will merge to 'master'. * bw/dir-c-stops-relying-on-the-index (2017-05-06) 14 commits - - dir: convert fill_directory to take an index - - dir: convert read_directory to take an index - - dir: convert read_directory_recursive to take an index - - dir: convert open_cached_dir to take an index - - dir: convert is_excluded to take an index - - dir: convert prep_exclude to take an index - - dir: convert add_excludes to take an index - - dir: convert is_excluded_from_list to take an index - - dir: convert last_exclude_matching_from_list to take an index - - dir: convert dir_add* to take an index - - dir: convert get_dtype to take index - - dir: convert directory_exists_in_index to take index - - dir: convert read_skip_worktree_file_from_index to take an index - - dir: stop using the index compatibility macros + (merged to 'next' on 2017-05-20 at 1f1b764ec8) + + dir: convert fill_directory to take an index + + dir: convert read_directory to take an index + + dir: convert read_directory_recursive to take an index + + dir: convert open_cached_dir to take an index + + dir: convert is_excluded to take an index + + dir: convert prep_exclude to take an index + + dir: convert add_excludes to take an index + + dir: convert is_excluded_from_list to take an index + + dir: convert last_exclude_matching_from_list to take an index + + dir: convert dir_add* to take an index + + dir: convert get_dtype to take index + + dir: convert directory_exists_in_index to take index + + dir: convert read_skip_worktree_file_from_index to take an index + + dir: stop using the index compatibility macros API update. - Will merge to 'next'. + Will merge to 'master'. * jk/diff-submodule-diff-inline (2017-05-08) 1 commit - - diff: recurse into nested submodules for inline diff + (merged to 'next' on 2017-05-20 at da7eb2626a) + + diff: recurse into nested submodules for inline diff "git diff --submodule=diff" now recurses into nested submodules. - Will merge to 'next'. + Will merge to 'master'. * jk/disable-pack-reuse-when-broken (2017-05-09) 2 commits - - t5310: fix "; do" style - - pack-objects: disable pack reuse for object-selection options + (merged to 'next' on 2017-05-20 at 684e921273) + + t5310: fix "; do" style + + pack-objects: disable pack reuse for object-selection options "pack-objects" can stream a slice of an existing packfile out when the pack bitmap can tell that the reachable objects are all needed @@ -598,16 +706,17 @@ of the repositories listed at strategy however would not work well when "--local" and other options are in use, and need to be disabled. - Will merge to 'next'. + Will merge to 'master'. * js/eol-on-ourselves (2017-05-10) 6 commits - - t4051: mark supporting files as requiring LF-only line endings - - Fix the remaining tests that failed with core.autocrlf=true - - t3901: move supporting files into t/t3901/ - - completion: mark bash script as LF-only - - git-new-workdir: mark script as LF-only - - Fix build with core.autocrlf=true + (merged to 'next' on 2017-05-20 at 8023c277d2) + + t4051: mark supporting files as requiring LF-only line endings + + Fix the remaining tests that failed with core.autocrlf=true + + t3901: move supporting files into t/t3901/ + + completion: mark bash script as LF-only + + git-new-workdir: mark script as LF-only + + Fix build with core.autocrlf=true Make sure our tests would pass when the sources are checked out with "platform native" line ending convention by default on @@ -615,69 +724,73 @@ of the repositories listed at themselves that are meant to be run with /bin/sh, ought to be checked out with eol=LF even on Windows. - Will merge to 'next'. + Will merge to 'master'. * nd/split-index-unshare (2017-05-08) 2 commits - - p3400: add perf tests for rebasing many changes - - split-index: add and use unshare_split_index() + (merged to 'next' on 2017-05-20 at 9048cdc2ce) + + p3400: add perf tests for rebasing many changes + + split-index: add and use unshare_split_index() Plug some leaks and updates internal API used to implement the split index feature to make it easier to avoid such a leak in the future. - Will merge to 'next'. + Will merge to 'master'. * rs/checkout-am-fix-unborn (2017-05-08) 2 commits - - am: check return value of resolve_refdup before using hash - - checkout: check return value of resolve_refdup before using hash + (merged to 'next' on 2017-05-20 at d4f1ee3ed7) + + am: check return value of resolve_refdup before using hash + + checkout: check return value of resolve_refdup before using hash A few codepaths in "checkout" and "am" working on an unborn branch tried to access an uninitialized piece of memory. - Will merge to 'next'. + Will merge to 'master'. * bw/submodule-with-bs-path (2017-05-01) 1 commit - - t7400: add !CYGWIN prerequisite to 'add with \\ in path' + (merged to 'next' on 2017-05-20 at b740f784cb) + + t7400: add !CYGWIN prerequisite to 'add with \\ in path' A hotfix to a topic that is already in v2.13. - Will merge to 'next'. + Will merge to 'master'. * js/plug-leaks (2017-05-09) 26 commits - - checkout: fix memory leak - - submodule_uses_worktrees(): plug memory leak - - show_worktree(): plug memory leak - - name-rev: avoid leaking memory in the `deref` case - - remote: plug memory leak in match_explicit() - - add_reflog_for_walk: avoid memory leak - - shallow: avoid memory leak - - line-log: avoid memory leak - - receive-pack: plug memory leak in update() - - fast-export: avoid leaking memory in handle_tag() - - mktree: plug memory leaks reported by Coverity - - pack-redundant: plug memory leak - - setup_discovered_git_dir(): plug memory leak - - setup_bare_git_dir(): help static analysis - - split_commit_in_progress(): simplify & fix memory leak - - checkout: fix memory leak - - cat-file: fix memory leak - - mailinfo & mailsplit: check for EOF while parsing - - status: close file descriptor after reading git-rebase-todo - - difftool: address a couple of resource/memory leaks - - get_mail_commit_oid(): avoid resource leak - - git_config_rename_section_in_file(): avoid resource leak - - add_commit_patch_id(): avoid allocating memory unnecessarily - - winansi: avoid buffer overrun - - winansi: avoid use of uninitialized value - - mingw: avoid memory leak when splitting PATH + (merged to 'next' on 2017-05-20 at fb136ea2dc) + + checkout: fix memory leak + + submodule_uses_worktrees(): plug memory leak + + show_worktree(): plug memory leak + + name-rev: avoid leaking memory in the `deref` case + + remote: plug memory leak in match_explicit() + + add_reflog_for_walk: avoid memory leak + + shallow: avoid memory leak + + line-log: avoid memory leak + + receive-pack: plug memory leak in update() + + fast-export: avoid leaking memory in handle_tag() + + mktree: plug memory leaks reported by Coverity + + pack-redundant: plug memory leak + + setup_discovered_git_dir(): plug memory leak + + setup_bare_git_dir(): help static analysis + + split_commit_in_progress(): simplify & fix memory leak + + checkout: fix memory leak + + cat-file: fix memory leak + + mailinfo & mailsplit: check for EOF while parsing + + status: close file descriptor after reading git-rebase-todo + + difftool: address a couple of resource/memory leaks + + get_mail_commit_oid(): avoid resource leak + + git_config_rename_section_in_file(): avoid resource leak + + add_commit_patch_id(): avoid allocating memory unnecessarily + + winansi: avoid buffer overrun + + winansi: avoid use of uninitialized value + + mingw: avoid memory leak when splitting PATH Fix memory leaks pointed out by Coverity (and people). - Will merge to 'next'. + Will merge to 'master'. * jh/close-index-before-stat (2017-04-28) 1 commit @@ -695,10 +808,11 @@ of the repositories listed at * ls/travis-relays-for-windows-ci (2017-05-04) 2 commits - - travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503 - - travis-ci: handle Git for Windows CI status "failed" explicitly + (merged to 'next' on 2017-05-20 at 47f34b78e2) + + travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503 + + travis-ci: handle Git for Windows CI status "failed" explicitly - Will merge to 'next'. + Will merge to 'master'. * mb/diff-default-to-indent-heuristics (2017-05-09) 4 commits @@ -714,18 +828,20 @@ of the repositories listed at * tb/dedup-crlf-tests (2017-05-10) 1 commit - - t0027: tests are not expensive; remove t0025 + (merged to 'next' on 2017-05-20 at 0a7ffff154) + + t0027: tests are not expensive; remove t0025 - Will merge to 'next'. + Will merge to 'master'. * jc/repack-threads (2017-04-27) 1 commit - - repack: accept --threads= and pass it down to pack-objects + (merged to 'next' on 2017-05-20 at c1fd54a2a4) + + repack: accept --threads= and pass it down to pack-objects "git repack" learned to accept the --threads= option and pass it to pack-objects. - Will merge to 'next'. + Will merge to 'master'. * nd/fopen-errors (2017-05-09) 23 commits @@ -759,63 +875,64 @@ of the repositories listed at * bc/object-id (2017-05-08) 53 commits - - object: convert parse_object* to take struct object_id - - tree: convert parse_tree_indirect to struct object_id - - sequencer: convert do_recursive_merge to struct object_id - - diff-lib: convert do_diff_cache to struct object_id - - builtin/ls-tree: convert to struct object_id - - merge: convert checkout_fast_forward to struct object_id - - sequencer: convert fast_forward_to to struct object_id - - builtin/ls-files: convert overlay_tree_on_cache to object_id - - builtin/read-tree: convert to struct object_id - - sha1_name: convert internals of peel_onion to object_id - - upload-pack: convert remaining parse_object callers to object_id - - revision: convert remaining parse_object callers to object_id - - revision: rename add_pending_sha1 to add_pending_oid - - http-push: convert process_ls_object and descendants to object_id - - refs/files-backend: convert many internals to struct object_id - - refs: convert struct ref_update to use struct object_id - - ref-filter: convert some static functions to struct object_id - - Convert struct ref_array_item to struct object_id - - Convert the verify_pack callback to struct object_id - - Convert lookup_tag to struct object_id - - log-tree: convert to struct object_id - - Convert lookup_tree to struct object_id - - builtin/reflog: convert tree_is_complete to take struct object_id - - tree: convert read_tree_1 to use struct object_id internally - - Convert lookup_blob to struct object_id - - Convert remaining callers of lookup_blob to object_id - - builtin/unpack-objects: convert to struct object_id - - pack: convert struct pack_idx_entry to struct object_id - - Convert lookup_commit* to struct object_id - - Convert remaining callers of lookup_commit_reference* to object_id - - builtin/tag: convert to struct object_id - - sequencer: convert some functions to struct object_id - - shallow: convert shallow registration functions to object_id - - revision: convert prepare_show_merge to struct object_id - - notes-utils: convert internals to struct object_id - - http-push: convert some static functions to struct object_id - - tag: convert parse_tag_buffer to struct object_id - - builtin/verify-commit: convert to struct object_id - - reflog_expire: convert to struct object_id - - parse-options-cb: convert to struct object_id - - notes-cache: convert to struct object_id - - submodule: convert merge_submodule to use struct object_id - - fast-import: convert to struct object_id - - fast-import: convert internal structs to struct object_id - - builtin/rev-parse: convert to struct object_id - - builtin/blame: convert static function to struct object_id - - branch: convert to struct object_id - - bundle: convert to struct object_id - - builtin/prune: convert to struct object_id - - builtin/name-rev: convert to struct object_id - - Convert struct cache_tree to use struct object_id - - Clean up outstanding object_id transforms. - - fetch-pack: convert to struct object_id + (merged to 'next' on 2017-05-20 at e7372733fb) + + object: convert parse_object* to take struct object_id + + tree: convert parse_tree_indirect to struct object_id + + sequencer: convert do_recursive_merge to struct object_id + + diff-lib: convert do_diff_cache to struct object_id + + builtin/ls-tree: convert to struct object_id + + merge: convert checkout_fast_forward to struct object_id + + sequencer: convert fast_forward_to to struct object_id + + builtin/ls-files: convert overlay_tree_on_cache to object_id + + builtin/read-tree: convert to struct object_id + + sha1_name: convert internals of peel_onion to object_id + + upload-pack: convert remaining parse_object callers to object_id + + revision: convert remaining parse_object callers to object_id + + revision: rename add_pending_sha1 to add_pending_oid + + http-push: convert process_ls_object and descendants to object_id + + refs/files-backend: convert many internals to struct object_id + + refs: convert struct ref_update to use struct object_id + + ref-filter: convert some static functions to struct object_id + + Convert struct ref_array_item to struct object_id + + Convert the verify_pack callback to struct object_id + + Convert lookup_tag to struct object_id + + log-tree: convert to struct object_id + + Convert lookup_tree to struct object_id + + builtin/reflog: convert tree_is_complete to take struct object_id + + tree: convert read_tree_1 to use struct object_id internally + + Convert lookup_blob to struct object_id + + Convert remaining callers of lookup_blob to object_id + + builtin/unpack-objects: convert to struct object_id + + pack: convert struct pack_idx_entry to struct object_id + + Convert lookup_commit* to struct object_id + + Convert remaining callers of lookup_commit_reference* to object_id + + builtin/tag: convert to struct object_id + + sequencer: convert some functions to struct object_id + + shallow: convert shallow registration functions to object_id + + revision: convert prepare_show_merge to struct object_id + + notes-utils: convert internals to struct object_id + + http-push: convert some static functions to struct object_id + + tag: convert parse_tag_buffer to struct object_id + + builtin/verify-commit: convert to struct object_id + + reflog_expire: convert to struct object_id + + parse-options-cb: convert to struct object_id + + notes-cache: convert to struct object_id + + submodule: convert merge_submodule to use struct object_id + + fast-import: convert to struct object_id + + fast-import: convert internal structs to struct object_id + + builtin/rev-parse: convert to struct object_id + + builtin/blame: convert static function to struct object_id + + branch: convert to struct object_id + + bundle: convert to struct object_id + + builtin/prune: convert to struct object_id + + builtin/name-rev: convert to struct object_id + + Convert struct cache_tree to use struct object_id + + Clean up outstanding object_id transforms. + + fetch-pack: convert to struct object_id Conversion from uchar[20] to struct object_id continues. - Will merge to 'next'. + Will merge to 'master'. * jc/checkout-working-tree-only (2017-04-27) 1 commit @@ -870,14 +987,15 @@ of the repositories listed at * sb/reset-recurse-submodules (2017-04-23) 4 commits - - builtin/reset: add --recurse-submodules switch - - submodule.c: submodule_move_head works with broken submodules - - submodule.c: uninitialized submodules are ignored in recursive commands - - entry.c: submodule recursing: respect force flag correctly + (merged to 'next' on 2017-05-20 at 8adafdf1be) + + builtin/reset: add --recurse-submodules switch + + submodule.c: submodule_move_head works with broken submodules + + submodule.c: uninitialized submodules are ignored in recursive commands + + entry.c: submodule recursing: respect force flag correctly "git reset" learned "--recurse-submodules" option. - Will merge to 'next'. + Will merge to 'master'. * bp/sub-process-convert-filter (2017-05-15) 11 commits @@ -923,161 +1041,19 @@ of the repositories listed at Has been waiting for nd/worktree-kill-parse-ref to settle. cf. + -------------------------------------------------- -[Discarded] - -* ja/doc-l10n (2017-03-20) 3 commits - . SQUASH??? - . l10n: add git-add.txt to localized man pages - . l10n: introduce framework for localizing man pages - - A proposal to use po4a to localize our manual pages. - - -* ab/grep-pcre-v2 (2017-05-02) 19 commits - . Makefile & configure: make PCRE v2 the default PCRE implementation - . grep: remove support for concurrent use of both PCRE v1 & v2 - . grep: add support for PCRE v2 - . grep: add support for the PCRE v1 JIT API - . perf: add a performance comparison test of grep -E and -P - . grep: change the internal PCRE code & header names to be PCRE1 - . grep: change the internal PCRE macro names to be PCRE1 - . test-lib: rename the LIBPCRE prerequisite to PCRE - . grep: make grep.patternType=[pcre|pcre1] a synonym for "perl" - . grep & rev-list doc: stop promising libpcre for --perl-regexp - . log: add -P as a synonym for --perl-regexp - . log: add exhaustive tests for pattern style options & config - . grep: add a test for backreferences in PCRE patterns - . Makefile & configure: reword outdated comment about PCRE - . grep: remove redundant `regflags &= ~REG_EXTENDED` assignments - . grep: remove redundant regflags assignment under PCRE - . grep: submodule-related case statements should die if new fields are added - . grep: add tests for grep pattern types being passed to submodules - . grep: amend submodule recursion test in preparation for rx engine testing - - PCRE2, which has an API different from and incompatible with PCRE, - can now be chosen to support "grep -P -e ''" and friends. - - Will be rerolled. - - -* ab/grep-threading-cleanup (2017-04-16) 8 commits - . grep: given --threads with NO_PTHREADS=YesPlease, warn - . pack-objects: fix buggy warning about threads under NO_PTHREADS=YesPlease - . pack-object & index-pack: add test for --threads warning under NO_PTHREADS - . tests: add a PTHREADS prerequisite - . grep: skip pthreads overhead when using one thread - . grep: don't redundantly compile throwaway patterns under threading - . grep: add tests for --threads=N and grep.threads - . grep: assert that threading is enabled when calling grep_{lock,unlock} - - Will be rerolled. - - -* pb/bisect (2017-02-18) 28 commits - . fixup! bisect--helper: `bisect_next_check` & bisect_voc shell function in C - . bisect--helper: remove the dequote in bisect_start() - . bisect--helper: retire `--bisect-auto-next` subcommand - . bisect--helper: retire `--bisect-autostart` subcommand - . bisect--helper: retire `--bisect-write` subcommand - . bisect--helper: `bisect_replay` shell function in C - . bisect--helper: `bisect_log` shell function in C - . bisect--helper: retire `--write-terms` subcommand - . bisect--helper: retire `--check-expected-revs` subcommand - . bisect--helper: `bisect_state` & `bisect_head` shell function in C - . bisect--helper: `bisect_autostart` shell function in C - . bisect--helper: retire `--next-all` subcommand - . bisect--helper: retire `--bisect-clean-state` subcommand - . bisect--helper: `bisect_next` and `bisect_auto_next` shell function in C - . t6030: no cleanup with bad merge base - . bisect--helper: `bisect_start` shell function partially in C - . bisect--helper: `get_terms` & `bisect_terms` shell function in C - . bisect--helper: `bisect_next_check` & bisect_voc shell function in C - . bisect--helper: `check_and_set_terms` shell function in C - . bisect--helper: `bisect_write` shell function in C - . bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C - . bisect--helper: `bisect_reset` shell function in C - . wrapper: move is_empty_file() and rename it as is_empty_or_missing_file() - . t6030: explicitly test for bisection cleanup - . bisect--helper: `bisect_clean_state` shell function in C - . bisect--helper: `write_terms` shell function in C - . bisect: rewrite `check_term_format` shell function in C - . bisect--helper: use OPT_CMDMODE instead of OPT_BOOL - - Move more parts of "git bisect" to C. - - It has been in the stalled state for too long. - cf. - cf. - cf. - - -* jk/parse-options-no-no-no (2017-04-25) 2 commits - . SQUASH??? - . parse-options: disallow double-negations of options starting with no- - - Command line options that begin with "--no-" (e.g. "--no-checkout" - option of "git clone") can be negated by removing "--no-"; we - historically also allowed prefixing an extra "no" to the option - (e.g. "--no-no-checkout"), which made the command line look ugly - and unusual. This proposes to forbid it. - - While I agree there is no need to support "--no-no-checkout", this - looks more like "if it looks ugly and unusual, you do not have to - use it". - - -* jc/bundle (2016-03-03) 6 commits - . index-pack: --clone-bundle option - . Merge branch 'jc/index-pack' into jc/bundle - . 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. - - This was surrected from a "to be discarded" pile, as from time to - time people wonder about resumable clone that can be primed without - bothering Git servers with dynamic packfile creation, and some - people seem to think that the topic could serve as a useful - building block for that goal. But nothing seem to have happend. - - -* sh/grep-tree-obj-tweak-output (2017-01-20) 2 commits - . grep: use '/' delimiter for paths - . grep: only add delimiter if there isn't one already - - "git grep", when fed a tree-ish as an input, shows each hit - prefixed with ":::". As is - almost always either a commit or a tag that points at a commit, the - early part of the output ":" can be used as the - name of the blob and given to "git show". When is a - tree given in the extended SHA-1 syntax (e.g. ":", or - ":"), however, this results in a string that does not - name a blob (e.g. "::" or "::"). - "git grep" has been taught to be a bit more intelligent about these - cases and omit a colon (in the former case) or use slash (in the - latter case) to produce ":" and - ":/" that can be used as the name of a blob. - - Nobody seems to be championing this change, after asked in all - recent "What's cooking" report: - "Is this good enough with known limitations?" - - -* jc/diff-b-m (2015-02-23) 5 commits - . WIPWIP - . WIP: diff-b-m - . diffcore-rename: allow easier debugging - . diffcore-rename.c: add locate_rename_src() - . diffcore-break: allow debugging - - "git diff -B -M" produced incorrect patch when the postimage of a - completely rewritten file is similar to the preimage of a removed - file; such a resulting file must not be expressed as a rename from - other place. - - The fix in this patch is broken, unfortunately. +[Discard] + +* ab/compat-regex-update (2017-05-12) 3 commits + . DONTMERGE compat/regex: make it compile with -Werror=int-to-pointer-cast + . compat/regex: update the gawk regex engine from upstream + . compat/regex: add a README with a maintenance guide + + Update compat/regex we borrowed from gawk. It seems that some + customizations we made to the older one were dropped by mistake. + + Will discard. + cf. + +