@leroysheep / MovieWebApp / commits / e19a17b3f3

What's cooking (2018/01 #04)

Junio C Hamano committed Jan 31, 2018 at 16:55 UTC e19a17b3f3ebbd39b4da35fe6edf96f79522a173
1 file changed +320 -344
whats-cooking.txt
+320 -344
index 39d7b405e4..a1e0beff9c 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 (Jan 2018, #03; Tue, 23) +Subject: What's cooking in git.git (Jan 2018, #04; Wed, 31) X-master-at: 5be1f00a9a701532232f57958efab4be8c959a29 X-next-at: de0f0111ea2ad3a2b03a378e6272c2ee476a26ed -What's cooking in git.git (Jan 2018, #03; Tue, 23) +What's cooking in git.git (Jan 2018, #04; Wed, 31) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,9 +12,13 @@ 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. -Many topics in 'next' have been merged to 'master' while others are -tentatively kicked back to 'pu', to give them a chance to be rerolled -if the authors of them wish to do so. +Many new topics appeared and are not yet marked with "Will do what" +labels. Except for some large ones, I think most are already in +good shape, but I'd want to double check by re-reading them. + +I am migrating my build and integration environment to a different +machine; if you notice anything out of ordinary, please let me know +before I decomission and reimage my usual environment ;-) You can find the changes described here in the integration branches of the repositories listed at @@ -22,233 +26,355 @@ of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- -[Graduated to "master"] +[New Topics] -* ab/commit-m-with-fixup (2017-12-22) 2 commits - (merged to 'next' on 2018-01-11 at 41255c464f) - + commit: add support for --fixup <commit> -m"<extra message>" - + commit doc: document that -c, -C, -F and --fixup with -m error +* ab/fetch-prune (2018-01-24) 11 commits + - fetch: add a --fetch-prune option and fetch.pruneTags config + - fetch tests: add scaffolding for the new fetch.pruneTags + - git-fetch & config doc: link to the new PRUNING section + - git remote doc: correct dangerous lies about what prune does + - git fetch doc: add a new section to explain the ins & outs of pruning + - fetch tests: test --prune and refspec interaction + - fetch tests: add a tag to be deleted to the pruning tests + - fetch tests: re-arrange arguments for future readability + - fetch tests: refactor in preparation for testing tag pruning + - fetch: stop accessing "remote" variable indirectly + - fetch: don't redundantly NULL something calloc() gave us - "git commit --fixup" did not allow "-m<message>" option to be used - at the same time; allow it to annotate resulting commit with more - text. + Clarify how configured fetch refspecs interact with the "--prune" + option of "git fetch", and also add a handy short-hand for getting + rid of stale tags that are locally held. -* ab/doc-cat-file-e-still-shows-errors (2018-01-10) 1 commit - (merged to 'next' on 2018-01-12 at 080bb1d397) - + cat-file doc: document that -e will return some output +* gs/retire-mru (2018-01-24) 1 commit + - mru: Replace mru.[ch] with list.h implementation + (this branch uses ot/mru-on-list.) - Doc update. + Retire mru API as it does not give enough abstraction over + underlying list API to be worth it. + Will merge to 'next'. -* ab/perf-grep-threads (2018-01-04) 1 commit - (merged to 'next' on 2018-01-09 at 91889574fb) - + perf: amend the grep tests to test grep.threads - More perf tests for threaded grep +* jc/mailinfo-cleanup-fix (2018-01-24) 1 commit + - mailinfo: avoid segfault when can't open files + Corner case bugfix. -* as/read-tree-prefix-doc-fix (2018-01-09) 1 commit - (merged to 'next' on 2018-01-12 at 895c72e5c3) - + doc/read-tree: remove obsolete remark + Will merge to 'next'. - Doc update. +* po/clang-format-functype-weight (2018-01-24) 1 commit + - clang-format: adjust penalty for return type line break -* bw/oidmap-autoinit (2017-12-27) 1 commit - (merged to 'next' on 2018-01-11 at f941e013b4) - + oidmap: ensure map is initialized + Prevent "clang-format" from breaking line after function return type. - Code clean-up. + Will merge to 'next'. -* cc/codespeed (2018-01-05) 7 commits - (merged to 'next' on 2018-01-09 at 8578089a2b) - + perf/run: read GIT_PERF_REPO_NAME from perf.repoName - + perf/run: learn to send output to codespeed server - + perf/run: learn about perf.codespeedOutput - + perf/run: add conf_opts argument to get_var_from_env_or_config() - + perf/aggregate: implement codespeed JSON output - + perf/aggregate: refactor printing results - + perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION} +* po/http-push-error-message (2018-01-24) 1 commit + - http-push: improve error log - "perf" test output can be sent to codespeed server. + Debugging aid. + Will merge to 'next'. -* dk/describe-all-output-fix (2017-12-27) 1 commit - (merged to 'next' on 2017-12-28 at c6254494e3) - + describe: prepend "tags/" when describing tags with embedded name - An old regression in "git describe --all $annotated_tag^0" has been - fixed. +* po/object-id (2018-01-30) 12 commits + - sha1_file: rename hash_sha1_file_literally + - sha1_file: convert write_loose_object to object_id + - sha1_file: convert force_object_loose to object_id + - sha1_file: convert write_sha1_file to object_id + - notes: convert write_notes_tree to object_id + - notes: convert combine_notes_* to object_id + - commit: convert commit_tree* to object_id + - match-trees: convert splice_tree to object_id + - cache: clear whole hash buffer with oidclr + - sha1_file: convert hash_sha1_file to object_id + - dir: convert struct sha1_stat to use object_id + - sha1_file: convert pretend_sha1_file to object_id + Conversion from uchar[20] to struct object_id continues. -* ew/empty-merge-with-dirty-index (2018-01-09) 1 commit - (merged to 'next' on 2018-01-09 at 6bcda11248) - + Merge branch 'ew/empty-merge-with-dirty-index-maint' into ew/empty-merge-with-dirty-index - (this branch uses ew/empty-merge-with-dirty-index-maint.) - "git merge -s recursive" did not correctly abort when the index is - dirty, if the merged tree happened to be the same as the current - HEAD, which has been fixed. +* sg/travis-linux32-sanity (2018-01-30) 5 commits + - travis-ci: don't fail if user already exists on 32 bit Linux build job + - travis-ci: don't run the test suite as root in the 32 bit Linux build + - travis-ci: don't repeat the path of the cache directory + - travis-ci: use 'set -e' in the 32 bit Linux build job + - travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build + Will merge to 'next'. -* jc/merge-symlink-ours-theirs (2018-01-03) 1 commit - (merged to 'next' on 2018-01-05 at 63ebfc45eb) - + merge: teach -Xours/-Xtheirs to symbolic link merge - "git merge -Xours/-Xtheirs" learned to use our/their version when - resolving a conflicting updates to a symbolic link. +* jk/daemon-fixes (2018-01-25) 6 commits + - daemon: fix length computation in newline stripping + - t/lib-git-daemon: add network-protocol helpers + - daemon: handle NULs in extended attribute string + - daemon: fix off-by-one in logging extended attributes + - t/lib-git-daemon: record daemon log + - t5570: use ls-remote instead of clone for interp tests + + +* jt/long-running-process-doc (2018-01-25) 1 commit + - Docs: split out long-running subprocess handshake + + +* nd/format-patch-stat-width (2018-01-25) 2 commits + - format-patch: reduce patch diffstat width to 72 + - format-patch: keep cover-letter diffstat wrapped in 72 columns + + +* nd/list-merge-strategy (2018-01-26) 1 commit + - completion: fix completing merge strategies on non-C locales + + +* sb/pull-rebase-submodule (2018-01-25) 1 commit + - builtin/pull: respect verbosity settings in submodules + + +* sg/test-i18ngrep (2018-01-26) 10 commits + - t: make 'test_i18ngrep' more informative on failure + - t: make sure that 'test_i18ngrep' got enough parameters + - t: forbid piping into 'test_i18ngrep' + - t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh' + - t5536: let 'test_i18ngrep' read the file without redirection + - t5510: consolidate 'grep' and 'test_i18ngrep' patterns + - t4001: don't run 'git status' upstream of a pipe + - t6022: don't run 'git merge' upstream of a pipe + - t5812: add 'test_i18ngrep's missing filename parameter + - t5541: add 'test_i18ngrep's missing filename parameter + + +* bw/c-plus-plus (2018-01-30) 37 commits + - replace: rename 'new' variables + - trailer: rename 'template' variables + - tempfile: rename 'template' variables + - wrapper: rename 'template' variables + - environment: rename 'namespace' variables + - diff: rename 'template' variables + - environment: rename 'template' variables + - init-db: rename 'template' variables + - unpack-trees: rename 'new' variables + - trailer: rename 'new' variables + - submodule: rename 'new' variables + - split-index: rename 'new' variables + - remote: rename 'new' variables + - ref-filter: rename 'new' variables + - read-cache: rename 'new' variables + - line-log: rename 'new' variables + - imap-send: rename 'new' variables + - http: rename 'new' variables + - entry: rename 'new' variables + - diffcore-delta: rename 'new' variables + - diff: rename 'new' variables + - diff-lib: rename 'new' variable + - commit: rename 'new' variables + - combine-diff: rename 'new' variables + - remote: rename 'new' variables + - reflog: rename 'new' variables + - pack-redundant: rename 'new' variables + - help: rename 'new' variables + - checkout: rename 'new' variables + - apply: rename 'new' variables + - apply: rename 'try' variables + - diff: rename 'this' variables + - rev-parse: rename 'this' variable + - pack-objects: rename 'this' variables + - blame: rename 'this' variables + - object: rename function 'typename' to 'type_name' + - object_info: change member name from 'typename' to 'type_name' + + +* ew/svn-branch-segfault-fix (2018-01-30) 1 commit + - git-svn: control destruction order to avoid segfault + + Workaround for segfault with more recent versions of SVN. + Will merge to 'next'. -* jh/object-filtering (2018-01-08) 1 commit - (merged to 'next' on 2018-01-11 at 56808f6969) - + oidset: don't return value from oidset_init - Hotfix for a topic already in 'master'. +* tz/doc-show-defaults-to-head (2018-01-30) 1 commit + - doc: mention 'git show' defaults to HEAD + Doc update. -* jk/abort-clone-with-existing-dest (2018-01-03) 4 commits - (merged to 'next' on 2018-01-09 at 3c8e83c3a7) - + clone: do not clean up directories we didn't create - + clone: factor out dir_exists() helper - + t5600: modernize style - + t5600: fix outdated comment about unborn HEAD + Will merge to 'next'. - "git clone $there $here" is allowed even when here directory exists - as long as it is an empty directory, but the command incorrectly - removed it upon a failure of the operation. +* nd/ignore-glob-doc-update (2018-01-31) 1 commit + - gitignore.txt: elaborate shell glob syntax -* jm/svn-pushmergeinfo-fix (2017-09-17) 1 commit - (merged to 'next' on 2018-01-05 at 6cb237ea44) - + git-svn: fix svn.pushmergeinfo handling of svn+ssh usernames. - "git svn dcommit" did not take into account the fact that a - svn+ssh:// URL with a username@ (typically used for pushing) refers - to the same SVN repository without the username@ and failed when - svn.pushmergeinfo option is set. +* nd/rebase-show-current-patch (2018-01-31) 3 commits + - rebase: introduce and use pseudo-ref ORIG_COMMIT + - rebase: add --show-current-patch + - am: add --show-current-patch + +-------------------------------------------------- +[Stalled] + +* av/fsmonitor-updates (2018-01-04) 6 commits + - fsmonitor: use fsmonitor data in `git diff` + - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh + - fsmonitor: make output of test-dump-fsmonitor more concise + - fsmonitor: update helper tool, now that flags are filled later + - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid + - dir.c: update comments to match argument name + Code clean-up on fsmonitor integration, plus optional utilization + of the fsmonitor data in diff-files. -* js/fix-merge-arg-quoting-in-rebase-p (2018-01-05) 1 commit - (merged to 'next' on 2018-01-09 at 91f5601e9c) - + rebase -p: fix quoting when calling `git merge` + Waiting for an update. + cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com> - "git rebase -p -X<option>" did not propagate the option properly - down to underlying merge strategy backend. +* pb/bisect-helper-2 (2017-10-28) 8 commits + - t6030: make various test to pass GETTEXT_POISON tests + - bisect--helper: `bisect_start` shell function partially in C + - bisect--helper: `get_terms` & `bisect_terms` shell function in C + - bisect--helper: `bisect_next_check` shell function in C + - bisect--helper: `check_and_set_terms` shell function in C + - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file() + - bisect--helper: `bisect_write` shell function in C + - bisect--helper: `bisect_reset` shell function in C -* js/test-with-ws-in-path (2018-01-10) 1 commit - (merged to 'next' on 2018-01-10 at c44db26fe4) - + t3900: add some more quotes + Expecting a reroll. + cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com> - Hot fix to a test. +* dj/runtime-prefix (2017-12-05) 4 commits + . exec_cmd: RUNTIME_PREFIX on some POSIX systems + . Makefile: add Perl runtime prefix support + . Makefile: add support for "perllibdir" + . Makefile: generate Perl header from template file -* ma/bisect-leakfix (2018-01-03) 1 commit - (merged to 'next' on 2018-01-09 at 2ef8b59d1b) - + bisect: fix a regression causing a segfault + A build-time option has been added to allow Git to be told to refer + to its associated files relative to the main binary, in the same + way that has been possible on Windows for quite some time, for + Linux, BSDs and Darwin. - A hotfix for a recent update that broke 'git bisect'. + Tentatively kicked out of 'next' to see how well another topic + ab/simplify-perl-makefile that heavily conflicts with this fares. -* mm/send-email-fallback-to-local-mail-address (2018-01-08) 3 commits - (merged to 'next' on 2018-01-17 at dd4867706b) - + send-email: add test for Linux's get_maintainer.pl - + perl/Git: remove now useless email-address parsing code - + send-email: add and use a local copy of Mail::Address +* mk/http-backend-content-length (2017-11-27) 4 commits + - SQUASH??? + - t5560-http-backend-noserver.sh: add CONTENT_LENGTH cases + - SQUASH??? + - http-backend: respect CONTENT_LENGTH as specified by rfc3875 - Instead of maintaining home-grown email address parsing code, ship - a copy of reasonably recent Mail::Address to be used as a fallback - in 'git send-email' when the platform lacks it. + The http-backend (used for smart-http transport) used to slurp the + whole input until EOF, without paying attention to CONTENT_LENGTH + that is supplied in the environment and instead expecting the Web + server to close the input stream. This has been fixed. + Expecting a reroll. + Suggested fixes to be used when rerolling is queued, but I'd + prefer _not_ squashing them myself. -* nd/add-i-ignore-submodules (2018-01-16) 1 commit - (merged to 'next' on 2018-01-17 at 632401fd5a) - + add--interactive: ignore submodule changes except HEAD + Also, it may be too complex solution for the problem. + cf. <20171204171308.GA13332@sigill.intra.peff.net> - "git add -p" was taught to ignore local changes to submodules as - they do not interfere with the partial addition of regular changes - anyway. +* cc/require-tcl-tk-for-build (2017-11-29) 2 commits + - travis-ci: avoid new tcl/tk build requirement + - Makefile: check that tcl/tk is installed -* nd/ita-wt-renames-in-status (2017-12-27) 6 commits - (merged to 'next' on 2017-12-28 at 7610331a11) - + wt-status.c: handle worktree renames - + wt-status.c: rename rename-related fields in wt_status_change_data - + wt-status.c: catch unhandled diff status codes - + wt-status.c: coding style fix - + Use DIFF_DETECT_RENAME for detect_rename assignments - + t2203: test status output with porcelain v2 format + A first-time builder of Git may have installed neither tclsh nor + msgfmt, in which case git-gui and gitk part will fail and break the + build. As a workaround, refuse to run a build when tclsh is not + installed and NO_TCLTK is not set. - "git status" after moving a path in the working tree (hence making - it appear "removed") and then adding with the -N option (hence - making that appear "added") detected it as a rename, but did not - report the old and new pathnames correctly. + Undecided. + I still feel that requring tclsh to be installed, with or without + "escape hatch" for experts, may be too heavy-handed. -* rs/lose-leak-pending (2017-12-28) 9 commits - (merged to 'next' on 2018-01-05 at 05305f7f2f) - + commit: remove unused function clear_commit_marks_for_object_array() - + revision: remove the unused flag leak_pending - + checkout: avoid using the rev_info flag leak_pending - + bundle: avoid using the rev_info flag leak_pending - + bisect: avoid using the rev_info flag leak_pending - + object: add clear_commit_marks_all() - + ref-filter: use clear_commit_marks_many() in do_merge_filter() - + commit: use clear_commit_marks_many() in remove_redundant() - + commit: avoid allocation in clear_commit_marks_many() +* mg/merge-base-fork-point (2017-09-17) 3 commits + - merge-base: find fork-point outside partial reflog + - merge-base: return fork-point outside reflog + - t6010: test actual test output - API clean-up around revision traversal. + "merge-base --fork-point $branch $commit" is used to guess on which + commit among the commits that were once at the tip of the $branch the + $commit was built on top of, and it learns these historical tips from + the reflog of the $branch. When the true fork-point is lost due to + pruning of old reflog entries, the command does not give any output, + because it has no way to guess correctly and does not want to mislead + the user with a wrong guess. + The command has been updated to give the best but not known to be + correct guess, based on a hope that a merge-base between $commit and a + virtual merge across all the reflog entries that still are available + for $branch may still be a closer to the true fork-point than the + merge-base between $commit and the current tip of the $branch. -* sb/diff-blobfind-pickaxe (2018-01-04) 6 commits - (merged to 'next' on 2018-01-09 at 2053890477) - + diff: use HAS_MULTI_BITS instead of counting bits manually - + diff: properly error out when combining multiple pickaxe options - + diffcore: add a pickaxe option to find a specific blob - + diff: introduce DIFF_PICKAXE_KINDS_MASK - + diff: migrate diff_flags.pickaxe_ignore_case to a pickaxe_opts bit - + diff.h: make pickaxe_opts an unsigned bit field + This may have to be offered by an additional option, to allow the + users that are prepared to see a potentially incorrect guess to opt + into the feature, without affecting the current callers that may not + be prepared to accept a guess that is not known to be correct. - "diff" family of commands learned "--find-object=<object-id>" option - to limit the findings to changes that involve the named object. + What's the doneness of this one? -* sb/submodule-update-reset-fix (2018-01-05) 4 commits - (merged to 'next' on 2018-01-11 at e4e84b69a3) - + submodule: submodule_move_head omits old argument in forced case - + unpack-trees: oneway_merge to update submodules - + t/lib-submodule-update.sh: fix test ignoring ignored files in submodules - + t/lib-submodule-update.sh: clarify test +* jk/drop-ancient-curl (2017-08-09) 5 commits + - http: #error on too-old curl + - curl: remove ifdef'd code never used with curl >=7.19.4 + - http: drop support for curl < 7.19.4 + - http: drop support for curl < 7.16.0 + - http: drop support for curl < 7.11.1 - When resetting the working tree files recursively, the working tree - of submodules are now also reset to match. + Some code in http.c that has bitrot is being removed. + Expecting a reroll. -* tg/stash-with-pathspec-fix (2018-01-08) 1 commit - (merged to 'next' on 2018-01-11 at abfaa14a7b) - + stash: don't delete untracked files that match pathspec - "git stash -- <pathspec>" incorrectly blew away untracked files in - the directory that matched the pathspec, which has been corrected. +* mk/use-size-t-in-zlib (2017-08-10) 1 commit + . zlib.c: use size_t for size + The wrapper to call into zlib followed our long tradition to use + "unsigned long" for sizes of regions in memory, which have been + updated to use "size_t". -* tg/worktree-create-tracking (2018-01-11) 1 commit - (merged to 'next' on 2018-01-11 at df6423dfc4) - + Documentation/git-worktree.txt: add missing ` + Needs resurrecting by making sure the fix is good and still applies + (or adjusted to today's codebase). - Doc hotfix. +* mg/status-in-progress-info (2017-05-10) 2 commits + - status --short --inprogress: spell it as --in-progress + - status: show in-progress info for short status -* ys/bisect-object-id-missing-conversion-fix (2018-01-09) 1 commit - (merged to 'next' on 2018-01-11 at ca330c885d) - + bisect: debug: convert struct object to object_id + "git status" learns an option to report various operations + (e.g. "merging") that the user is in the middle of. - Fix for a commented-out code to adjust it to a rather old API change. + cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com> -------------------------------------------------- -[New Topics] +[Cooking] + +* jh/status-no-ahead-behind (2018-01-24) 4 commits + - status: support --no-ahead-behind in long format + - status: update short status to respect --no-ahead-behind + - status: add --[no-]ahead-behind to status and commit for V2 format. + - stat_tracking_info: return +1 when branches not equal + + "git status" can spend a lot of cycles to compute the relation + between the current branch and its upstream, which can now be + disabled with "--no-ahead-behind" option. + + +* nd/worktree-move (2018-01-24) 7 commits + - worktree remove: allow it when $GIT_WORK_TREE is already gone + - worktree remove: new command + - worktree move: refuse to move worktrees with submodules + - worktree move: accept destination as directory + - worktree move: new command + - worktree.c: add update_worktree_location() + - worktree.c: add validate_worktree() + + "git worktree" learned move and remove subcommands. + * nd/trace-with-env (2018-01-19) 7 commits - run-command.c: print new cwd in trace_run_command() @@ -273,14 +399,17 @@ of the repositories listed at Will merge to 'next'. -* kg/packed-ref-cache-fix (2018-01-16) 1 commit +* kg/packed-ref-cache-fix (2018-01-24) 6 commits - packed_ref_cache: don't use mmap() for small files + - load_contents(): don't try to mmap an empty file + - packed_ref_iterator_begin(): make optimization more general + - find_reference_location(): make function safe for empty snapshots + - create_snapshot(): use `xmemdupz()` rather than a strbuf + - struct snapshot: store `start` rather than `header_len` Avoid mmapping small files while using packed refs (especially ones with zero size, which would cause later munmap() to fail). - Will merge to 'next'. - * ks/submodule-doc-updates (2018-01-16) 2 commits - Doc/git-submodule: improve readability and grammar of a sentence @@ -291,11 +420,13 @@ of the repositories listed at Will merge to 'next'. -* nd/shared-index-fix (2018-01-22) 3 commits +* nd/shared-index-fix (2018-01-24) 3 commits - read-cache: don't write index twice if we can't write shared index - read-cache.c: move tempfile creation/cleanup out of write_shared_index - read-cache.c: change type of "temp" in write_shared_index() + Will merge to 'next'. + * rs/describe-unique-abbrev (2018-01-16) 1 commit - describe: use strbuf_add_unique_abbrev() for adding short hashes @@ -307,6 +438,7 @@ of the repositories listed at * tb/crlf-conv-flags (2018-01-16) 1 commit - convert_to_git(): safe_crlf/checksafe becomes int conv_flags + (this branch is used by ls/checkout-encoding.) Code clean-up. @@ -368,15 +500,17 @@ of the repositories listed at - worktree: say that "add" takes an arbitrary commit in short-help -* js/rebase-recreate-merge (2018-01-22) 8 commits - - rebase -i: introduce --recreate-merges=no-rebase-cousins +* js/rebase-recreate-merge (2018-01-30) 10 commits + - rebase -i: introduce --recreate-merges=[no-]rebase-cousins - pull: accept --rebase=recreate to recreate the branch topology - sequencer: handle autosquash and post-rewrite for merge commands + - sequencer: make refs generated by the `label` command worktree-local - rebase: introduce the --recreate-merges option - rebase-helper --make-script: introduce a flag to recreate merges - sequencer: fast-forward merge commits, if possible - sequencer: introduce the `merge` command - sequencer: introduce new commands to reset the revision + - git-rebase--interactive: clarify arguments "git rebase" learned "--recreate-merges" to transplant the whole topology of commit graph elsewhere. @@ -431,176 +565,13 @@ of the repositories listed at * jt/fsck-code-cleanup (2018-01-23) 1 commit - fsck: fix leak when traversing trees --------------------------------------------------- -[Stalled] - -* jh/status-no-ahead-behind (2018-01-04) 4 commits - - status: support --no-ahead-behind in long format - - status: update short status to respect --no-ahead-behind - - status: add --[no-]ahead-behind to status and commit for V2 format. - - stat_tracking_info: return +1 when branches not equal - - Expecting a reroll to finalize the topic. - - -* av/fsmonitor-updates (2018-01-04) 6 commits - - fsmonitor: use fsmonitor data in `git diff` - - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh - - fsmonitor: make output of test-dump-fsmonitor more concise - - fsmonitor: update helper tool, now that flags are filled later - - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid - - dir.c: update comments to match argument name - - Code clean-up on fsmonitor integration, plus optional utilization - of the fsmonitor data in diff-files. - - Waiting for an update. - cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com> - - -* pb/bisect-helper-2 (2017-10-28) 8 commits - - t6030: make various test to pass GETTEXT_POISON tests - - bisect--helper: `bisect_start` shell function partially in C - - bisect--helper: `get_terms` & `bisect_terms` shell function in C - - bisect--helper: `bisect_next_check` shell function in C - - bisect--helper: `check_and_set_terms` shell function in C - - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file() - - bisect--helper: `bisect_write` shell function in C - - bisect--helper: `bisect_reset` shell function in C - - Expecting a reroll. - cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com> - - -* dj/runtime-prefix (2017-12-05) 4 commits - . exec_cmd: RUNTIME_PREFIX on some POSIX systems - . Makefile: add Perl runtime prefix support - . Makefile: add support for "perllibdir" - . Makefile: generate Perl header from template file - - A build-time option has been added to allow Git to be told to refer - to its associated files relative to the main binary, in the same - way that has been possible on Windows for quite some time, for - Linux, BSDs and Darwin. - - Tentatively kicked out of 'next' to see how well another topic - ab/simplify-perl-makefile that heavily conflicts with this fares. - - -* mk/http-backend-content-length (2017-11-27) 4 commits - - SQUASH??? - - t5560-http-backend-noserver.sh: add CONTENT_LENGTH cases - - SQUASH??? - - http-backend: respect CONTENT_LENGTH as specified by rfc3875 - - The http-backend (used for smart-http transport) used to slurp the - whole input until EOF, without paying attention to CONTENT_LENGTH - that is supplied in the environment and instead expecting the Web - server to close the input stream. This has been fixed. - - Expecting a reroll. - Suggested fixes to be used when rerolling is queued, but I'd - prefer _not_ squashing them myself. - - Also, it may be too complex solution for the problem. - cf. <20171204171308.GA13332@sigill.intra.peff.net> - - -* cc/require-tcl-tk-for-build (2017-11-29) 2 commits - - travis-ci: avoid new tcl/tk build requirement - - Makefile: check that tcl/tk is installed - - A first-time builder of Git may have installed neither tclsh nor - msgfmt, in which case git-gui and gitk part will fail and break the - build. As a workaround, refuse to run a build when tclsh is not - installed and NO_TCLTK is not set. - - Undecided. - I still feel that requring tclsh to be installed, with or without - "escape hatch" for experts, may be too heavy-handed. - - -* mg/merge-base-fork-point (2017-09-17) 3 commits - - merge-base: find fork-point outside partial reflog - - merge-base: return fork-point outside reflog - - t6010: test actual test output - - "merge-base --fork-point $branch $commit" is used to guess on which - commit among the commits that were once at the tip of the $branch the - $commit was built on top of, and it learns these historical tips from - the reflog of the $branch. When the true fork-point is lost due to - pruning of old reflog entries, the command does not give any output, - because it has no way to guess correctly and does not want to mislead - the user with a wrong guess. - - The command has been updated to give the best but not known to be - correct guess, based on a hope that a merge-base between $commit and a - virtual merge across all the reflog entries that still are available - for $branch may still be a closer to the true fork-point than the - merge-base between $commit and the current tip of the $branch. - - This may have to be offered by an additional option, to allow the - users that are prepared to see a potentially incorrect guess to opt - into the feature, without affecting the current callers that may not - be prepared to accept a guess that is not known to be correct. - - What's the doneness of this one? - - -* jk/drop-ancient-curl (2017-08-09) 5 commits - - http: #error on too-old curl - - curl: remove ifdef'd code never used with curl >=7.19.4 - - http: drop support for curl < 7.19.4 - - http: drop support for curl < 7.16.0 - - http: drop support for curl < 7.11.1 - - Some code in http.c that has bitrot is being removed. - - Expecting a reroll. - - -* mk/use-size-t-in-zlib (2017-08-10) 1 commit - . zlib.c: use size_t for size - - The wrapper to call into zlib followed our long tradition to use - "unsigned long" for sizes of regions in memory, which have been - updated to use "size_t". - - Needs resurrecting by making sure the fix is good and still applies - (or adjusted to today's codebase). - - -* mg/status-in-progress-info (2017-05-10) 2 commits - - status --short --inprogress: spell it as --in-progress - - status: show in-progress info for short status - - "git status" learns an option to report various operations - (e.g. "merging") that the user is in the middle of. - - cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com> - -* nd/worktree-move (2017-04-20) 6 commits - - worktree remove: new command - - worktree move: refuse to move worktrees with submodules - - worktree move: accept destination as directory - - worktree move: new command - - worktree.c: add update_worktree_location() - - worktree.c: add validate_worktree() - - "git worktree" learned move and remove subcommands. - - Expecting a reroll. - cf. <20170420101024.7593-1-pclouds@gmail.com> - cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net> - cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com> - --------------------------------------------------- -[Cooking] - -* ab/wildmatch-tests (2018-01-04) 7 commits +* ab/wildmatch-tests (2018-01-30) 10 commits + - wildmatch test: mark test as EXPENSIVE_ON_WINDOWS + - test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite - wildmatch test: create & test files on disk in addition to in-memory - wildmatch test: perform all tests under all wildmatch() modes + - wildmatch test: use test_must_fail, not ! for test-wildmatch - wildmatch test: remove dead fnmatch() test code - wildmatch test: use a paranoia pattern from nul_match() - wildmatch test: don't try to vertically align our output @@ -613,11 +584,11 @@ of the repositories listed at cf. <87vaga9mgf.fsf@evledraar.gmail.com> -* bw/protocol-v2 (2018-01-04) 26 commits - - remote-curl: implement connect-half-duplex command +* bw/protocol-v2 (2018-01-26) 27 commits + - remote-curl: implement stateless-connect command - remote-curl: create copy of the service name - pkt-line: add packet_buf_write_len function - - transport-helper: introduce connect-half-duplex + - transport-helper: introduce stateless-connect - transport-helper: refactor process_connect_service - transport-helper: remove name parameter - fetch-pack: perform a fetch using v2 @@ -630,6 +601,7 @@ of the repositories listed at - connect: request remote refs using v2 - ls-refs: introduce ls-refs server command - serve: introduce git-serve + - test-pkt-line: introduce a packet-line test helper - protocol: introduce enum protocol_version value protocol_v2 - transport: store protocol version - connect: discover protocol version outside of get_remote_heads @@ -644,13 +616,14 @@ of the repositories listed at The beginning of the next-gen transfer protocol. -* ls/checkout-encoding (2018-01-08) 6 commits - - convert: add support for 'checkout-encoding' attribute - - convert_to_git(): safe_crlf/checksafe becomes int conv_flags +* ls/checkout-encoding (2018-01-30) 6 commits + - convert: add tracing for 'working-tree-encoding' attribute + - convert: add 'working-tree-encoding' attribute - utf8: add function to detect a missing UTF-16/32 BOM - utf8: add function to detect prohibited UTF-16/32 BOM - strbuf: add xstrdup_toupper() - strbuf: remove unnecessary NUL assignment in xstrdup_tolower() + (this branch uses tb/crlf-conv-flags.) The new "checkout-encoding" attribute can ask Git to convert the contents to the specified encoding when checking out to the working @@ -680,8 +653,7 @@ of the repositories listed at cf. <5DE3FA05-2347-4BE7-8A1A-A6E5FEEC7C2B@gmail.com> -* nd/fix-untracked-cache-invalidation (2018-01-19) 6 commits - - dir.c: print correct errno when opendir() fails +* nd/fix-untracked-cache-invalidation (2018-01-24) 5 commits - dir.c: stop ignoring opendir() error in open_cached_dir() - update-index doc: note a fixed bug in the untracked cache - dir.c: fix missing dir invalidation in untracked code @@ -690,8 +662,7 @@ of the repositories listed at Some bugs around "untracked cache" feature have been fixed. - Kicked back to 'pu' for a reroll. - cf. <CACsJy8AecDh6Bxo6xCBG+4AY5GCdtZgb2Cs2QXo5MYZvD7XKcQ@mail.gmail.com> + Will merge to 'next'. * np/send-email-header-parsing (2017-12-15) 1 commit @@ -729,7 +700,7 @@ of the repositories listed at Will cook in 'next'. -* en/rename-directory-detection (2018-01-19) 31 commits +* en/rename-directory-detection (2018-01-31) 31 commits - merge-recursive: ensure we write updates for directory-renamed file - merge-recursive: avoid spurious rename/rename conflict from dir renames - directory rename detection: new testcases showcasing a pair of bugs @@ -770,9 +741,10 @@ of the repositories listed at 'x' moved to 'z'. -* pw/sequencer-in-process-commit (2018-01-23) 13 commits +* pw/sequencer-in-process-commit (2018-01-24) 14 commits - sequencer: run 'prepare-commit-msg' hook - t7505: add tests for cherry-pick and rebase -i/-p + - t7505: style fixes - sequencer: assign only free()able strings to gpg_sign - sequencer: improve config handling - t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1 @@ -792,6 +764,8 @@ of the repositories listed at gives performance boost for a few tens of percents in some sample scenarios. + Will merge to 'next'. + * jh/fsck-promisors (2017-12-08) 10 commits (merged to 'next' on 2018-01-23 at ca59f5c18e) @@ -849,9 +823,9 @@ of the repositories listed at * ot/mru-on-list (2017-10-01) 1 commit - mru: use double-linked list from list.h + (this branch is used by gs/retire-mru.) The first step to getting rid of mru API and using the doubly-linked list API directly instead. - A follow-up is being worked on; it seems to be almost ready. - cf. <20180122073701.h7fh7xrkmnzndzj7@untitled> + Will merge to 'next'.