To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Mar 2019, #04; Wed, 20)
-X-master-at: 0e94f7aa730b108f7907cfab1b2a7fba965de442
-X-next-at: fef4c6d200cf268f44767029c50f1b592040de2e
+Subject: What's cooking in git.git (Apr 2019, #01; Thu, 4)
+X-master-at: 041f5ea1cf987a4068ef5f39ba0a09be85952064
+X-next-at: f8f6787159eebeb0fe8766e114123185ee1893ea
-What's cooking in git.git (Mar 2019, #04; Wed, 20)
+What's cooking in git.git (Apr 2019, #01; Thu, 4)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
http://git-blame.blogspot.com/p/git-public-repositories.html
+--------------------------------------------------
+[Graduated to "master"]
+
+* ab/makefile-help-devs-more (2019-02-24) 6 commits
+ (merged to 'next' on 2019-03-11 at 898f5f44bc)
+ + Makefile: allow for combining DEVELOPER=1 and CFLAGS="..."
+ + Makefile: move the setting of *FLAGS closer to "include"
+ + Makefile: Move *_LIBS assignment into its own section
+ + Makefile: add/remove comments at top and tweak whitespace
+ + Makefile: move "strip" assignment down from flags
+ + Makefile: remove an out-of-date comment
+
+ Originally merged to 'next' on 2019-03-07
+
+ CFLAGS now can be tweaked when invoking Make while using
+ DEVELOPER=YesPlease; this did not work well before.
+
+
+* br/commit-tree-parseopt (2019-03-08) 1 commit
+ (merged to 'next' on 2019-03-11 at e1228ef04f)
+ + commit-tree: utilize parse-options api
+
+ Originally merged to 'next' on 2019-03-08
+
+ The command line parser of "git commit-tree" has been rewritten to
+ use the parse-options API.
+
+
+* jk/bisect-final-output (2019-03-01) 3 commits
+ (merged to 'next' on 2019-03-11 at dea599eb04)
+ + bisect: make diff-tree output prettier
+ + bisect: fix internal diff-tree config loading
+ + bisect: use string arguments to feed internal diff-tree
+
+ Originally merged to 'next' on 2019-03-07
+
+ The final report from "git bisect" used to show the suspected
+ culprit using a raw "diff-tree", with which there is no output for
+ a merge commit. This has been updated to use a more modern and
+ human readable output that still is concise enough.
+
+
+* jk/config-type-color-ends-with-lf (2019-03-07) 1 commit
+ (merged to 'next' on 2019-03-11 at 810b269d1a)
+ + config: document --type=color output is a complete line
+
+ Originally merged to 'next' on 2019-03-07
+
+ "git config --type=color ..." is meant to replace "git config --get-color"
+ but there is a slight difference that wasn't documented, which is
+ now fixed.
+
+
+* jk/fsck-doc (2019-03-05) 2 commits
+ (merged to 'next' on 2019-03-11 at 5cd610f73e)
+ + fsck: always compute USED flags for unreachable objects
+ + doc/fsck: clarify --connectivity-only behavior
+
+ Originally merged to 'next' on 2019-03-07
+
+ "git fsck --connectivity-only" omits computation necessary to sift
+ the objects that are not reachable from any of the refs into
+ unreachable and dangling. This is now enabled when dangling
+ objects are requested (which is done by default, but can be
+ overridden with the "--no-dangling" option).
+
+
+* jk/no-sigpipe-during-network-transport (2019-03-05) 2 commits
+ (merged to 'next' on 2019-03-11 at 25900acd0d)
+ + fetch: ignore SIGPIPE during network operation
+ + fetch: avoid calling write_or_die()
+
+ Originally merged to 'next' on 2019-03-07
+
+ On platforms where "git fetch" is killed with SIGPIPE (e.g. OSX),
+ the upload-pack that runs on the other end that hangs up after
+ detecting an error could cause "git fetch" to die with a signal,
+ which led to a flakey test. "git fetch" now ignores SIGPIPE during
+ the network portion of its operation (this is not a problem as we
+ check the return status from our write(2)s).
+
+
+* jk/virtual-objects-do-exist (2019-03-05) 1 commit
+ (merged to 'next' on 2019-03-11 at 748c79a1f0)
+ + rev-list: allow cached objects in existence check
+
+ Originally merged to 'next' on 2019-03-07
+
+ A recent update broke "is this object available to us?" check for
+ well-known objects like an empty tree (which should yield "yes",
+ even when there is no on-disk object for an empty tree), which has
+ been corrected.
+
+
+* js/rebase-orig-head-fix (2019-03-04) 4 commits
+ (merged to 'next' on 2019-03-11 at 4b1b19d391)
+ + built-in rebase: set ORIG_HEAD just once, before the rebase
+ + built-in rebase: demonstrate that ORIG_HEAD is not set correctly
+ + built-in rebase: use the correct reflog when switching branches
+ + built-in rebase: no need to check out `onto` twice
+
+ Originally merged to 'next' on 2019-03-07
+
+ "git rebase" that was reimplemented in C did not set ORIG_HEAD
+ correctly, which has been corrected.
+
+
+* js/stress-test-ui-tweak (2019-03-04) 2 commits
+ (merged to 'next' on 2019-03-11 at 223afded1c)
+ + tests: introduce --stress-jobs=<N>
+ + tests: let --stress-limit=<N> imply --stress
+
+ Originally merged to 'next' on 2019-03-07
+
+ Dev support.
+
+
+* ma/clear-repository-format (2019-03-01) 2 commits
+ (merged to 'next' on 2019-03-11 at f3db1c278f)
+ + setup: fix memory leaks with `struct repository_format`
+ + setup: free old value before setting `work_tree`
+
+ Originally merged to 'next' on 2019-03-07
+
+ The setup code has been cleaned up to avoid leaks around the
+ repository_format structure.
+
+
+* sx/evolve (2019-02-15) 8 commits
+ . evolve: add the git change list command
+ . evolve: implement the git change command
+ . evolve: add support for writing metacommits
+ . evolve: add the change-table structure
+ . evolve: add support for parsing metacommits
+ . ref-filter: add the metas namespace to ref-filter
+ . sha1-array: implement oid_array_readonly_contains
+ . technical doc: add a design doc for the evolve command
+
+ The beginning of "hg evolve" mimicry.
+
--------------------------------------------------
[New Topics]
* ms/worktree-add-atomic-mkdir (2019-03-12) 1 commit
- - worktree: fix worktree add race
+ (merged to 'next' on 2019-03-20 at ded442ed02)
+ + worktree: fix worktree add race
"git worktree add" used to do a "find an available name with stat
and then mkdir", which is race-prone. This has been fixed by using
mkdir and reacting to EEXIST in a loop.
- Will merge to 'next'.
+ Will merge to 'master'.
* tb/stash-in-c-unused-param-fix (2019-03-11) 1 commit
- - stash: drop unused parameter
+ (merged to 'next' on 2019-03-20 at 5ccac5f80d)
+ + stash: drop unused parameter
(this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tg/stash-in-c-show-default-to-p-fix.)
Code clean-up.
- Will merge to 'next'.
+ Will cook in 'next'.
* dl/subtree-limit-to-one-rev (2019-03-12) 1 commit
* ar/t4150-remove-cruft (2019-03-13) 1 commit
- - t4150: remove unused variable
+ (merged to 'next' on 2019-03-20 at a0106a8d5c)
+ + t4150: remove unused variable
Test cleanup.
- Will merge to 'next'.
+ Will merge to 'master'.
* cb/doco-mono (2019-03-13) 2 commits
Will merge to 'next'.
-* cc/multi-promisor (2019-03-14) 12 commits
- - promisor-remote.h: fix a 'hdr-check' warning
+* cc/multi-promisor (2019-04-02) 11 commits
- remote: add promisor and partial clone config to the doc
- partial-clone: add multiple remotes in the doc
- t0410: test fetching from many promisor remotes
- Add initial support for many promisor remotes
- fetch-object: make functions return an error code
+ Breaks 'pu'.
+
* jk/promote-ggg (2019-03-13) 1 commit
- - point pull requesters to GitGitGadget
+ (merged to 'next' on 2019-03-20 at 3db7d2566d)
+ + point pull requesters to GitGitGadget
- Swap submitGit with GitGitGadget as a way to submit patches based
- on GitHub PR to us.
+ Suggest GitGitGadget instead of submitGit as a way to submit
+ patches based on GitHub PR to us.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/sha1dc (2019-03-13) 1 commit
- - Makefile: fix unaligned loads in sha1dc with UBSan
+ (merged to 'next' on 2019-03-20 at 969280e8e5)
+ + Makefile: fix unaligned loads in sha1dc with UBSan
Build update for SHA-1 with collision detection.
- Will merge to 'next'.
+ Will merge to 'master'.
* jt/submodule-fetch-errmsg (2019-03-14) 1 commit
- - submodule: explain first attempt failure clearly
+ (merged to 'next' on 2019-03-20 at a6b0efa76f)
+ + submodule: explain first attempt failure clearly
Error message update.
- Will merge to 'next'.
+ Will merge to 'master'.
cf. <20190313175738.252961-1-jonathantanmy@google.com> (v2)
-* nd/switch-and-restore (2019-03-18) 38 commits
+* nd/switch-and-restore (2019-04-02) 39 commits
- doc: promote "git restore"
- completion: support restore
- SQUASH??? move -p test to 2071 from 2070
- doc: promote "git switch"
- completion: support switch
- t: add tests for switch
- - switch: --orphan defaults to empty tree as HEAD
+ - switch: make --orphan switch to an empty tree
- switch: reject if some operation is in progress
- switch: no worktree status unless real branch switch happens
- switch: implicit dwim, use --no-guess to disable it
- checkout: make "opts" in cmd_checkout() a pointer
- checkout: factor out some code in parse_branchname_arg()
- checkout: keep most #include sorted
+ - checkout: inform the user when removing branch state
- checkout: advice how to get out of detached HEAD mode
- t: rename t2014-switch.sh to t2014-checkout-switch.sh
- git-checkout.txt: fix monospace typeset
advancing the current history" out of the single "git checkout"
command.
- cf. <20190317124926.17137-1-pclouds@gmail.com> (switch v4)
+ cf. <20190329103919.15642-1-pclouds@gmail.com> (switch v6)
cf. <20190308101655.9767-1-pclouds@gmail.com> (restore v1)
Will merge to 'next'.
-* ab/gc-reflog (2019-03-18) 8 commits
- - reflog expire: don't assert the OID when locking refs
+* ab/gc-reflog (2019-04-01) 7 commits
- gc: handle & check gc.reflogExpire config
- reflog tests: assert lack of early exit with expiry="never"
- reflog tests: test for the "points nowhere" warning
Fix various glitches in "git gc" around reflog handling.
- cf. <20190315155959.12390-1-avarab@gmail.com> (v3)
+ cf. <20190328161434.19200-1-avarab@gmail.com> (v4)
* ew/repack-with-bitmaps-by-default (2019-03-18) 3 commits
Will merge to 'next'.
-* js/check-docs-exe (2019-03-14) 1 commit
+* js/check-docs-exe (2019-04-01) 5 commits
- check-docs: fix for setups where executables have an extension
+ - check-docs: do not expect guide pages to correspond to commands
+ - check-docs: really look at the documented commands again
+ - docs: do not document the `git remote-testgit` command
+ - docs: move gitremote-helpers into section 7
Dev support update.
results from our documentation.
Will merge to 'next'.
- cf. <20190319031412.GC6173@sigill.intra.peff.net>
+ cf. <20190319031412.GC6173@sigill.intra.peff.net>
+
+
+* mh/pack-protocol-doc-fix (2019-03-18) 1 commit
+ - fix pack protocol example client/server communication
+
+ Docfix.
+
+ Will merge to 'next'.
+
+
+* nd/checkout-f-while-conflicted-fix (2019-03-21) 1 commit
+ - unpack-trees: fix oneway_merge accidentally carry over stage index
+
+ "git checkout -f <branch>" while the index has an unmerged path
+ incorrectly left some paths in an unmerged state, which has been
+ corrected.
+
+ Will merge to 'next'.
+
+
+* pw/cherry-pick-continue (2019-03-18) 3 commits
+ - cherry-pick --continue: remember options
+ - cherry-pick: demonstrate option amnesia
+ - sequencer: break some long lines
+
+ "git cherry-pick --options A..B", after giving control back to the
+ user to ask help resolving a conflicted step, did not honor the
+ options it originally received, which has been corrected.
+
+ Will merge to 'next'.
+
+
+* pw/rerere-autoupdate (2019-03-18) 2 commits
+ - merge: tweak --rerere-autoupdate documentation
+ - am/cherry-pick/rebase/revert: document --rerere-autoupdate
+
+ Doc updates.
+
+ Will merge to 'next'.
+
+
+* sg/test-atexit (2019-03-14) 11 commits
+ - t9811-git-p4-label-import: fix pipeline negation
+ - git p4 test: disable '-x' tracing in the p4d watchdog loop
+ - git p4 test: simplify timeout handling
+ - git p4 test: clean up the p4d cleanup functions
+ - git p4 test: use 'test_atexit' to kill p4d and the watchdog process
+ - t0301-credential-cache: use 'test_atexit' to stop the credentials helper
+ - tests: use 'test_atexit' to stop httpd
+ - git-daemon: use 'test_atexit` to stop 'git-daemon'
+ - test-lib: introduce 'test_atexit'
+ - t/lib-git-daemon: make sure to kill the 'git-daemon' process
+ - test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
+
+ Test framework update to more robustly clean up leftover files and
+ processes after tests are done.
+
+ Will merge to 'next'.
+
+
+* tb/trace2-va-list-fix (2019-03-20) 1 commit
+ - trace2: NULL is not allowed for va_list
+
+ Fix some code that passed a NULL when a va_list was expected.
+
+ Will merge to 'next'.
+
+
+* tg/glossary-overlay (2019-03-18) 1 commit
+ - glossary: add definition for overlay
+
+ Doc update.
+
+ Will merge to 'next'.
+
+
+* tg/stash-in-c-show-default-to-p-fix (2019-03-21) 1 commit
+ - stash: setup default diff output format if necessary
+ (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tb/stash-in-c-unused-param-fix.)
+
+ A regression fix.
+
+ Will merge to 'next'.
+
+
+* tz/completion (2019-03-21) 4 commits
+ - completion: use __git when calling --list-cmds
+ - completion: fix multiple command removals
+ - t9902: test multiple removals via completion.commands
+ - git: read local config in --list-cmds
+
+ The completion helper code now pays attention to repository-local
+ configuration (when available), which allows --list-cmds to honour
+ a repository specific setting of completion.commands, for example.
+
+ Will merge to 'next'.
+ cf. <20190320180329.22280-1-tmz@pobox.com> (v3)
+
+
+* tz/t4038-bash-redirect-target-workaround (2019-03-18) 1 commit
+ - t4038-diff-combined: quote paths with whitespace
+
+ Work-around extra warning from bash in our tests.
+
+ Will merge to 'next'.
+
+
+* jc/format-patch-noclobber (2019-02-22) 1 commit
+ - format-patch: --no-clobber refrains from overwriting output files
+ (this branch uses jc/format-patch-error-check.)
+
+
+
+* jk/unused-params-even-more (2019-03-21) 13 commits
+ - parse_opt_ref_sorting: always use with NONEG flag
+ - pretty: drop unused strbuf from parse_padding_placeholder()
+ - pretty: drop unused "type" parameter in needs_rfc2047_encoding()
+ - parse-options: drop unused ctx parameter from show_gitcomp()
+ - fetch_pack(): drop unused parameters
+ - report_path_error(): drop unused prefix parameter
+ - unpack-trees: drop unused error_type parameters
+ - unpack-trees: drop name_entry from traverse_by_cache_tree()
+ - test-date: drop unused "now" parameter from parse_dates()
+ - update-index: drop unused prefix_length parameter from do_reupdate()
+ - log: drop unused "len" from show_tagger()
+ - log: drop unused rev_info from early output
+ - revision: drop some unused "revs" parameters
+
+ Code cleanup
+
+ Will merge to 'next'.
+
+
+* ab/commit-graph-fixes (2019-04-01) 8 commits
+ - commit-graph: improve & i18n error messages
+ - commit-graph write: don't die if the existing graph is corrupt
+ - commit-graph verify: detect inability to read the graph
+ - commit-graph: don't pass filename to load_commit_graph_one_fd_st()
+ - commit-graph: don't early exit(1) on e.g. "git status"
+ - commit-graph: fix segfault on e.g. "git status"
+ - commit-graph tests: test a graph that's too small
+ - commit-graph tests: split up corrupt_graph_and_verify()
+
+ Code cleanup with more careful error checking before using data
+ read from the commit-graph file.
+
+ Will merge to 'next'.
+
+
+* ab/gc-docs (2019-04-01) 12 commits
+ - SQAUSH??? fixup! gc docs: include the "gc.*" section from "config" in "gc"
+ - gc docs: remove incorrect reference to gc.auto=0
+ - gc docs: clarify that "gc" doesn't throw away referenced objects
+ - gc docs: note "gc --aggressive" in "fast-import"
+ - gc docs: downplay the usefulness of --aggressive
+ - gc docs: note how --aggressive impacts --window & --depth
+ - gc docs: fix formatting for "gc.writeCommitGraph"
+ - gc docs: re-flow the "gc.*" section in "config"
+ - gc docs: include the "gc.*" section from "config" in "gc"
+ - gc docs: clean grammar for "gc.bigPackThreshold"
+ - gc docs: stop noting "repack" flags
+ - gc docs: modernize the advice for manually running "gc"
+
+
+
+* ab/test-lib-pass-trace2-env (2019-04-01) 1 commit
+ - test-lib: whitelist GIT_TR2_* in the environment
+
+ Allow tracing of Git executable while running out tests.
+
+ Will merge to 'next'.
+
+
+* am/p4-branches-excludes (2019-04-02) 8 commits
+ - git-p4: respect excluded paths when detecting branches
+ - git-p4: add failing test for "git-p4: respect excluded paths when detecting branches"
+ - git-p4: don't exclude other files with same prefix
+ - git-p4: add failing test for "don't exclude other files with same prefix"
+ - git-p4: don't groom exclude path list on every commit
+ - git-p4: match branches case insensitively if configured
+ - git-p4: add failing test for "git-p4: match branches case insensitively if configured"
+ - git-p4: detect/prevent infinite loop in gitCommitByP4Change()
+
+ "git p4" update.
+
+
+* bb/unicode-12 (2019-03-22) 1 commit
+ - unicode: update the width tables to Unicode 12
+
+ Unicode update.
+
+ Will merge to 'next'.
+
+
+* bc/hash-transition-16 (2019-04-01) 35 commits
+ - gitweb: make hash size independent
+ - Git.pm: make hash size independent
+ - read-cache: read data in a hash-independent way
+ - dir: make untracked cache extension hash size independent
+ - builtin/difftool: use parse_oid_hex
+ - refspec: make hash size independent
+ - archive: convert struct archiver_args to object_id
+ - builtin/get-tar-commit-id: make hash size independent
+ - get-tar-commit-id: parse comment record
+ - hash: add a function to lookup hash algorithm by length
+ - remote-curl: make hash size independent
+ - http: replace sha1_to_hex
+ - http: compute hash of downloaded objects using the_hash_algo
+ - http: replace hard-coded constant with the_hash_algo
+ - http-walker: replace sha1_to_hex
+ - http-push: remove remaining uses of sha1_to_hex
+ - http-backend: allow 64-character hex names
+ - http-push: convert to use the_hash_algo
+ - builtin/pull: make hash-size independent
+ - builtin/am: make hash size independent
+ - fast-import: replace sha1_to_hex
+ - fast-import: make hash-size independent
+ - builtin/name-rev: make hash-size independent
+ - object-store: rename and expand packed_git's sha1 member
+ - notes: replace sha1_to_hex
+ - notes: make hash size independent
+ - notes-merge: switch to use the_hash_algo
+ - submodule: avoid hard-coded constants
+ - pack-bitmap: switch hash tables to use struct object_id
+ - pack-bitmap: switch hard-coded constants to the_hash_algo
+ - pack-bitmap: replace sha1_to_hex
+ - pack-bitmap: convert struct stored_bitmap to object_id
+ - pack-bitmap: make bitmap header handling hash agnostic
+ - khash: move oid hash table definition
+ - t/lib-submodule-update: use appropriate length constant
+
+ Conversion from unsigned char[20] to struct object_id continues.
+
+ Will merge to 'next'.
+
+
+
+* cc/replace-graft-peel-tags (2019-04-01) 4 commits
+ - replace: fix --graft when passing a tag first
+ - replace: fix --graft when passing a tag as parent
+ - t6050: redirect expected error output to a file
+ - t6050: use test_line_count instead of wc -l
+
+ When given a tag that points at a commit-ish, "git replace --graft"
+ failed to peel the tag before writing a replace ref, which did not
+ make sense because the old graft mechanism the feature wants to
+ mimick only allowed to replace one commit object with another.
+ This has been fixed.
+
+ The title of the top two commits are fairly useless and does not
+ say how the issue was fixed, but the fix is to peel the given tag
+ ourselves down to the underlying commit object.
+
+ Will merge to 'next'.
+
+
+* dk/blame-keep-origin-blob (2019-04-03) 1 commit
+ - blame.c: don't drop origin blobs as eagerly
+
+ Performance fix around "git blame", especially in a linear history
+ (which is the norm we should optimize for).
+
+ Will merge to 'next'.
+
+
+* dl/forbid-tagging-a-tag (2019-04-03) 3 commits
+ - SQUASH???
+ - tag: prevent nested tags
+ - tag: fix formatting
+
+ "git tag $newtag $obj", when $obj is another tag, now aborts,
+ requiring a new --allow-nested-tag option, even though an
+ invocation with $obj that is a blob or a tree is silently allowed,
+ which does not make much sense.
+
+ Will discard.
+
+
+* dl/rebase-i-keep-base (2019-04-03) 4 commits
+ - rebase: teach rebase --keep-base
+ - rebase: fast-forward --onto in more cases
+ - t3432: test rebase fast-forward behavior
+ - t3431: add rebase --fork-point tests
+
+ "git rebase --keep-base <upstream>" tries to find the original base
+ of the topic being rebased and rebase on top of that same base, which
+ is useful when running the "git rebase -i" (and its limited variant
+ "git rebase -x").
+
+ Will merge to 'next'.
+
+
+* en/fast-import-parsing-fix (2019-04-01) 5 commits
+ - fast-import: fix erroneous handling of get-mark with empty orphan commits
+ - fast-import: only allow cat-blob requests where it makes sense
+ - fast-import: check most prominent commands first
+ - git-fast-import.txt: fix wording about where ls command can appear
+ - t9300: demonstrate bug with get-mark and empty orphan commits
+
+ "git fast-import" update.
+
+ Will merge to 'next'.
+
+
+* jh/midx-verify-too-many-packs (2019-03-22) 4 commits
+ - midx: during verify group objects by packfile to speed verification
+ - midx: add progress indicators in multi-pack-index verify
+ - trace2:data: add trace2 data to midx
+ - progress: add sparse mode to force 100% complete message
+
+ "git multi-pack-index verify" did not scale well with the number of
+ packfiles, which is being improved.
+
+ Will merge to 'next'.
+
+
+* jh/trace2-sid-fix (2019-04-01) 7 commits
+ - trace2: make SIDs more unique
+ - trace2: clarify UTC datetime formatting
+ - trace2: report peak memory usage of the process
+ - trace2: use system config for default trace2 settings
+ - trace2: find exec-dir before trace2 initialization
+ - trace2: add absolute elapsed time to start event
+ - trace2: refactor setting process starting time
+
+ Polishing of the new trace2 facility continues. The system-level
+ configuration can specify site-wide trace2 settings (which would be
+ loved by big-brother types ;-).
+
+ Getting closer but still being discussed.
+ cf. <20190403000032.GA190454@google.com>
+
+
+* jk/http-walker-status-fix (2019-03-24) 3 commits
+ - http: use normalize_curl_result() instead of manual conversion
+ - http: normalize curl results for dumb loose and alternates fetches
+ - http: factor out curl result code normalization
+
+ dumb-http walker has been updated to share more error recovery
+ strategy with the normal codepath.
+
+ Will merge to 'next'.
+
+
+* jk/refs-double-abort (2019-03-22) 2 commits
+ - refs/files-backend: don't look at an aborted transaction
+ - refs/files-backend: handle packed transaction prepare failure
+
+ A corner case bug in the refs API has been corrected.
+
+ Will merge to 'next'.
+
+
+* js/spell-out-options-in-tests (2019-04-02) 8 commits
+ - tests: disallow the use of abbreviated options (by default)
+ - tests (pack-objects): use the full, unabbreviated `--revs` option
+ - tests (status): spell out the `--find-renames` option in full
+ - tests (push): do not abbreviate the `--follow-tags` option
+ - t5531: avoid using an abbreviated option
+ - t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
+ - tests (rebase): spell out the `--force-rebase` option
+ - tests (rebase): spell out the `--keep-empty` option
+
+ The tests have been updated not to rely on the abbreviated option
+ names the parse-options API offers, to protect us from an
+ abbreviated form of an option that used to be unique within the
+ command getting non-unique when a new option that share the same
+ prefix is added.
+
+ Will merge to 'next'.
+
+
+* js/trace2-to-directory (2019-03-22) 1 commit
+ - trace2: write to directory targets
+
+ The trace2 tracing facility learned to auto-generate a filename
+ when told to log to a directory.
+
+ Will merge to 'next'.
+
+
+* jt/batch-fetch-blobs-in-diff (2019-04-01) 2 commits
+ - diff: batch fetching of missing blobs
+ - sha1-file: support OBJECT_INFO_FOR_PREFETCH
+
+ While running "git diff" in a lazy clone, we can upfront know which
+ missing blobs we will need, instead of waiting for the on-demand
+ machinery to discover them one by one. Aim to achieve better
+ performance by batching the request for these promised blobs.
+
+ Will merge to 'next'.
+
+
+* jt/fetch-no-update-shallow-in-proto-v2 (2019-04-01) 3 commits
+ - fetch-pack: respect --no-update-shallow in v2
+ - fetch-pack: call prepare_shallow_info only if v0
+ - Merge branch 'jt/test-protocol-version' into jt/fetch-no-update-shallow-in-proto-v2
+ (this branch uses jt/test-protocol-version.)
+
+ Fix for protocol v2 support in "git fetch-pack" of shallow clones.
+
+ Will merge to 'next'.
+
+
+* jt/fetch-pack-wanted-refs-optim (2019-04-01) 1 commit
+ - fetch-pack: binary search when storing wanted-refs
+
+ Performance fix around "git fetch" that grabs many refs.
+
+ Will merge to 'next'.
+
+
+* jt/t5551-protocol-v2-does-not-have-half-auth (2019-03-24) 1 commit
+ - t5551: mark half-auth no-op fetch test as v0-only
+
+ Test update.
+
+ Will merge to 'next'.
+
+
+
+* km/empty-repo-is-still-a-repo (2019-04-03) 4 commits
+ - dir: do not traverse repositories with no commits
+ - t3009: test that ls-files -o traverses bogus repo
+ - t3000: move non-submodule repo test to separate file
+ - submodule: refuse to add repository with no commits
+
+ Running "git add" on a repository created inside the current
+ repository is an explicit indication that the user wants to add it
+ as a submodule, but when the HEAD of the inner repository is on an
+ unborn branch, it cannot be added as a submodule. Worse, the files
+ in its working tree can be added as if they are a part of the outer
+ repository, which is not what the user wants. These problems are
+ being addressed.
+
+ Getting there.
+ cf. <87bm1mbua4.fsf@kyleam.com>
+
+
+* nd/checkout-m (2019-03-24) 4 commits
+ - checkout: prevent losing staged changes with --merge
+ - read-tree: add --quiet
+ - unpack-trees: rename "gently" flag to "quiet"
+ - unpack-trees: keep gently check inside add_rejected_path
+
+ "git checkout -m <other>" was about carrying the differences
+ between HEAD and the working-tree files forward while checking out
+ another branch, and ignored the differences between HEAD and the
+ index. The command has been taught to abort when the index and the
+ HEAD are different.
+
+ Will merge to 'next'.
+
+
+* nd/checkout-m-doc-update (2019-03-21) 1 commit
+ - checkout.txt: note about losing staged changes with --merge
+
+ Doc about the above.
+
+ Will merge to 'next'.
-* mh/pack-protocol-doc-fix (2019-03-18) 1 commit
- - fix pack protocol example client/server communication
+* nd/commit-a-with-paths-msg-update (2019-03-22) 1 commit
+ - commit: improve error message in "-a <paths>" case
- Docfix.
+ The message given when "git commit -a <paths>" errors out has been
+ updated.
Will merge to 'next'.
-* nd/checkout-f-while-conflicted-fix (2019-03-19) 1 commit
- - unpack-trees: fix oneway_merge accidentally carry over stage index
-
- "git checkout -f <branch>" while the index has an unmerged path
- incorrectly left some paths in an unmerged state, which has been
- corrected.
+* nd/diff-parseopt-4 (2019-03-24) 20 commits
+ - am: avoid diff_opt_parse()
+ - diff --no-index: use parse_options() instead of diff_opt_parse()
+ - range-diff: use parse_options() instead of diff_opt_parse()
+ - diff.c: allow --no-color-moved-ws
+ - diff-parseopt: convert --color-moved-ws
+ - diff-parseopt: convert --[no-]color-moved
+ - diff-parseopt: convert --inter-hunk-context
+ - diff-parseopt: convert --no-prefix
+ - diff-parseopt: convert --line-prefix
+ - diff-parseopt: convert --[src|dst]-prefix
+ - diff-parseopt: convert --[no-]abbrev
+ - diff-parseopt: convert --diff-filter
+ - diff-parseopt: convert --find-object
+ - diff-parseopt: convert -O
+ - diff-parseopt: convert --pickaxe-all|--pickaxe-regex
+ - diff-parseopt: convert -S|-G
+ - diff-parseopt: convert -l
+ - diff-parseopt: convert -z
+ - diff-parseopt: convert --ita-[in]visible-in-index
+ - diff-parseopt: convert --ws-error-highlight
+ (this branch uses nd/diff-parseopt-3.)
+
+ Fourth batch to teach the diff machinery to use the parse-options
+ API.
Will merge to 'next'.
-* pw/cherry-pick-continue (2019-03-18) 3 commits
- - cherry-pick --continue: remember options
- - cherry-pick: demonstrate option amnesia
- - sequencer: break some long lines
+* nd/include-if-wildmatch (2019-04-01) 1 commit
+ - config: correct '**' matching in includeIf patterns
- "git cherry-pick --options A..B", after giving control back to the
- user to ask help resolving a conflicted step, did not honor the
- options it originally received, which has been corrected.
+ A buglet in configuration parser has been fixed.
Will merge to 'next'.
-* pw/rerere-autoupdate (2019-03-18) 2 commits
- - merge: tweak --rerere-autoupdate documentation
- - am/cherry-pick/rebase/revert: document --rerere-autoupdate
+* nd/interpret-trailers-docfix (2019-04-01) 1 commit
+ - interpret-trailers.txt: start the desc line with a capital letter
- Doc updates.
+ Doc update.
Will merge to 'next'.
-* sg/test-atexit (2019-03-14) 11 commits
- - t9811-git-p4-label-import: fix pipeline negation
- - git p4 test: disable '-x' tracing in the p4d watchdog loop
- - git p4 test: simplify timeout handling
- - git p4 test: clean up the p4d cleanup functions
- - git p4 test: use 'test_atexit' to kill p4d and the watchdog process
- - t0301-credential-cache: use 'test_atexit' to stop the credentials helper
- - tests: use 'test_atexit' to stop httpd
- - git-daemon: use 'test_atexit` to stop 'git-daemon'
- - test-lib: introduce 'test_atexit'
- - t/lib-git-daemon: make sure to kill the 'git-daemon' process
- - test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
- Test framework update to more robustly clean up leftover files and
- processes after tests are done.
+* nd/precious (2019-04-01) 1 commit
+ - Introduce "precious" file concept
+
+ "git clean" learned to pay attention to the 'precious' attributes
+ and keep untracked paths with the attribute instead of removing.
Will merge to 'next'.
-* tb/trace2-va-list-fix (2019-03-20) 1 commit
- - trace2: NULL is not allowed for va_list
+* nd/read-tree-reset-doc (2019-04-02) 1 commit
+ - read-tree.txt: clarify --reset and worktree changes
- Fix some code that passed a NULL when a va_list was expected.
+ The documentation for "git read-tree --reset -u" has been updated.
Will merge to 'next'.
-* tg/glossary-overlay (2019-03-18) 1 commit
- - glossary: add definition for overlay
-
- Doc update.
+* nd/sha1-name-c-wo-the-repository (2019-04-02) 31 commits
+ - sha1-name.c: remove the_repo from get_oid_mb()
+ - sha1-name.c: remove the_repo from other get_oid_*
+ - sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
+ - submodule-config.c: use repo_get_oid for reading .gitmodules
+ - sha1-name.c: add repo_get_oid()
+ - sha1-name.c: remove the_repo from get_oid_with_context_1()
+ - sha1-name.c: remove the_repo from resolve_relative_path()
+ - sha1-name.c: remove the_repo from diagnose_invalid_index_path()
+ - sha1-name.c: remove the_repo from handle_one_ref()
+ - sha1-name.c: remove the_repo from get_oid_1()
+ - sha1-name.c: remove the_repo from get_oid_basic()
+ - sha1-name.c: remove the_repo from get_describe_name()
+ - sha1-name.c: remove the_repo from get_oid_oneline()
+ - sha1-name.c: add repo_interpret_branch_name()
+ - sha1-name.c: remove the_repo from interpret_branch_mark()
+ - sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
+ - sha1-name.c: remove the_repo from get_short_oid()
+ - sha1-name.c: add repo_for_each_abbrev()
+ - sha1-name.c: store and use repo in struct disambiguate_state
+ - sha1-name.c: add repo_find_unique_abbrev_r()
+ - sha1-name.c: remove the_repo from find_abbrev_len_packed()
+ - sha1-name.c: remove the_repo from sort_ambiguous()
+ - commit.c: add repo_get_commit_tree()
+ - refs.c: remove the_repo from read_ref_at()
+ - refs.c: add repo_dwim_log()
+ - refs.c: add repo_dwim_ref()
+ - refs.c: remove the_repo from expand_ref()
+ - refs.c: remove the_repo from substitute_branch_name()
+ - refs.c: add refs_shorten_unambiguous_ref()
+ - refs.c: add refs_ref_exists()
+ - packfile.c: add repo_approximate_object_count()
+
+
+* pw/rebase-i-internal-rfc (2019-03-21) 12 commits
+ - rebase -i: run without forking rebase--interactive
+ - rebase: use a common action enum
+ - rebase -i: use struct rebase_options in do_interactive_rebase()
+ - rebase -i: use struct rebase_options to parse args
+ - rebase -i: use struct object_id for squash_onto
+ - rebase -i: use struct commit when parsing options
+ - rebase -i: remove duplication
+ - rebase -i: combine rebase--interactive.c with rebase.c
+ - rebase: use OPT_RERERE_AUTOUPDATE()
+ - rebase: rename write_basic_state()
+ - sequencer: always discard index after checkout
+ - Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal-rfc
+ (this branch uses ag/sequencer-reduce-rewriting-todo.)
+
+ The internal implementation of "git rebase -i" has been updated to
+ avoid forking a separate "rebase--interactive" process.
+
+
+* sg/asciidoctor-in-ci (2019-04-01) 6 commits
+ - ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job
+ - ci: stick with Asciidoctor v1.5.8 for now
+ - ci: install Asciidoctor in 'ci/install-dependencies.sh'
+ - Documentation/technical/protocol-v2.txt: fix formatting
+ - Documentation/technical/api-config.txt: fix formatting
+ - Documentation/git-diff-tree.txt: fix formatting
+
+ Update our support to format documentation in the CI environment,
+ either with AsciiDoc ro Asciidoctor.
Will merge to 'next'.
-* tg/stash-in-c-show-default-to-p-fix (2019-03-20) 1 commit
- - stash: setup default diff output format if necessary
- (this branch uses ps/stash-in-c; is tangled with js/stash-in-c-pathspec-fix and tb/stash-in-c-unused-param-fix.)
+* sg/index-pack-progress (2019-04-01) 1 commit
+ - index-pack: show progress while checking objects
- A regression fix.
+ size_t???
+
+
+* sg/overlong-progress-fix (2019-04-02) 4 commits
+ - progress: break too long progress bar lines
+ - progress: clear previous progress update dynamically
+ - progress: assemble percentage and counters in a strbuf before printing
+ - progress: make display_progress() return void
+
+ Updating the display with progress message has been cleaned up to
+ deal better with overlong messages.
Will merge to 'next'.
-* tz/completion (2019-03-18) 4 commits
- - completion: use __git when calling --list-cmds
- - completion: fix multiple command removals
- - t9902: test multiple removals via completion.commands
- - git: read local config in --list-cmds
+* sg/t5318-cleanup (2019-03-24) 1 commit
+ - t5318-commit-graph: remove unused variable
- The completion helper code now pays attention to repository-local
- configuration (when available), which allows --list-cmds to honour
- a repository specific setting of completion.commands, for example.
+ Code cleanup.
- Getting there...
- cf. <20190317181620.26727-1-tmz@pobox.com> (v2)
- cf. <CACsJy8DiQwmAKMruOAO4roPbiRTvt5TESBTd682hTwkZjcoj2Q@mail.gmail.com>
+ Will merge to 'next'.
-* tz/t4038-bash-redirect-target-workaround (2019-03-18) 1 commit
- - t4038-diff-combined: quote paths with whitespace
+* tz/asciidoctor-fixes (2019-04-01) 2 commits
+ - Documentation/git-status: fix titles in porcelain v2 section
+ - Documentation/rev-list-options: wrap --date=<format> block with "--"
- Work-around extra warning from bash in our tests.
+ Doc updates.
Will merge to 'next'.
Anybody who wants to champion this topic?
I am personally not yet quite convinced if this is worth pursuing.
-
-* pw/add-p-select (2018-07-26) 4 commits
- - add -p: optimize line selection for short hunks
- - add -p: allow line selection to be inverted
- - add -p: select modified lines correctly
- - add -p: select individual hunk lines
-
- "git add -p" interactive interface learned to let users choose
- individual added/removed lines to be used in the operation, instead
- of accepting or rejecting a whole hunk.
-
- Will discard.
- No further feedbacks on the topic for quite some time.
-
- cf. <d622a95b-7302-43d4-4ec9-b2cf3388c653@talktalk.net>
- I found the feature to be hard to explain, and may result in more
- end-user complaints, but let's see.
-
+--------------------------------------------------
+[Cooking]
* nb/branch-show-other-worktrees-head (2019-03-18) 3 commits
- branch: add worktree info on verbose output
'+', similar to the way the currently checked out branch is shown
with '*' in front.
- The top one probably deserves retitling.
- The second one is of dubious value, but if we are keeping it,
- it should also be retitled.
+ Getting there...
+ cf. <20190316013807.38756-1-nbelakovski@gmail.com> (v9)
+ cf. <20190318121054.GC24175@szeder.dev>
---------------------------------------------------
-[Cooking]
* dl/ignore-docs (2019-03-08) 2 commits
- - docs: move core.excludesFile from git-add to gitignore
- - git-clean.txt: clarify ignore pattern files
+ (merged to 'next' on 2019-03-20 at f1f50c07ef)
+ + docs: move core.excludesFile from git-add to gitignore
+ + git-clean.txt: clarify ignore pattern files
Doc update.
- Will merge to 'next'.
+ Will merge to 'master'.
* jh/resize-convert-scratch-buffer (2019-03-08) 1 commit
- - convert: avoid malloc of original file size
+ (merged to 'next' on 2019-03-20 at 92a24b29ed)
+ + convert: avoid malloc of original file size
When the "clean" filter can reduce the size of a huge file in the
working tree down to a small "token" (a la Git LFS), there is no
allocates very minimum and reallocates as it receives the output
from the clean filter process.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/line-log-with-patch (2019-03-11) 2 commits
- - line-log: detect unsupported formats
- - line-log: suppress diff output with "-s"
+ (merged to 'next' on 2019-03-20 at 21afea908c)
+ + line-log: detect unsupported formats
+ + line-log: suppress diff output with "-s"
"git log -L<from>,<to>:<path>" with "-s" did not suppress the patch
output as it should. This has been corrected.
- Will merge to 'next'.
+ Will merge to 'master'.
* js/rebase-deprecate-preserve-merges (2019-03-12) 1 commit
- - rebase: deprecate --preserve-merges
+ (merged to 'next' on 2019-03-20 at 32baac3acd)
+ + rebase: deprecate --preserve-merges
"git rebase --rebase-merges" replaces its old "--preserve-merges"
option; the latter is now marked as deprecated.
- Will merge to 'next'.
+ Will merge to 'master'.
* js/init-db-update-for-mingw (2019-03-12) 1 commit
* js/stash-in-c-pathspec-fix (2019-03-12) 3 commits
- - stash: pass pathspec as pointer
- - built-in stash: handle :(glob) pathspecs again
- - legacy stash: fix "rudimentary backport of -q"
+ (merged to 'next' on 2019-03-20 at e81d08af7a)
+ + stash: pass pathspec as pointer
+ + built-in stash: handle :(glob) pathspecs again
+ + legacy stash: fix "rudimentary backport of -q"
(this branch uses ps/stash-in-c; is tangled with tb/stash-in-c-unused-param-fix and tg/stash-in-c-show-default-to-p-fix.)
Further fixes to "git stash" reimplemented in C.
- Will merge to 'next'.
+ Will cook in 'next'.
* nd/rewritten-ref-is-per-worktree (2019-03-08) 3 commits
- - Make sure refs/rewritten/ is per-worktree
- - files-backend.c: reduce duplication in add_per_worktree_entries_to_dir()
- - files-backend.c: factor out per-worktree code in loose_fill_ref_dir()
+ (merged to 'next' on 2019-03-20 at 5369a2e1f6)
+ + Make sure refs/rewritten/ is per-worktree
+ + files-backend.c: reduce duplication in add_per_worktree_entries_to_dir()
+ + files-backend.c: factor out per-worktree code in loose_fill_ref_dir()
"git rebase" uses the refs/rewritten/ hierarchy to store its
intermediate states, which inherently makes the hierarchy per
worktree, but it didn't quite work well.
- Will merge to 'next'.
-
-
-* br/commit-tree-parseopt (2019-03-08) 1 commit
- (merged to 'next' on 2019-03-11 at e1228ef04f)
- + commit-tree: utilize parse-options api
-
- Originally merged to 'next' on 2019-03-08
-
- The command line parser of "git commit-tree" has been rewritten to
- use the parse-options API.
-
- Will merge to 'master'.
-
-
-* jk/config-type-color-ends-with-lf (2019-03-07) 1 commit
- (merged to 'next' on 2019-03-11 at 810b269d1a)
- + config: document --type=color output is a complete line
-
- Originally merged to 'next' on 2019-03-07
-
- "git config --type=color ..." is meant to replace "git config --get-color"
- but there is a slight difference that wasn't documented, which is
- now fixed.
-
Will merge to 'master'.
* nd/diff-parseopt-3 (2019-03-07) 20 commits
- - diff-parseopt: convert --submodule
- - diff-parseopt: convert --ignore-submodules
- - diff-parseopt: convert --textconv
- - diff-parseopt: convert --ext-diff
- - diff-parseopt: convert --quiet
- - diff-parseopt: convert --exit-code
- - diff-parseopt: convert --color-words
- - diff-parseopt: convert --word-diff-regex
- - diff-parseopt: convert --word-diff
- - diff-parseopt: convert --[no-]color
- - diff-parseopt: convert --[no-]follow
- - diff-parseopt: convert -R
- - diff-parseopt: convert -a|--text
- - diff-parseopt: convert --full-index
- - diff-parseopt: convert --binary
- - diff-parseopt: convert --anchored
- - diff-parseopt: convert --diff-algorithm
- - diff-parseopt: convert --histogram
- - diff-parseopt: convert --patience
- - diff-parseopt: convert --[no-]indent-heuristic
+ (merged to 'next' on 2019-03-20 at ee79d4924b)
+ + diff-parseopt: convert --submodule
+ + diff-parseopt: convert --ignore-submodules
+ + diff-parseopt: convert --textconv
+ + diff-parseopt: convert --ext-diff
+ + diff-parseopt: convert --quiet
+ + diff-parseopt: convert --exit-code
+ + diff-parseopt: convert --color-words
+ + diff-parseopt: convert --word-diff-regex
+ + diff-parseopt: convert --word-diff
+ + diff-parseopt: convert --[no-]color
+ + diff-parseopt: convert --[no-]follow
+ + diff-parseopt: convert -R
+ + diff-parseopt: convert -a|--text
+ + diff-parseopt: convert --full-index
+ + diff-parseopt: convert --binary
+ + diff-parseopt: convert --anchored
+ + diff-parseopt: convert --diff-algorithm
+ + diff-parseopt: convert --histogram
+ + diff-parseopt: convert --patience
+ + diff-parseopt: convert --[no-]indent-heuristic
+ (this branch is used by nd/diff-parseopt-4.)
Third batch to teach the diff machinery to use the parse-options
API.
- Will merge to 'next'.
+ Will merge to 'master'.
cf. <20190305123026.7266-1-pclouds@gmail.com>
* jt/test-protocol-version (2019-03-07) 8 commits
- - t5552: compensate for v2 filtering ref adv.
- - tests: fix protocol version for overspecifications
- - t5700: only run with protocol version 1
- - t5512: compensate for v0 only sending HEAD symrefs
- - t5503: fix overspecification of trace expectation
- - tests: always test fetch of unreachable with v0
- - t5601: check ssh command only with protocol v0
- - tests: define GIT_TEST_PROTOCOL_VERSION
+ (merged to 'next' on 2019-03-20 at 0c97907bdb)
+ + t5552: compensate for v2 filtering ref adv.
+ + tests: fix protocol version for overspecifications
+ + t5700: only run with protocol version 1
+ + t5512: compensate for v0 only sending HEAD symrefs
+ + t5503: fix overspecification of trace expectation
+ + tests: always test fetch of unreachable with v0
+ + t5601: check ssh command only with protocol v0
+ + tests: define GIT_TEST_PROTOCOL_VERSION
+ (this branch is used by jt/fetch-no-update-shallow-in-proto-v2.)
Help developers by making it easier to run most of the tests under
different versions of over-the-wire protocols.
- Will merge to 'next'.
- cf. <cover.1551131153.git.jonathantanmy@google.com>
-
-
-* jk/bisect-final-output (2019-03-01) 3 commits
- (merged to 'next' on 2019-03-11 at dea599eb04)
- + bisect: make diff-tree output prettier
- + bisect: fix internal diff-tree config loading
- + bisect: use string arguments to feed internal diff-tree
-
- Originally merged to 'next' on 2019-03-07
-
- The final report from "git bisect" used to show the suspected
- culprit using a raw "diff-tree", with which there is no output for
- a merge commit. This has been updated to use a more modern and
- human readable output that still is concise enough.
-
- Will merge to 'master'.
-
-
-* jk/fsck-doc (2019-03-05) 2 commits
- (merged to 'next' on 2019-03-11 at 5cd610f73e)
- + fsck: always compute USED flags for unreachable objects
- + doc/fsck: clarify --connectivity-only behavior
-
- Originally merged to 'next' on 2019-03-07
-
- "git fsck --connectivity-only" omits computation necessary to sift
- the objects that are not reachable from any of the refs into
- unreachable and dangling. This is now enabled when dangling
- objects are requested (which is done by default, but can be
- overridden with the "--no-dangling" option).
-
- Will merge to 'master'.
-
-
-* jk/no-sigpipe-during-network-transport (2019-03-05) 2 commits
- (merged to 'next' on 2019-03-11 at 25900acd0d)
- + fetch: ignore SIGPIPE during network operation
- + fetch: avoid calling write_or_die()
-
- Originally merged to 'next' on 2019-03-07
-
- On platforms where "git fetch" is killed with SIGPIPE (e.g. OSX),
- the upload-pack that runs on the other end that hangs up after
- detecting an error could cause "git fetch" to die with a signal,
- which led to a flakey test. "git fetch" now ignores SIGPIPE during
- the network portion of its operation (this is not a problem as we
- check the return status from our write(2)s).
-
- Will merge to 'master'.
-
-
-* jk/virtual-objects-do-exist (2019-03-05) 1 commit
- (merged to 'next' on 2019-03-11 at 748c79a1f0)
- + rev-list: allow cached objects in existence check
-
- Originally merged to 'next' on 2019-03-07
-
- A recent update broke "is this object available to us?" check for
- well-known objects like an empty tree (which should yield "yes",
- even when there is no on-disk object for an empty tree), which has
- been corrected.
-
Will merge to 'master'.
+ cf. <cover.1551131153.git.jonathantanmy@google.com>
* js/anonymize-remote-curl-diag (2019-03-05) 1 commit
Will merge to 'next'.
-* js/rebase-orig-head-fix (2019-03-04) 4 commits
- (merged to 'next' on 2019-03-11 at 4b1b19d391)
- + built-in rebase: set ORIG_HEAD just once, before the rebase
- + built-in rebase: demonstrate that ORIG_HEAD is not set correctly
- + built-in rebase: use the correct reflog when switching branches
- + built-in rebase: no need to check out `onto` twice
-
- Originally merged to 'next' on 2019-03-07
-
- "git rebase" that was reimplemented in C did not set ORIG_HEAD
- correctly, which has been corrected.
-
- Will merge to 'master'.
-
-
-* js/stress-test-ui-tweak (2019-03-04) 2 commits
- (merged to 'next' on 2019-03-11 at 223afded1c)
- + tests: introduce --stress-jobs=<N>
- + tests: let --stress-limit=<N> imply --stress
-
- Originally merged to 'next' on 2019-03-07
-
- Dev support.
-
- Will merge to 'master'.
-
-
* ma/asciidoctor-fixes (2019-03-11) 3 commits
- asciidoctor-extensions: fix spurious space after linkgit
- Documentation/Makefile: add missing dependency on asciidoctor-extensions
Will merge to 'next'.
-* nd/worktree-name-sanitization (2019-03-11) 2 commits
+* nd/worktree-name-sanitization (2019-03-20) 2 commits
- SQUASH???
- worktree add: sanitize worktree names
In recent versions of Git, per-worktree refs are exposed in
refs/worktrees/<wtname>/ hierarchy, which means that worktree names
must be a valid refname component. The code now sanitizes the names
- given to worktrees, to make sure these refs are not malforked.
+ given to worktrees, to make sure these refs are well-formed.
* ra/t3600-test-path-funcs (2019-03-08) 3 commits
- - t3600: use helpers to replace test -d/f/e/s <path>
- - t3600: modernize style
- - test functions: add function `test_file_not_empty`
+ (merged to 'next' on 2019-03-20 at 404110d291)
+ + t3600: use helpers to replace test -d/f/e/s <path>
+ + t3600: modernize style
+ + test functions: add function `test_file_not_empty`
A GSoC micro.
- Will merge to 'next'.
+ Will merge to 'master'.
cf. <20190304120801.28763-1-rohit.ashiwal265@gmail.com> (v3)
* dl/reset-doc-no-wrt-abbrev (2019-03-06) 1 commit
- - git-reset.txt: clarify documentation
+ (merged to 'next' on 2019-03-20 at 984b4586c7)
+ + git-reset.txt: clarify documentation
Doc update.
- Will merge to 'next'.
+ Will merge to 'master'.
* ja/dir-rename-doc-markup-fix (2019-03-06) 1 commit
- - Doc: fix misleading asciidoc formating
+ (merged to 'next' on 2019-03-20 at f3238df381)
+ + Doc: fix misleading asciidoc formating
Doc update.
- Will merge to 'next'.
+ Will merge to 'master'.
* bp/post-index-change-hook (2019-02-15) 1 commit
Will cook in 'next'.
-* jc/format-patch-error-check (2019-02-22) 3 commits
- - format-patch: --no-clobber refrains from overwriting output files
+* jc/format-patch-error-check (2019-02-22) 2 commits
- format-patch: notice failure to open cover letter for writing
- builtin/log: downcase the beginning of error messages
+ (this branch is used by jc/format-patch-noclobber.)
"git format-patch" used overwrite an existing patch/cover-letter
file. A new "--no-clobber" option stops it.
- Will merge to 'next' after dropping the tip commit.
- I think the bottom two were indenendently good changes; the top one
- was met with "Meh" by reviewer(s), and I tend to agree.
-
-
-* ab/makefile-help-devs-more (2019-02-24) 6 commits
- (merged to 'next' on 2019-03-11 at 898f5f44bc)
- + Makefile: allow for combining DEVELOPER=1 and CFLAGS="..."
- + Makefile: move the setting of *FLAGS closer to "include"
- + Makefile: Move *_LIBS assignment into its own section
- + Makefile: add/remove comments at top and tweak whitespace
- + Makefile: move "strip" assignment down from flags
- + Makefile: remove an out-of-date comment
-
- Originally merged to 'next' on 2019-03-07
-
- CFLAGS now can be tweaked when invoking Make while using
- DEVELOPER=YesPlease; this did not work well before.
-
- Will merge to 'master'.
+ Will merge to 'next'.
* jt/fetch-cdn-offload (2019-03-12) 9 commits
Needs update before merging to 'next'.
-* sx/evolve (2019-02-15) 8 commits
- . evolve: add the git change list command
- . evolve: implement the git change command
- . evolve: add support for writing metacommits
- . evolve: add the change-table structure
- . evolve: add support for parsing metacommits
- . ref-filter: add the metas namespace to ref-filter
- . sha1-array: implement oid_array_readonly_contains
- . technical doc: add a design doc for the evolve command
-
- The beginning of "hg evolve" mimicry.
-
-
* br/blame-ignore (2019-02-13) 6 commits
- SQUASH???
- blame: add tests for ignoring revisions
Needs review.
-* ma/clear-repository-format (2019-03-01) 2 commits
- (merged to 'next' on 2019-03-11 at f3db1c278f)
- + setup: fix memory leaks with `struct repository_format`
- + setup: free old value before setting `work_tree`
-
- Originally merged to 'next' on 2019-03-07
-
- The setup code has been cleaned up to avoid leaks around the
- repository_format structure.
-
- Will merge to 'master'.
-
-
-* dl/merge-cleanup-scissors-fix (2019-03-18) 11 commits
+* dl/merge-cleanup-scissors-fix (2019-03-21) 11 commits
- cherry-pick/revert: add scissors line on merge conflict
- sequencer.c: define describe_cleanup_mode
- merge: add scissors line on merge conflict
- sequencer.c: remove duplicate code
- parse-options.h: extract common --cleanup option
- commit: extract cleanup_mode functions to sequencer
- - t7502: clean up test style
- - t7604: refactor out Git commands upstream of pipe
- - t3507: cleanup space after redirection operators
+ - t7502: clean up style
+ - t7604: clean up style
+ - t3507: clean up style
- t7600: clean up style
The list of conflicted paths shown in the editor while concluding a
out just like the list of updated paths and other information to
help the user explain the merge better.
- Getting there ;-)
- cf. <cover.1552275703.git.liu.denton@gmail.com> (v7)
- Expecting v9.
+ Needs review.
+ cf. <cover.1553150827.git.liu.denton@gmail.com> (v9)
* jn/unknown-index-extensions (2018-11-21) 2 commits
- sequencer: remove the 'arg' field from todo_item
- sequencer: make the todo_list structure public
- sequencer: changes in parse_insn_buffer()
+ (this branch is used by pw/rebase-i-internal-rfc.)
The scripted version of "git rebase -i" wrote and rewrote the todo
list many times during a single step of its operation, and the