git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* What's cooking in git.git (Jan 2021, #04; Sat, 16)
@ 2021-01-16 21:59 Junio C Hamano
  2021-01-21 16:25 ` Elijah Newren
  2021-01-21 18:34 ` Jonathan Tan
  0 siblings, 2 replies; 9+ messages in thread
From: Junio C Hamano @ 2021-01-16 21:59 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking.  Commits prefixed with '-' are
only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed
with '+' are in 'next'.  The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.

The third batch of topics are now in 'master'.  Most of these cooked
for shorter than usual in 'next' (I usually try to keep any topic in
'next' for at least a week), but many of them are mostly benign doc
and test fixes.

Copies of the source code to Git live in many repositories, and the
following is a list of the ones I push into or their mirrors.  Some
repositories have only a subset of branches.

With maint, master, next, seen, todo:

	git://git.kernel.org/pub/scm/git/git.git/
	git://repo.or.cz/alt-git.git/
	https://kernel.googlesource.com/pub/scm/git/git/
	https://github.com/git/git/
	https://gitlab.com/git-vcs/git/

With all the integration branches and topics broken out:

	https://github.com/gitster/git/

Even though the preformatted documentation in HTML and man format
are not sources, they are published in these repositories for
convenience (replace "htmldocs" with "manpages" for the manual
pages):

	git://git.kernel.org/pub/scm/git/git-htmldocs.git/
	https://github.com/gitster/git-htmldocs.git/

Release tarballs are available at:

	https://www.kernel.org/pub/software/scm/git/

--------------------------------------------------
[New Topics]

* ab/fsck-doc-fix (2021-01-16) 1 commit
 - fsck doc: remove ancient out-of-date diagnostics

 Documentation for "git fsck" lost stale bits that has become
 incorrect.

 Will merge to 'next'.


* ab/tests-various-fixup (2021-01-16) 11 commits
 - tests: add a "set -o pipefail" for a patched bash
 - tests: split up bash detection library
 - archive tests: use a cheaper "zipinfo -h" invocation to get header
 - upload-pack tests: avoid a non-zero "grep" exit status
 - rm tests: actually test for SIGPIPE in SIGPIPE test
 - git-svn tests: rewrite brittle tests to use "--[no-]merges".
 - git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
 - git svn mergeinfo tests: modernize redirection & quoting style
 - cache-tree tests: refactor overly complex function
 - cache-tree tests: use a sub-shell with less indirection
 - cache-tree tests: remove unused $2 parameter

 Various test updates.

 Looking good.

--------------------------------------------------
[Graduated to 'master']

* ab/gettext-charset-comment-fix (2021-01-11) 2 commits
  (merged to 'next' on 2021-01-12 at bc7f60e246)
 + gettext.c: remove/reword a mostly-useless comment
 + Makefile: remove a warning about old GETTEXT_POISON flag

 Comments update.


* ad/t4129-setfacl-target-fix (2021-01-09) 1 commit
  (merged to 'next' on 2021-01-12 at e09694772a)
 + t4129: fix setfacl-related permissions failure

 Test fix.


* bc/doc-status-short (2021-01-11) 1 commit
  (merged to 'next' on 2021-01-13 at 6093625f0c)
 + docs: rephrase and clarify the git status --short format

 Doc update.


* dl/p4-encode-after-kw-expansion (2020-12-23) 1 commit
  (merged to 'next' on 2021-01-13 at 8fce17d998)
 + git-p4: fix syncing file types with pattern

 Text encoding fix for "git p4".


* ds/for-each-repo-noopfix (2021-01-07) 1 commit
  (merged to 'next' on 2021-01-12 at 92f83b5db1)
 + for-each-repo: do nothing on empty config

 "git for-each-repo --config=<var> <cmd>" should not run <cmd> for
 any repository when the configuration variable <var> is not defined
 even once.


* ds/maintenance-part-4 (2021-01-05) 4 commits
  (merged to 'next' on 2021-01-08 at 1f98c859ea)
 + maintenance: use Windows scheduled tasks
 + maintenance: use launchctl on macOS
 + maintenance: include 'cron' details in docs
 + maintenance: extract platform-specific scheduling

 Follow-up on the "maintenance part-3" which introduced scheduled
 maintenance tasks to support platforms whose native scheduling
 methods are not 'cron'.


* jc/macos-install-dependencies-fix (2021-01-14) 1 commit
  (merged to 'next' on 2021-01-14 at 5a11de010b)
 + ci/install-depends: attempt to fix "brew cask" stuff

 Fix for procedure to building CI test environment for mac.


* jc/sign-off (2021-01-07) 1 commit
  (merged to 'next' on 2021-01-12 at 0d9a2a9a41)
 + SubmittingPatches: tighten wording on "sign-off" procedure

 Doc update.


* jk/t5516-deflake (2021-01-09) 1 commit
  (merged to 'next' on 2021-01-12 at ed5317a798)
 + t5516: loosen "not our ref" error check

 Test fix.


* mt/t4129-with-setgid-dir (2021-01-06) 1 commit
  (merged to 'next' on 2021-01-12 at 7a54dd92d8)
 + t4129: don't fail if setgid is set in the test directory

 Some tests expect that "ls -l" output has either '-' or 'x' for
 group executable bit, but setgid bit can be inherited from parent
 directory and make these fields 'S' or 's' instead, causing test
 failures.


* pb/mergetool-tool-help-fix (2021-01-06) 1 commit
  (merged to 'next' on 2021-01-12 at ba0f76b413)
 + mergetool--lib: fix '--tool-help' to correctly show available tools

 Fix 2.29 regression where "git mergetool --tool-help" fails to list
 all the available tools.


* tb/local-clone-race-doc (2021-01-11) 1 commit
  (merged to 'next' on 2021-01-14 at b86c0426de)
 + Documentation/git-clone.txt: document race with --local

 Doc update.


* ug/doc-lose-dircache (2021-01-09) 1 commit
  (merged to 'next' on 2021-01-12 at 28310380a5)
 + doc: remove "directory cache" from man pages

 Doc update.


* vv/send-email-with-less-secure-apps-access (2021-01-07) 1 commit
  (merged to 'next' on 2021-01-12 at 53243ca7e7)
 + git-send-email.txt: mention less secure app access with Gmail

 Doc update.

--------------------------------------------------
[Stalled]

* ss/submodule-add-in-c (2020-12-15) 3 commits
 . t7400: add test to check 'submodule add' for tracked paths
 . submodule: port submodule subcommand 'add' from shell to C
 . dir: change the scope of function 'directory_exists_in_index()'

 "git submodule add" being rewritten in C.

 Expecting a reroll.
 The patches are split incorrectly; part of 1/3 belongs to 2/3
 cf. <nycvar.QRO.7.76.6.2012190104140.56@tvgsbejvaqbjf.bet>
 It seems to introduce a segfault on 'seen'.
 cf. <xmqqft3xflw7.fsf@gitster.c.googlers.com>


* mt/grep-sparse-checkout (2020-12-06) 10 commits
 - t7817: do not depend on any specific default branch name
 - config: add setting to ignore sparsity patterns in some cmds
 - grep: honor sparse checkout patterns
 - config: correctly read worktree configs in submodules
 - config: make do_git_config_sequence receive a 'struct repository'
 - t/helper/test-config: unify exit labels
 - t/helper/test-config: diagnose missing arguments
 - t/helper/test-config: be consistent with exit codes
 - t1308-config-set: avoid false positives when using test-config
 - doc: grep: unify info on configuration variables
 (this branch is used by mt/rm-sparse-checkout.)

 "git grep" has been tweaked to be limited to the sparse checkout
 paths.

 Break out and fast-track bugfix from the remainder of the topic.
 cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>


* mt/rm-sparse-checkout (2020-12-08) 1 commit
 - rm: honor sparse checkout patterns
 (this branch uses mt/grep-sparse-checkout.)

 "git rm" follows suit to "git grep" to ignore paths outside the
 sparsity pattern when the sparse checkout feature is in use.

 Need to wait for how these fit in larger picture.
 cf. <CABPp-BGMX3wb7LiS1HkJpGveoW3J1oR0vVHbKTF5+qYLRF+59g@mail.gmail.com>
 cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>


* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
 - docs: document symlink restrictions for .git* files
 - fsck: complain when .gitattributes or .gitignore is a symlink
 - verify_path(): disallow symlinks in .gitattributes and .gitignore
 - t0060: test obscured .gitattributes and .gitignore matching
 - t7450: test .gitmodules symlink matching against obscured names
 - t7450: test verify_path() handling of gitmodules
 - t7415: rename to expand scope
 - fsck_tree(): wrap some long lines
 - fsck_tree(): fix shadowed variable

 "git fsck" and the corresponding check done during the transport
 learned to ensure that in-tree files like `.gitignore` and
 `.gitattributes` are not symbolic links.

 It seems that there are real projects with .gitignore recorded as
 symlinks, which may need to loosen the fsck setting.  Do we need to
 introduce a class that is separate from symlinked .gitmodules that
 has potential consequences that is more/less grave, so that these
 projects can opt out of the new checks?


* sm/curl-retry (2020-10-13) 3 commits
 - http: automatically retry some requests
 - replace CURLOPT_FILE With CURLOPT_WRITEDATA
 - remote-curl: add testing for intelligent retry for HTTP

 The http transport has been taught to retry a failed request that
 may reasonably be retried.

 Expecting a reroll.
 cf. <20201015000410.GB328643@google.com>
 cf. <CAM4o00eefXK2CJ_FxwwVPpBKL01JsJANf+SdjCtw_0NVV82L+Q@mail.gmail.com>


* sv/t7001-modernize (2020-09-25) 11 commits
 - t7001: move cleanup code from outside the tests into them
 - t7001: use `test` rather than `[`
 - t7001: use here-docs instead of echo
 - t7001: put each command on a separate line
 - t7001: use ': >' rather than 'touch'
 - t7001: change (cd <path> && git foo) to (git -C <path> foo)
 - t7001: remove whitespace after redirect operators
 - t7001: change the style for cd according to subshell
 - t7001: remove unnecessary blank lines
 - t7001: use TAB instead of spaces
 - t7001: convert tests from the old style to the current style

 Test script modernization.

 Expecting a reroll.
 cf. <20200925170256.11490-1-shubhunic@gmail.com>


* ar/fetch-transfer-ipversion (2020-09-16) 1 commit
 - config: option transfer.ipversion to set transport protocol version for network fetches

 Adds transfer.ipversion configuration variable.

 Needs more work.


* jc/war-on-dashed-git (2020-12-21) 2 commits
 - fixup??? git: catch an attempt to run "git-foo"
 - git: catch an attempt to run "git-foo"

 The first step to remove on-disk binaries for built-in subcommands
 by soliciting objections.

 On hold for now.


* mk/use-size-t-in-zlib (2018-10-15) 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".


* ag/merge-strategies-in-c (2020-11-24) 13 commits
 - sequencer: use the "octopus" merge strategy without forking
 - sequencer: use the "resolve" strategy without forking
 - merge: use the "octopus" strategy without forking
 - merge: use the "resolve" strategy without forking
 - merge-octopus: rewrite in C
 - merge-recursive: move better_branch_name() to merge.c
 - merge-resolve: rewrite in C
 - merge-index: don't fork if the requested program is `git-merge-one-file'
 - merge-index: libify merge_one_path() and merge_all()
 - merge-one-file: rewrite in C
 - update-index: move add_cacheinfo() to read-cache.c
 - t6060: modify multiple files to expose a possible issue with merge-index
 - t6407: modernise tests
 (this branch is used by ds/update-index.)

 The resolve and octopus merge strategy backends have been rewritten
 in C.

 Got enough review comments to get updated.

--------------------------------------------------
[Cooking]

* en/ort-directory-rename (2021-01-07) 18 commits
 - merge-ort: fix a directory rename detection bug
 - merge-ort: process_renames() now needs more defensiveness
 - merge-ort: implement apply_directory_rename_modifications()
 - merge-ort: add a new toplevel_dir field
 - merge-ort: implement handle_path_level_conflicts()
 - merge-ort: implement check_for_directory_rename()
 - merge-ort: implement apply_dir_rename() and check_dir_renamed()
 - merge-ort: implement compute_collisions()
 - merge-ort: modify collect_renames() for directory rename handling
 - merge-ort: implement handle_directory_level_conflicts()
 - merge-ort: implement compute_rename_counts()
 - merge-ort: copy get_renamed_dir_portion() from merge-recursive.c
 - merge-ort: add outline of get_provisional_directory_renames()
 - merge-ort: add outline for computing directory renames
 - merge-ort: collect which directories are removed in dirs_removed
 - merge-ort: initialize and free new directory rename data structures
 - merge-ort: add new data structures for directory rename detection
 - Merge branch 'en/merge-ort-3' into en/ort-directory-rename
 (this branch is used by en/merge-ort-perf; uses en/merge-ort-3.)

 ORT merge strategy learns to infer "renamed directory" while
 merging.


* jk/forbid-lf-in-git-url (2021-01-07) 2 commits
  (merged to 'next' on 2021-01-12 at 88a1d937ae)
 + fsck: reject .gitmodules git:// urls with newlines
 + git_connect_git(): forbid newlines in host and path

 Newline characters in the host and path part of git:// URL are
 now forbidden.

 Will merge to 'master'.


* ps/fetch-atomic (2021-01-12) 5 commits
  (merged to 'next' on 2021-01-13 at a8896d0873)
 + fetch: implement support for atomic reference updates
 + fetch: allow passing a transaction to `s_update_ref()`
 + fetch: refactor `s_update_ref` to use common exit path
 + fetch: use strbuf to format FETCH_HEAD updates
 + fetch: extract writing to FETCH_HEAD

 "git fetch" learns to treat ref updates atomically in all-or-none
 fashion, just like "git push" does, with the new "--atomic" option.

 Will merge to 'master'.


* ab/detox-gettext-tests (2021-01-11) 6 commits
 - tests: remove uses of GIT_TEST_GETTEXT_POISON=false
 - tests: (almost) remove C_LOCALE_OUTPUT prerequisites
 - tests: (almost) remove use of "test_i18ngrep !"
 - tests: remove misc use of test_i18n{cmp,grep}
 - tests: remove support for GIT_TEST_GETTEXT_POISON
 - ci: remove GETTEXT_POISON jobs

 Get rid of "GETTEXT_POISON" support altogether, which may or may
 not be controversial.


* bc/signed-objects-with-both-hashes (2021-01-11) 6 commits
 - SQUASH??? ulong vs size_t
 - gpg-interface: remove other signature headers before verifying
 - ref-filter: hoist signature parsing
 - commit: allow parsing arbitrary buffers with headers
 - gpg-interface: improve interface for parsing tags
 - commit: ignore additional signatures when parsing signed commits

 Signed commits and tags now allow verification of objects, whose
 two object names (one in SHA-1, the other in SHA-256) are both
 signed.


* ds/update-index (2021-01-09) 14 commits
 - update-index: remove static globals from callbacks
 - update-index: reduce static globals, part 2
 - update-index: reduce static globals, part 1
 - update-index: remove ce_match_stat(), all macros
 - update-index: replace several compatibility macros
 - update-index: use add_index_entry()
 - update-index: use remove_file_from_index()
 - update-index: use index_name_pos() over cache_name_pos()
 - update-index: use istate->cache_changed
 - update-index: use istate->cache_nr over active_nr
 - update-index: use istate->cache over active_cache
 - update-index: drop the_index, the_repository
 - rm: remove compatilibity macros
 - mv: remove index compatibility macros
 (this branch uses ag/merge-strategies-in-c.)

 The implementation of a few commands lost reliance of "the_index"
 compatibility macros by explicitly passing the index_state through
 the callchain.

 Unfortunately the base topic still needs to solidify.


* jx/bundle (2021-01-11) 3 commits
  (merged to 'next' on 2021-01-14 at 749a907dd2)
 + bundle: arguments can be read from stdin
 + bundle: lost objects when removing duplicate pendings
 + test: add helper functions for git-bundle

 "git bundle" learns "--stdin" option to read its refs from the
 standard input.  Also, it now does not lose refs whey they point
 at the same object.

 Will merge to 'master'.


* ab/mailmap (2021-01-12) 22 commits
  (merged to 'next' on 2021-01-13 at a3ce27912f)
 + shortlog: remove unused(?) "repo-abbrev" feature
 + mailmap doc + tests: document and test for case-insensitivity
 + mailmap tests: add tests for empty "<>" syntax
 + mailmap tests: add tests for whitespace syntax
 + mailmap tests: add a test for comment syntax
 + mailmap doc + tests: add better examples & test them
 + tests: refactor a few tests to use "test_commit --append"
 + test-lib functions: add an --append option to test_commit
 + test-lib functions: add --author support to test_commit
 + test-lib functions: document arguments to test_commit
 + test-lib functions: expand "test_commit" comment template
 + mailmap: test for silent exiting on missing file/blob
 + mailmap tests: get rid of overly complex blame fuzzing
 + mailmap tests: add a test for "not a blob" error
 + mailmap tests: remove redundant entry in test
 + mailmap tests: improve --stdin tests
 + mailmap tests: modernize syntax & test idioms
 + mailmap tests: use our preferred whitespace syntax
 + mailmap doc: start by mentioning the comment syntax
 + check-mailmap doc: note config options
 + mailmap doc: quote config variables `like.this`
 + mailmap doc: create a new "gitmailmap(5)" man page
 (this branch is used by ab/mailmap-fixup.)

 Clean-up docs, codepaths and tests around mailmap.

 Will merge to 'master'.


* jk/log-cherry-pick-duplicate-patches (2021-01-12) 1 commit
  (merged to 'next' on 2021-01-13 at abcfbf8603)
 + patch-ids: handle duplicate hashmap entries

 When more than one commit with the same patch ID appears on one
 side, "git log --cherry-pick A...B" did not exclude them all when a
 commit with the same patch ID appears on the other side.  Now it
 does.

 Will merge to 'master'.


* tb/pack-revindex-api (2021-01-14) 21 commits
  (merged to 'next' on 2021-01-15 at 1f2997979c)
 + for_each_object_in_pack(): clarify pack vs index ordering
 + pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
 + pack-revindex: hide the definition of 'revindex_entry'
 + pack-revindex: remove unused 'find_revindex_position()'
 + pack-revindex: remove unused 'find_pack_revindex()'
 + builtin/gc.c: guess the size of the revindex
 + for_each_object_in_pack(): convert to new revindex API
 + unpack_entry(): convert to new revindex API
 + packed_object_info(): convert to new revindex API
 + retry_bad_packed_offset(): convert to new revindex API
 + get_delta_base_oid(): convert to new revindex API
 + rebuild_existing_bitmaps(): convert to new revindex API
 + try_partial_reuse(): convert to new revindex API
 + get_size_by_pos(): convert to new revindex API
 + show_objects_for_type(): convert to new revindex API
 + bitmap_position_packfile(): convert to new revindex API
 + check_object(): convert to new revindex API
 + write_reused_pack_verbatim(): convert to new revindex API
 + write_reused_pack_one(): convert to new revindex API
 + write_reuse_object(): convert to new revindex API
 + pack-revindex: introduce a new API
 (this branch is used by tb/pack-revindex-on-disk.)

 Abstract accesses to in-core revindex that allows enumerating
 objects stored in a packfile in the order they appear in the pack,
 in preparation for introducing an on-disk precomputed revindex.

 Will merge to 'master'.


* cc/write-promisor-file (2021-01-14) 3 commits
  (merged to 'next' on 2021-01-14 at 9d773d4734)
 + pack-write: die on error in write_promisor_file()
 + fetch-pack: refactor writing promisor file
 + fetch-pack: rename helper to create_promisor_file()

 A bit of code refactoring.

 Will merge to 'master'.


* js/rebase-i-commit-cleanup-fix (2021-01-12) 1 commit
 - rebase -i: do leave commit message intact in fixup! chains

 When "git rebase -i" processes "fixup" insn, there is no reason to
 clean up the commit log message, but we did the usual stripspace
 processing.  This has been corrected.

 A bit more tests to document what is still broken have been offered.
 cf. <20210112204939.1095-1-martin.agren@gmail.com>


* ab/mailmap-fixup (2021-01-14) 4 commits
  (merged to 'next' on 2021-01-15 at ef14e2263d)
 + t4203: make blame output massaging more robust
 + mailmap doc: use correct environment variable 'GIT_WORK_TREE'
 + t4203: stop losing return codes of git commands
 + test-lib-functions.sh: fix usage for test_commit()
 (this branch uses ab/mailmap.)

 Follow-up fixes and improvements to ab/mailmap topic.

 Will merge to 'master'.


* tb/pack-revindex-on-disk (2021-01-14) 8 commits
 - pack-revindex: ensure that on-disk reverse indexes are given precedence
 - t: support GIT_TEST_WRITE_REV_INDEX
 - t: prepare for GIT_TEST_WRITE_REV_INDEX
 - Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
 - builtin/pack-objects.c: respect 'pack.writeReverseIndex'
 - builtin/index-pack.c: write reverse indexes
 - pack-write.c: prepare to write 'pack-*.rev' files
 - packfile: prepare for the existence of '*.rev' files
 (this branch uses tb/pack-revindex-api.)

 Introduce an on-disk file to record revindex for packdata, which
 traditionally was always created on the fly and only in-core.


* en/merge-ort-perf (2021-01-15) 4 commits
 - merge-ort: begin performance work; instrument with trace2_region_* calls
 - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
 - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
 - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
 (this branch uses en/diffcore-rename, en/merge-ort-3, en/ort-conflict-handling and en/ort-directory-rename.)


* ab/branch-sort (2021-01-07) 7 commits
  (merged to 'next' on 2021-01-12 at 1231feea7c)
 + branch: show "HEAD detached" first under reverse sort
 + branch: sort detached HEAD based on a flag
 + ref-filter: move ref_sorting flags to a bitfield
 + ref-filter: move "cmp_fn" assignment into "else if" arm
 + ref-filter: add braces to if/else if/else chain
 + branch tests: add to --sort tests
 + branch: change "--local" to "--list" in comment

 The implementation of "git branch --sort" wrt the detached HEAD
 display has always been hacky, which has been cleaned up.

 Will merge to 'master'.


* ab/coc-update-to-2.0 (2021-01-13) 3 commits
  (merged to 'next' on 2021-01-15 at 4859c12625)
 + CoC: update to version 2.0 + local changes
 + CoC: explicitly take any whitespace breakage
 + CoC: Update word-wrapping to match upstream

 Update the Code-of-conduct to version 2.0 from the upstream (we've
 been using version 1.4).

 Will merge to 'master'.


* dl/reflog-with-single-entry (2021-01-11) 2 commits
  (merged to 'next' on 2021-01-13 at 09b33209c4)
 + refs: allow @{n} to work with n-sized reflog
 + refs: factor out set_read_ref_cutoffs()

 After expiring a reflog and making a single commit, the reflog for
 the branch would record a single entry that knows both @{0} and
 @{1}, but we failed to answer "what commit were we on?", i.e. @{1}

 Will merge to 'master'.


* ds/cache-tree-basics (2021-01-15) 10 commits
 - cache-tree: speed up consecutive path comparisons
 - cache-tree: use ce_namelen() instead of strlen()
 - index-format: discuss recursion of cache-tree better
 - index-format: update preamble to cache tree extension
 - index-format: use 'cache tree' over 'cached tree'
 - cache-tree: trace regions for prime_cache_tree
 - cache-tree: trace regions for I/O
 - cache-tree: use trace2 in cache_tree_update()
 - unpack-trees: add trace2 regions
 - tree-walk: report recursion counts

 Document, clean-up and optimize the code around the cache-tree
 extension in the index.

 Will merge to 'next'.


* en/ort-conflict-handling (2021-01-04) 10 commits
 - merge-ort: add handling for different types of files at same path
 - merge-ort: copy find_first_merges() implementation from merge-recursive.c
 - merge-ort: implement format_commit()
 - merge-ort: copy and adapt merge_submodule() from merge-recursive.c
 - merge-ort: copy and adapt merge_3way() from merge-recursive.c
 - merge-ort: flesh out implementation of handle_content_merge()
 - merge-ort: handle book-keeping around two- and three-way content merge
 - merge-ort: implement unique_path() helper
 - merge-ort: handle directory/file conflicts that remain
 - merge-ort: handle D/F conflict where directory disappears due to merge
 (this branch is used by en/merge-ort-perf.)

 ORT merge strategy learns more support for merge conflicts.

 Will merge to 'next'.


* ma/more-opaque-lock-file (2021-01-06) 5 commits
  (merged to 'next' on 2021-01-12 at f246e38b50)
 + read-cache: try not to peek into `struct {lock_,temp}file`
 + refs/files-backend: don't peek into `struct lock_file`
 + midx: don't peek into `struct lock_file`
 + commit-graph: don't peek into `struct lock_file`
 + builtin/gc: don't peek into `struct lock_file`

 Code clean-up.

 Will merge to 'master'.


* sg/t7800-difftool-robustify (2021-01-09) 1 commit
 - t7800-difftool: don't accidentally match tmp dirs

 Test fix.

 Not working on Windows.
 cf. https://github.com/git/git/runs/1660588243?check_suite_focus=true#step:7:4186


* ak/corrected-commit-date (2021-01-16) 11 commits
 - doc: add corrected commit date info
 - commit-reach: use corrected commit dates in paint_down_to_common()
 - commit-graph: use generation v2 only if entire chain does
 - commit-graph: implement generation data chunk
 - commit-graph: implement corrected commit date
 - commit-graph: return 64-bit generation number
 - commit-graph: add a slab to store topological levels
 - t6600-test-reach: generalize *_three_modes
 - commit-graph: consolidate fill_commit_graph_info
 - revision: parse parent in indegree_walk_step()
 - commit-graph: fix regression when computing Bloom filters

 The commit-graph learned to use corrected commit dates instead of
 the generation number to help topological revision traversal.


* fc/mergetool-automerge (2021-01-09) 8 commits
 . fixup! mergetool: break setup_tool out into separate initialization function
 . fixup! fixup! mergetool: add automerge configuration
 . fixup! mergetool: add automerge configuration
 . mergetool: add automerge_enabled tool-specific override function
 . mergetool: break setup_tool out into separate initialization function
 . mergetool: add per-tool support for the autoMerge flag
 . mergetool: alphabetize the mergetool config docs
 . mergetool: add automerge configuration

 "git mergetool" feeds three versions (base, local and remote) of
 a conflicted path unmodified.  The command learned to optionally
 prepare these files with unconflicted parts already resolved.

 Breaks tests on Windows
 cf. https://github.com/git/git/runs/1675932107?check_suite_focus=true#step:7:10373


* mr/bisect-in-c-4 (2020-12-21) 7 commits
 - bisect--helper: retire `--check-and-set-terms` subcommand
 - bisect--helper: reimplement `bisect_skip` shell function in C
 - bisect--helper: retire `--bisect-auto-next` subcommand
 - bisect--helper: use `res` instead of return in BISECT_RESET case option
 - bisect--helper: retire `--bisect-write` subcommand
 - bisect--helper: reimplement `bisect_replay` shell function in C
 - bisect--helper: reimplement `bisect_log` shell function in C

 Piecemeal of rewrite of "git bisect" in C continues.

 What's the status of this thing?


* jt/clone-unborn-head (2020-12-22) 3 commits
 - clone: respect remote unborn HEAD
 - connect, transport: add no-op arg for future patch
 - ls-refs: report unborn targets of symrefs

 "git clone" tries to locally check out the branch pointed at by
 HEAD of the remote repository after it is done, but the protocol
 did not convey the information necessary to do so when copying an
 empty repository.  The protocol v2 learned how to do so.

 What's the status of this thing?


* fc/bash-completion-post-2.29 (2020-12-23) 4 commits
 . completion: bash: add correct suffix in variables
 . completion: bash: fix for multiple dash commands
 . completion: bash: fix for suboptions with value
 . completion: bash: fix prefix detection in branch.*

 Seems to break tests on Windows


* jc/deprecate-pack-redundant (2020-12-15) 1 commit
  (merged to 'next' on 2021-01-12 at 14034c7892)
 + pack-redundant: gauge the usage before proposing its removal

 Warn loudly when the "pack-redundant" command, which has been left
 stale with almost unusable performance issues, gets used, as we no
 longer want to recommend its use (instead just "repack -d" instead).

 Will merge to 'master'.


* mt/parallel-checkout-part-1 (2020-12-16) 9 commits
 - entry: add checkout_entry_ca() taking preloaded conv_attrs
 - entry: move conv_attrs lookup up to checkout_entry()
 - entry: extract update_ce_after_write() from write_entry()
 - entry: make fstat_output() and read_blob_entry() public
 - entry: extract a header file for entry.c functions
 - convert: add classification for conv_attrs struct
 - convert: add get_stream_filter_ca() variant
 - convert: add [async_]convert_to_working_tree_ca() variants
 - convert: make convert_attrs() and convert structs public

 Parallel checkout.

 Looking good.


* en/merge-ort-3 (2020-12-15) 11 commits
  (merged to 'next' on 2021-01-08 at fe481b9627)
 + merge-ort: add implementation of type-changed rename handling
 + merge-ort: add implementation of normal rename handling
 + merge-ort: add implementation of rename collisions
 + merge-ort: add implementation of rename/delete conflicts
 + merge-ort: add implementation of both sides renaming differently
 + merge-ort: add implementation of both sides renaming identically
 + merge-ort: add basic outline for process_renames()
 + merge-ort: implement compare_pairs() and collect_renames()
 + merge-ort: implement detect_regular_renames()
 + merge-ort: add initial outline for basic rename detection
 + merge-ort: add basic data structures for handling renames
 (this branch is used by en/merge-ort-perf and en/ort-directory-rename.)

 Rename detection is added to the "ORT" merge strategy.

 Will merge to 'master'.


* ps/config-env-pairs (2021-01-15) 8 commits
  (merged to 'next' on 2021-01-15 at 4ed0341270)
 + config: allow specifying config entries via envvar pairs
 + environment: make `getenv_safe()` a public function
 + config: store "git -c" variables using more robust format
 + config: parse more robust format in GIT_CONFIG_PARAMETERS
 + config: extract function to parse config pairs
 + quote: make sq_dequote_step() a public function
 + config: add new way to pass config via `--config-env`
 + git: add `--super-prefix` to usage string

 Introduce two new ways to feed configuration variable-value pairs
 via environment variables, and tweak the way GIT_CONFIG_PARAMETERS
 encodes variable/value pairs to make it more robust.

 Will merge to 'master'.


* so/log-diff-merge (2020-12-21) 32 commits
 - t4013: add tests for --diff-merges=first-parent
 - doc/git-show: include --diff-merges description
 - doc/rev-list-options: document --first-parent changes merges format
 - doc/diff-generate-patch: mention new --diff-merges option
 - doc/git-log: describe new --diff-merges options
 - diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
 - diff-merges: add old mnemonic counterparts to --diff-merges
 - diff-merges: let new options enable diff without -p
 - diff-merges: do not imply -p for new options
 - diff-merges: implement new values for --diff-merges
 - diff-merges: make -m/-c/--cc explicitly mutually exclusive
 - diff-merges: refactor opt settings into separate functions
 - diff-merges: get rid of now empty diff_merges_init_revs()
 - diff-merges: group diff-merge flags next to each other inside 'rev_info'
 - diff-merges: split 'ignore_merges' field
 - diff-merges: fix -m to properly override -c/--cc
 - t4013: add tests for -m failing to override -c/--cc
 - t4013: support test_expect_failure through ':failure' magic
 - diff-merges: revise revs->diff flag handling
 - diff-merges: handle imply -p on -c/--cc logic for log.c
 - diff-merges: introduce revs->first_parent_merges flag
 - diff-merges: new function diff_merges_set_dense_combined_if_unset()
 - diff-merges: new function diff_merges_suppress()
 - diff-merges: re-arrange functions to match the order they are called in
 - diff-merges: rename diff_merges_default_to_enable() to match semantics
 - diff-merges: move checks for first_parent_only out of the module
 - diff-merges: rename all functions to have common prefix
 - revision: move diff merges functions to its own diff-merges.c
 - revision: provide implementation for diff merges tweaks
 - revision: factor out initialization of diff-merge related settings
 - revision: factor out setup of diff-merge related settings
 - revision: factor out parsing of diff-merge related options

 "git log" learned a new "--diff-merges=<how>" option.

 Will merge to 'next'.


* es/config-hooks (2020-12-21) 34 commits
 - run-command: stop thinking about hooks
 - receive-pack: convert receive hooks to hook.h
 - post-update: use hook.h library
 - proc-receive: acquire hook list from hook.h
 - receive-pack: convert 'update' hook to hook.h
 - reference-transaction: look for hooks in config
 - transport: convert pre-push hook to use config
 - hook: convert 'post-rewrite' hook to config
 - hooks: convert 'post-checkout' hook to hook library
 - git-p4: use 'git hook' to run hooks
 - receive-pack: convert push-to-checkout hook to hook.h
 - read-cache: convert post-index-change hook to use config
 - rebase: teach pre-rebase to use hook.h
 - gc: use hook library for pre-auto-gc hook
 - merge: use config-based hooks for post-merge hook
 - am: convert applypatch hooks to use config
 - commit: use config-based hooks
 - hooks: allow callers to capture output
 - run-command: allow capturing of collated output
 - hook: provide stdin by string_list or callback
 - run-command: add stdin callback for parallelization
 - hook: allow specifying working directory for hooks
 - hook: allow parallel hook execution
 - run-command: allow stdin for run_processes_parallel
 - hook: support passing stdin to hooks
 - hook: replace find_hook() with hook_exists()
 - hook: add 'run' subcommand
 - parse-options: parse into strvec
 - hook: implement hookcmd.<name>.skip
 - hook: respect hook.runHookDir
 - hook: include hookdir hook in list
 - hook: add list command
 - hook: scaffolding for git-hook subcommand
 - doc: propose hooks managed by the config

 The "hooks defined in config" topic.

 Expecting doc updates, but otherwise seems to be progressing nicely.


* hn/reftable (2020-12-21) 16 commits
 - SQUASH??? allow t0031 to run with any default branch name
 - Add "test-tool dump-reftable" command.
 - git-prompt: prepare for reftable refs backend
 - Reftable support for git-core
 - reftable: rest of library
 - reftable: reftable file level tests
 - reftable: read reftable files
 - reftable: write reftable files
 - reftable: a generic binary tree implementation
 - reftable: reading/writing blocks
 - reftable: (de)serialization for the polymorphic record type.
 - reftable: add blocksource, an abstraction for random access reads
 - reftable: utility functions
 - reftable: add error related functionality
 - reftable: add LICENSE
 - init-db: set the_repository->hash_algo early on

 The "reftable" backend for the refs API.


* ab/mktag (2021-01-06) 23 commits
  (merged to 'next' on 2021-01-08 at 6f9e11ad97)
 + mktag: add a --[no-]strict option
 + mktag: mark strings for translation
 + mktag: convert to parse-options
 + mktag: allow omitting the header/body \n separator
 + mktag: allow turning off fsck.extraHeaderEntry
 + fsck: make fsck_config() re-usable
 + mktag: use fsck instead of custom verify_tag()
 + mktag: use puts(str) instead of printf("%s\n", str)
 + mktag: remove redundant braces in one-line body "if"
 + mktag: use default strbuf_read() hint
 + mktag tests: test verify_object() with replaced objects
 + mktag tests: improve verify_object() test coverage
 + mktag tests: test "hash-object" compatibility
 + mktag tests: stress test whitespace handling
 + mktag tests: run "fsck" after creating "mytag"
 + mktag tests: don't create "mytag" twice
 + mktag tests: don't redirect stderr to a file needlessly
 + mktag tests: remove needless SHA-1 hardcoding
 + mktag tests: use "test_commit" helper
 + mktag tests: don't needlessly use a subshell
 + mktag doc: update to explain why to use this
 + mktag doc: grammar fix, when exists -> when it exists
 + mktag doc: say <hash> not <sha1>

 "git mktag" validates its input using its own rules before writing
 a tag object---it has been updated to share the logic with "git
 fsck".

 Will merge to 'master'.


* en/diffcore-rename (2021-01-04) 9 commits
  (merged to 'next' on 2021-01-12 at fa769ebc35)
 + diffcore-rename: remove unnecessary duplicate entry checks
 + diffcore-rename: accelerate rename_dst setup
 + diffcore-rename: simplify and accelerate register_rename_src()
 + t4058: explore duplicate tree entry handling in a bit more detail
 + t4058: add more tests and documentation for duplicate tree entry handling
 + diffcore-rename: reduce jumpiness in progress counters
 + diffcore-rename: simplify limit check
 + diffcore-rename: avoid usage of global in too_many_rename_candidates()
 + diffcore-rename: rename num_create to num_destinations
 (this branch is used by en/merge-ort-perf.)

 File-level rename detection updates.

 Will merge to 'master'.


* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
  (merged to 'next' on 2021-01-13 at 0e93f0d529)
 + tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
 + t99*: adjust the references to the default branch name "main"
 + tests(git-p4): transition to the default branch name `main`
 + t9[5-7]*: adjust the references to the default branch name "main"
 + t9[0-4]*: adjust the references to the default branch name "main"
 + t8*: adjust the references to the default branch name "main"
 + t7[5-9]*: adjust the references to the default branch name "main"
 + t7[0-4]*: adjust the references to the default branch name "main"
 + t6[4-9]*: adjust the references to the default branch name "main"
 + t64*: preemptively adjust alignment to prepare for `master` -> `main`
 + t6[0-3]*: adjust the references to the default branch name "main"
 + t5[6-9]*: adjust the references to the default branch name "main"
 + t55[4-9]*: adjust the references to the default branch name "main"
 + t55[23]*: adjust the references to the default branch name "main"
 + t551*: adjust the references to the default branch name "main"
 + t550*: adjust the references to the default branch name "main"
 + t5503: prepare aligned comment for replacing `master` with `main`
 + t5[0-4]*: adjust the references to the default branch name "main"
 + t5323: prepare centered comment for `master` -> `main`
 + t4*: adjust the references to the default branch name "main"
 + t3[5-9]*: adjust the references to the default branch name "main"
 + t34*: adjust the references to the default branch name "main"
 + t3416: preemptively adjust alignment in a comment
 + t3[0-3]*: adjust the references to the default branch name "main"
 + t2*: adjust the references to the default branch name "main"
 + t[01]*: adjust the references to the default branch name "main"
 + t0060: preemptively adjust alignment
 + tests: mark tests relying on the current default for `init.defaultBranch`
 + Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch

 Prepare tests not to be affected by the name of the default branch
 "git init" creates.

 Will merge to 'master'.


* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-12-08) 1 commit
  (merged to 'next' on 2021-01-12 at 2aca21c42e)
 + diff: do not show submodule with untracked files as "-dirty"

 "git diff" showed a submodule working tree with untracked cruft as
 "Submodule commit <objectname>-dirty", but a natural expectation is
 that the "-dirty" indicator would align with "git describe --dirty",
 which does not consider having untracked files in the working tree
 as source of dirtiness.  The inconsistency has been fixed.

 Will merge to 'master'.

--------------------------------------------------
[Discarded]

* jc/config-pretend-gitdir (2020-12-15) 1 commit
 . config: --pretend-git-dir for includeIf:gitdir

 It turns out that the original "problem" that inspired the feature
 was working as designed.
 cf. <CAPQE4+rhWT9kgusNXOw5cnJ-oFq++4G1FMaXvQ3wppQ0GE0hSA@mail.gmail.com>


* bc/hashed-mailmap (2020-12-12) 1 commit
 . mailmap: support hashed entries in mailmaps

 The mailmap database learned to take hashed value as the original
 side of mapping.

 Retracted for now.
 cf. <X/uvhc5Hpu792qA/@camp.crustytoothpaste.net>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: What's cooking in git.git (Jan 2021, #04; Sat, 16)
  2021-01-16 21:59 What's cooking in git.git (Jan 2021, #04; Sat, 16) Junio C Hamano
@ 2021-01-21 16:25 ` Elijah Newren
  2021-01-21 18:35   ` Junio C Hamano
  2021-01-21 18:34 ` Jonathan Tan
  1 sibling, 1 reply; 9+ messages in thread
From: Elijah Newren @ 2021-01-21 16:25 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git Mailing List, Taylor Blau, Derrick Stolee

Hi Junio,

On Sat, Jan 16, 2021 at 2:02 PM Junio C Hamano <gitster@pobox.com> wrote:
> * en/merge-ort-perf (2021-01-15) 4 commits
>  - merge-ort: begin performance work; instrument with trace2_region_* calls
>  - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
>  - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
>  - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
>  (this branch uses en/diffcore-rename, en/merge-ort-3, en/ort-conflict-handling and en/ort-directory-rename.)

Any chance we could merge this down to next now?  In terms of pre-requisites:
  * you merged en/diffcore-rename and en/merge-ort-3 to next already
(and marked both as "Will merge to master")
  * you previously labelled en/ort-conflict-handling as "Will merge to
next" (and it was reviewed by Stolee[1])
  * en/ort-directory-rename has now been reviewed by Taylor[2]
Also, en/merge-ort-perf itself has also been reviewed by Taylor[3].


I have multiple series of patches for performance, starting with a
2-patch series, where for both commit messages and cover letters I
want to use paragraphs of the form:

"""
For the testcases mentioned in commit ??????????
("merge-ort: begin performance work; instrument with trace2_region_*
calls", 2020-10-28), the changes in just this series improves the
performance as follows:
                         Before Series           After Series
    no-renames:       12.975 s ±  0.037 s    12.878 s ±  0.050 s
    mega-renames:   5154.338 s ± 19.139 s  1673.551 s ±  4.586 s
    just-one-mega:   146.703 s ±  0.852 s    47.698 s ±  0.221 s
"""

But I'd like a stable commit identifier to place in the '??????????'
slot, and I think the current round of the series you pushed out last
night and using commit 36d1f87d05 seems like a good such label.
However, since I have so many paragraphs of this form and I don't want
the labels to go stale, it'd be nice if we could merge
en/merge-ort-perf down to at least next first.


[1] https://lore.kernel.org/git/5f6d5428-36ce-3e91-4916-8968ac1b8686@gmail.com/
[2] https://lore.kernel.org/git/YAdh1XTvDhRzGTiC@nand.local/
[3] https://lore.kernel.org/git/X%2FjHpZlSxwAxoUyq@nand.local/ (note
that the series only has one patch)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: What's cooking in git.git (Jan 2021, #04; Sat, 16)
  2021-01-16 21:59 What's cooking in git.git (Jan 2021, #04; Sat, 16) Junio C Hamano
  2021-01-21 16:25 ` Elijah Newren
@ 2021-01-21 18:34 ` Jonathan Tan
  2021-01-21 21:05   ` Jeff King
  2021-01-21 23:10   ` Junio C Hamano
  1 sibling, 2 replies; 9+ messages in thread
From: Jonathan Tan @ 2021-01-21 18:34 UTC (permalink / raw)
  To: gitster; +Cc: git, Jonathan Tan

> * jt/clone-unborn-head (2020-12-22) 3 commits
>  - clone: respect remote unborn HEAD
>  - connect, transport: add no-op arg for future patch
>  - ls-refs: report unborn targets of symrefs
> 
>  "git clone" tries to locally check out the branch pointed at by
>  HEAD of the remote repository after it is done, but the protocol
>  did not convey the information necessary to do so when copying an
>  empty repository.  The protocol v2 learned how to do so.
> 
>  What's the status of this thing?

Several people have commented on the high-level approach (and I have
addressed those comments), but I don't think anyone has said that the
code itself looks OK. I'll see if I can get some of my colleagues to
review this.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: What's cooking in git.git (Jan 2021, #04; Sat, 16)
  2021-01-21 16:25 ` Elijah Newren
@ 2021-01-21 18:35   ` Junio C Hamano
  2021-01-24  5:27     ` Elijah Newren
  0 siblings, 1 reply; 9+ messages in thread
From: Junio C Hamano @ 2021-01-21 18:35 UTC (permalink / raw)
  To: Elijah Newren; +Cc: Git Mailing List, Taylor Blau, Derrick Stolee

Elijah Newren <newren@gmail.com> writes:

> Hi Junio,
>
> On Sat, Jan 16, 2021 at 2:02 PM Junio C Hamano <gitster@pobox.com> wrote:
>> * en/merge-ort-perf (2021-01-15) 4 commits
>>  - merge-ort: begin performance work; instrument with trace2_region_* calls
>>  - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
>>  - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
>>  - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
>>  (this branch uses en/diffcore-rename, en/merge-ort-3, en/ort-conflict-handling and en/ort-directory-rename.)
>
> Any chance we could merge this down to next now?  In terms of pre-requisites:
>   * you merged en/diffcore-rename and en/merge-ort-3 to next already
> (and marked both as "Will merge to master")
>   * you previously labelled en/ort-conflict-handling as "Will merge to
> next" (and it was reviewed by Stolee[1])
>   * en/ort-directory-rename has now been reviewed by Taylor[2]
> Also, en/merge-ort-perf itself has also been reviewed by Taylor[3].

This one is a bit unfortunate in that it is so small a change by
itself, but sits on top of en/ort-directory-rename.

Even though I wanted to merge the en/ort-directory-rename down to
'next' yesterday, it has just got updated and I had to rebase the
ort-perf branch using the material from the old thread, so neither
is in 'next' as of now.  That's the cost of building on top of too
many things that are in flex X-<.  I'll see if I can find time today
to give it the last read-over before mergint the ort-d-r in 'next'
but I am not very optimistic right now.

> But I'd like a stable commit identifier to place in the '??????????'

Well, we'd all like a stable commit contents in the first place ;-)

Thanks.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: What's cooking in git.git (Jan 2021, #04; Sat, 16)
  2021-01-21 18:34 ` Jonathan Tan
@ 2021-01-21 21:05   ` Jeff King
  2021-01-21 23:10   ` Junio C Hamano
  1 sibling, 0 replies; 9+ messages in thread
From: Jeff King @ 2021-01-21 21:05 UTC (permalink / raw)
  To: Jonathan Tan; +Cc: gitster, git

On Thu, Jan 21, 2021 at 10:34:27AM -0800, Jonathan Tan wrote:

> > * jt/clone-unborn-head (2020-12-22) 3 commits
> >  - clone: respect remote unborn HEAD
> >  - connect, transport: add no-op arg for future patch
> >  - ls-refs: report unborn targets of symrefs
> > 
> >  "git clone" tries to locally check out the branch pointed at by
> >  HEAD of the remote repository after it is done, but the protocol
> >  did not convey the information necessary to do so when copying an
> >  empty repository.  The protocol v2 learned how to do so.
> > 
> >  What's the status of this thing?
> 
> Several people have commented on the high-level approach (and I have
> addressed those comments), but I don't think anyone has said that the
> code itself looks OK. I'll see if I can get some of my colleagues to
> review this.

I hadn't seen the later versions you sent. I just responded with a few
comments. Mostly little implementation nits.

-Peff

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: What's cooking in git.git (Jan 2021, #04; Sat, 16)
  2021-01-21 18:34 ` Jonathan Tan
  2021-01-21 21:05   ` Jeff King
@ 2021-01-21 23:10   ` Junio C Hamano
  1 sibling, 0 replies; 9+ messages in thread
From: Junio C Hamano @ 2021-01-21 23:10 UTC (permalink / raw)
  To: Jonathan Tan; +Cc: git

Jonathan Tan <jonathantanmy@google.com> writes:

>> * jt/clone-unborn-head (2020-12-22) 3 commits
>>  - clone: respect remote unborn HEAD
>>  - connect, transport: add no-op arg for future patch
>>  - ls-refs: report unborn targets of symrefs
>> 
>>  "git clone" tries to locally check out the branch pointed at by
>>  HEAD of the remote repository after it is done, but the protocol
>>  did not convey the information necessary to do so when copying an
>>  empty repository.  The protocol v2 learned how to do so.
>> 
>>  What's the status of this thing?
>
> Several people have commented on the high-level approach (and I have
> addressed those comments), but I don't think anyone has said that the
> code itself looks OK. I'll see if I can get some of my colleagues to
> review this.

Thanks.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: What's cooking in git.git (Jan 2021, #04; Sat, 16)
  2021-01-21 18:35   ` Junio C Hamano
@ 2021-01-24  5:27     ` Elijah Newren
  2021-01-24  7:03       ` Junio C Hamano
  0 siblings, 1 reply; 9+ messages in thread
From: Elijah Newren @ 2021-01-24  5:27 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git Mailing List, Taylor Blau, Derrick Stolee

Hi,

On Thu, Jan 21, 2021 at 10:35 AM Junio C Hamano <gitster@pobox.com> wrote:
>
> Elijah Newren <newren@gmail.com> writes:
>
> > Hi Junio,
> >
> > On Sat, Jan 16, 2021 at 2:02 PM Junio C Hamano <gitster@pobox.com> wrote:
> >> * en/merge-ort-perf (2021-01-15) 4 commits
> >>  - merge-ort: begin performance work; instrument with trace2_region_* calls
> >>  - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
> >>  - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
> >>  - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
> >>  (this branch uses en/diffcore-rename, en/merge-ort-3, en/ort-conflict-handling and en/ort-directory-rename.)
> >
> > Any chance we could merge this down to next now?  In terms of pre-requisites:
> >   * you merged en/diffcore-rename and en/merge-ort-3 to next already
> > (and marked both as "Will merge to master")
> >   * you previously labelled en/ort-conflict-handling as "Will merge to
> > next" (and it was reviewed by Stolee[1])
> >   * en/ort-directory-rename has now been reviewed by Taylor[2]
> > Also, en/merge-ort-perf itself has also been reviewed by Taylor[3].
>
> This one is a bit unfortunate in that it is so small a change by
> itself, but sits on top of en/ort-directory-rename.
>
> Even though I wanted to merge the en/ort-directory-rename down to
> 'next' yesterday, it has just got updated and I had to rebase the
> ort-perf branch using the material from the old thread, so neither
> is in 'next' as of now.  That's the cost of building on top of too
> many things that are in flex X-<.  I'll see if I can find time today
> to give it the last read-over before mergint the ort-d-r in 'next'
> but I am not very optimistic right now.
>
> > But I'd like a stable commit identifier to place in the '??????????'
>
> Well, we'd all like a stable commit contents in the first place ;-)

Yeah, so...I'm about to make it even worse.  I'm feeling really
embarrassed, but I discovered a huge memory leak due to a section of
code that I for some reason thought was associated with later changes
and had been planning to submit later, but I discovered it should have
been submitted already (along with other series that have already
merged to master).  The memory leak makes a small but measurable
difference on the performance numbers, and since my subsequent series
repeatedly refer to that commit message and the performance numbers it
reports, it's kinda important to get it right.  So...

* I'm not touching en/ort-directory-rename; I still think it is ready
for merging to next.
* I'm about to resubmit en/merge-ort-perf, turning it into a three patch series.

Sorry for the headaches.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: What's cooking in git.git (Jan 2021, #04; Sat, 16)
  2021-01-24  5:27     ` Elijah Newren
@ 2021-01-24  7:03       ` Junio C Hamano
  2021-01-24  7:10         ` Elijah Newren
  0 siblings, 1 reply; 9+ messages in thread
From: Junio C Hamano @ 2021-01-24  7:03 UTC (permalink / raw)
  To: Elijah Newren; +Cc: Git Mailing List, Taylor Blau, Derrick Stolee

Elijah Newren <newren@gmail.com> writes:

> On Thu, Jan 21, 2021 at 10:35 AM Junio C Hamano <gitster@pobox.com> wrote:
>> ...
>> Even though I wanted to merge the en/ort-directory-rename down to
>> 'next' yesterday, it has just got updated and I had to rebase the
>> ort-perf branch using the material from the old thread, so neither
>> is in 'next' as of now.
> ...
> reports, it's kinda important to get it right.  So...
>
> * I'm not touching en/ort-directory-rename; I still think it is ready
> for merging to next.

By "not touching", do you mean you now want me to discard the latest
round that is on en/ort-directory-rename and revert the topic to the
previous version?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: What's cooking in git.git (Jan 2021, #04; Sat, 16)
  2021-01-24  7:03       ` Junio C Hamano
@ 2021-01-24  7:10         ` Elijah Newren
  0 siblings, 0 replies; 9+ messages in thread
From: Elijah Newren @ 2021-01-24  7:10 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git Mailing List, Taylor Blau, Derrick Stolee

On Sat, Jan 23, 2021 at 11:03 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> Elijah Newren <newren@gmail.com> writes:
>
> > On Thu, Jan 21, 2021 at 10:35 AM Junio C Hamano <gitster@pobox.com> wrote:
> >> ...
> >> Even though I wanted to merge the en/ort-directory-rename down to
> >> 'next' yesterday, it has just got updated and I had to rebase the
> >> ort-perf branch using the material from the old thread, so neither
> >> is in 'next' as of now.
> > ...
> > reports, it's kinda important to get it right.  So...
> >
> > * I'm not touching en/ort-directory-rename; I still think it is ready
> > for merging to next.
>
> By "not touching", do you mean you now want me to discard the latest
> round that is on en/ort-directory-rename and revert the topic to the
> previous version?

No!  Sorry, I meant that en/ort-directory-rename is fine as-is.  Do
not revert it.  I think it is good to merge down to next and master.
(The memory leak I found was not from that series, but from another
series that pre-dated it; in particular, one of the ones that has
already merged to master.)

The only thing changing here is en/merge-ort-perf; I'm modifying the
existing patch slightly (mostly the commit message) but also adding
two new patches, one of which fixes the big memory leak.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-01-24  7:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-16 21:59 What's cooking in git.git (Jan 2021, #04; Sat, 16) Junio C Hamano
2021-01-21 16:25 ` Elijah Newren
2021-01-21 18:35   ` Junio C Hamano
2021-01-24  5:27     ` Elijah Newren
2021-01-24  7:03       ` Junio C Hamano
2021-01-24  7:10         ` Elijah Newren
2021-01-21 18:34 ` Jonathan Tan
2021-01-21 21:05   ` Jeff King
2021-01-21 23:10   ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).