]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2013/07 #02)
authorJunio C Hamano <gitster@pobox.com>
Fri, 5 Jul 2013 08:55:06 +0000 (01:55 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 5 Jul 2013 08:55:06 +0000 (01:55 -0700)
whats-cooking.txt

index 70e37cc5531823531b6e72fe07be9e9495af0f8e..2c6aca6421d25110e3c8a2dd55016a29ff72a5a3 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jul 2013, #01; Mon, 1)
-X-master-at: 8c4e4ec3ff053331c845331645a437b01b1f0de6
-X-next-at: 27cfd277767dfcdf40973f837d71a02664df5d01
+Subject: What's cooking in git.git (Jul 2013, #02; Fri, 5)
+X-master-at: f8abaebab3fe1a1b873f9636ea410ac4007c8fa8
+X-next-at: 0346b8459f4201954d9ada6dccc8e6ff9f59269c
 
-What's cooking in git.git (Jul 2013, #01; Mon, 1)
+What's cooking in git.git (Jul 2013, #02; Fri, 5)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -24,256 +24,91 @@ of the repositories listed at
 --------------------------------------------------
 [Graduated to "master"]
 
-* ap/diff-ignore-blank-lines (2013-06-19) 1 commit
-  (merged to 'next' on 2013-06-23 at 9cf8e03)
- + diff: add --ignore-blank-lines option
-
- "git diff" learned a mode that ignores hunks whose change consists
- only of additions and removals of blank lines, which is the same as
- "diff -B" (ignore blank lines) of GNU diff.
-
-
-* ap/rebase-multiple-fixups (2013-06-27) 1 commit
-  (merged to 'next' on 2013-06-28 at c3d1b1e)
- + rebase -i: handle fixup! fixup! in --autosquash
-
- Having multiple "fixup!" on a line in the rebase instruction sheet
- did not work very well with "git rebase -i --autosquash".
-
-
-* ed/color-prompt (2013-06-26) 5 commits
-  (merged to 'next' on 2013-06-28 at 334892c)
- + git-prompt.sh: add missing information in comments
- + git-prompt.sh: do not print duplicate clean color code
- + t9903: remove redundant tests
- + git-prompt.sh: refactor colored prompt code
- + t9903: add tests for git-prompt pcmode
-
- Code clean-up for in-prompt status script (in contrib/).
-
+* tr/test-v-and-v-subtest-only (2013-06-29) 9 commits
+  (merged to 'next' on 2013-06-30 at 1c5fac1)
+ + perf-lib: fix start/stop of perf tests
+  (merged to 'next' on 2013-06-26 at 8ff4d84)
+ + test-lib: support running tests under valgrind in parallel
+ + test-lib: allow prefixing a custom string before "ok N" etc.
+ + test-lib: valgrind for only tests matching a pattern
+ + test-lib: verbose mode for only tests matching a pattern
+ + test-lib: self-test that --verbose works
+ + test-lib: rearrange start/end of test_expect_* and test_skip
+ + test-lib: refactor $GIT_SKIP_TESTS matching
+ + test-lib: enable MALLOC_* for the actual tests
 
-* ft/doc-git-transport (2013-06-26) 1 commit
-  (merged to 'next' on 2013-06-27 at 4a7d248)
- + documentation: add git:// transport security notice
+ Allows N instances of tests run in parallel, each running 1/N parts
+ of the test suite under Valgrind, to speed things up.
 
+--------------------------------------------------
+[New Topics]
 
-* jc/topo-author-date-sort (2013-06-21) 9 commits
-  (merged to 'next' on 2013-06-26 at 9283719)
- + t6003: add --author-date-order test
- + topology tests: teach a helper to set author dates as well
- + t6003: add --date-order test
- + topology tests: teach a helper to take abbreviated timestamps
- + t/lib-t6000: style fixes
-  (merged to 'next' on 2013-06-15 at ad4fb48)
- + log: --author-date-order
- + sort-in-topological-order: use prio-queue
- + prio-queue: priority queue of pointers to structs
- + toposort: rename "lifo" field
- (this branch uses jk/commit-info-slab; is tangled with jc/show-branch.)
-
- "git log" learned the "--author-date-order" option, with which the
- output is topologically sorted and commits in parallel histories
- are shown intermixed together based on the author timestamp.
+* jc/t1512-fix (2013-07-01) 2 commits
+ - get_short_sha1(): correctly disambiguate type-limited abbreviation
+ - t1512: correct leftover constants from earlier edition
 
+ A test that should have failed but didn't revealed a bug that needs
+ to be corrected.
 
-* jk/commit-info-slab (2013-06-07) 3 commits
-  (merged to 'next' on 2013-06-15 at 908ab93)
- + commit-slab: introduce a macro to define a slab for new type
- + commit-slab: avoid large realloc
- + commit: allow associating auxiliary info on-demand
- (this branch is used by jc/show-branch and jc/topo-author-date-sort.)
+ Will merge to 'next'.
 
- Allow adding custom information to commit objects in order to
- represent unbound number of flag bits etc.
 
+* jk/fetch-pack-many-refs (2013-07-02) 3 commits
+ - fetch-pack: avoid quadratic behavior in rev_list_push
+ - commit.c: make compare_commits_by_commit_date global
+ - fetch-pack: avoid quadratic list insertion in mark_complete
 
-* jk/submodule-subdirectory-ok (2013-06-17) 6 commits
-  (merged to 'next' on 2013-06-23 at f17fb37)
- + submodule: drop the top-level requirement
- + rev-parse: add --prefix option
- + submodule: show full path in error message
- + t7403: add missing && chaining
- + t7403: modernize style
- + t7401: make indentation consistent
-
- Allow various subcommands of "git submodule" to be run not from the
- top of the working tree of the superproject.
-
-
-* kb/am-deprecate-resolved (2013-06-27) 1 commit
-  (merged to 'next' on 2013-06-28 at 177f491)
- + am: replace uses of --resolved with --continue
-
- Promote "git am --continue" over "git am --resolved" for UI
- consistency.
-
-
-* mh/loose-refs-race-with-pack-ref (2013-06-19) 3 commits
-  (merged to 'next' on 2013-06-23 at 2099d0b)
- + resolve_ref_unsafe(): close race condition reading loose refs
- + resolve_ref_unsafe(): handle the case of an SHA-1 within loop
- + resolve_ref_unsafe(): extract function handle_missing_loose_ref()
-
- We read loose and packed rerferences in two steps, but after
- deciding to read a loose ref but before actually opening it to read
- it, another process racing with us can unlink it, which would cause
- us to barf. Update the codepath to retry when such a race is
- detected.
-
-
-* mh/ref-races (2013-06-20) 11 commits
-  (merged to 'next' on 2013-06-23 at 71f1a18)
- + for_each_ref: load all loose refs before packed refs
- + get_packed_ref_cache: reload packed-refs file when it changes
- + add a stat_validity struct
- + Extract a struct stat_data from cache_entry
- + packed_ref_cache: increment refcount when locked
- + do_for_each_entry(): increment the packed refs cache refcount
- + refs: manage lifetime of packed refs cache via reference counting
- + refs: implement simple transactions for the packed-refs file
- + refs: wrap the packed refs cache in a level of indirection
- + pack_refs(): split creation of packed refs and entry writing
- + repack_without_ref(): split list curation and entry writing
- (this branch is used by mh/ref-races-optim-invalidate-cached.)
-
- "git pack-refs" that races with new ref creation or deletion have
- been susceptible to lossage of refs under right conditions, which
- has been tightened up.
-
-
-* nk/name-rev-abbreviated-refs (2013-06-18) 1 commit
-  (merged to 'next' on 2013-06-23 at 2ec9e05)
- + name-rev: allow to specify a subpath for --refs option
-
- "git name-rev --refs=tags/v*" were forbidden, which was a bit
- inconvenient (you had to give a pattern to match refs fully, like
- --refs=refs/tags/v*).
-
-
-* rr/column-doc (2013-06-26) 1 commit
-  (merged to 'next' on 2013-06-27 at 99497e1)
- + column doc: rewrite documentation for column.ui
-
-
-* rr/remote-branch-config-refresh (2013-06-23) 9 commits
-  (merged to 'next' on 2013-06-26 at 48746e1)
- + t/t5505-remote: test multiple push/pull in remotes-file
- + ls-remote doc: don't encourage use of branches-file
- + ls-remote doc: rewrite <repository> paragraph
- + ls-remote doc: fix example invocation on git.git
- + t/t5505-remote: test url-with-# in branches-file
- + remote: remove dead code in read_branches_file()
- + t/t5505-remote: use test_path_is_missing
- + t/t5505-remote: test push-refspec in branches-file
- + t/t5505-remote: modernize style
-
- The original way to specify remote repository using .git/branches/
- used to have a nifty feature.  The code to support the feature was
- still in a function but the caller was changed not to call it 5
- years ago, breaking that feature and leaving the supporting code
- unreachable.
-
-
-* sb/mailmap-merijn-brand (2013-06-25) 1 commit
-  (merged to 'next' on 2013-06-27 at 2dd247a)
- + .mailmap: Map "H.Merijn Brand" to "H. Merijn Brand"
-
-
-* sg/bash-prompt (2013-06-24) 16 commits
-  (merged to 'next' on 2013-06-27 at 09fda6a)
- + bash prompt: mention that PROMPT_COMMAND mode is faster
- + bash prompt: avoid command substitution when finalizing gitstring
- + bash prompt: avoid command substitution when checking for untracked files
- + bash prompt: use bash builtins to check stash state
- + bash prompt: use bash builtins to check for unborn branch for dirty state
- + bash prompt: combine 'git rev-parse' for detached head
- + bash prompt: combine 'git rev-parse' executions in the main code path
- + bash prompt: use bash builtins to find out current branch
- + bash prompt: use bash builtins to find out rebase state
- + bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir()
- + bash prompt: return early from __git_ps1() when not in a git repository
- + bash prompt: print unique detached HEAD abbreviated object name
- + bash prompt: add a test for symbolic link symbolic refs
- + completion, bash prompt: move __gitdir() tests to completion test suite
- + bash prompt: use 'write_script' helper in interactive rebase test
- + bash prompt: fix redirection coding style in tests
-
-
-* wk/doc-in-linux-3.x-era (2013-06-22) 4 commits
-  (merged to 'next' on 2013-06-26 at a24e9e6)
- + Documentation: Update 'linux-2.6.git' -> 'linux.git'
- + Documentation: Update the NFS remote examples to use the staging repo
- + doc/clone: Pick more compelling paths for the --reference example
- + doc/clone: Remove the '--bare -l -s' example
-
- Update documentation to match more recent realities.
-
---------------------------------------------------
-[New Topics]
+ Fetching between repositories with many refs employed O(n^2)
+ algorithm to match up the common objects, which has been corrected.
 
-* pb/stash-refuse-to-kill (2013-07-01) 2 commits
- - git stash: avoid data loss when "git stash save" kills a directory
- - treat_directory(): do not declare submodules to be untracked
+ Will merge to 'next'.
 
- "git stash save" is not just about "saving" the local changes, but
- also is to restore the working tree state to that of HEAD. If you
- changed a non-directory into a directory in the local change, you
- may have untracked files in that directory, which have to be killed
- while doing so, unless you run it with --include-untracked.  Teach
- the command to detect and error out before spreading the damage.
 
- This needed a small fix to "ls-files --killed".
+* jk/format-patch-from (2013-07-03) 2 commits
+ - teach format-patch to place other authors into in-body "From"
+ - pretty.c: drop const-ness from pretty_print_context
 
- Will merge to 'next' after waiting for a few days.
+ "git format-patch" learned "--from[=whom]" option, which sets the
+ "From: " header to the specified person (or the person who runs the
+ command, if "=whom" part is missing) and move the original author
+ information to an in-body From: header as necessary.
 
+ Will merge to 'next'.
 
-* es/contacts (2013-06-30) 4 commits
- - contrib: contacts: interpret committish akin to format-patch
- - contrib: contacts: add ability to parse from committish
- - contrib: contacts: add support for multiple patches
- - contrib: add git-contacts helper
 
- Waiting for more discussion.
+* ms/remote-tracking-branches-in-doc (2013-07-03) 1 commit
+ - Change "remote tracking" to "remote-tracking"
 
+ Will merge to 'next'.
 
-* jk/bash-completion (2013-06-30) 2 commits
-  (merged to 'next' on 2013-07-01 at 6daca44)
- + completion: learn about --man-path
- + completion: handle unstuck form of base git options
 
- Will merge to 'master'.
+* tf/gitweb-extra-breadcrumbs (2013-07-04) 1 commit
+ - gitweb: allow extra breadcrumbs to prefix the trail
 
+ An Gitweb installation that is a part of larger site can optionally
+ show extra links that point at the levels higher than the Gitweb
+ pages itself in the link hierarchy of pages.
 
-* cp/submodule-custom-update (2013-07-01) 1 commit
- - submodule update: allow custom command to update submodule working tree
+ Will merge to 'next'.
 
- In addition to the choice from "rebase, merge, or checkout-detach",
- allow a custom command to be used in "submodule update" to update
- the working tree of submodules.
 
- Needs to be reviewed.
+* bc/commit-invalid-utf8 (2013-07-04) 2 commits
+ - commit: reject overlong UTF-8 sequences
+ - commit: reject invalid UTF-8 codepoints
 
+ Will merge to 'next'.
 
-* mv/merge-ff-tristate (2013-07-01) 1 commit
- - merge: handle --ff/--no-ff/--ff-only as a tri-state option
 
- The configuration variable "merge.ff" was cleary a tri-state to
- choose one from "favor fast-forward when possible", "always create
- a merge even when the history could fast-forward" and "do not
- create any merge, only update when the history fast-forwards", but
- the command line parser did not implement the usual convention of
- "last one wins, and command line overrides the configuration"
- correctly.
+* bc/send-email-use-port-as-separate-param (2013-07-04) 1 commit
+ - send-email: provide port separately from hostname
 
Needs to be reviewed.
Will merge to 'next'.
 
 
-* rr/rebase-reflog-message-reword (2013-06-23) 2 commits
- - rebase -i: use a better reflog message
- - rebase: use a better reflog message
- (this branch uses rr/rebase-checkout-reflog.)
+* ml/cygwin-does-not-have-fifo (2013-07-05) 1 commit
+ - test-lib.sh - cygwin does not have usable FIFOs
 
Split from the other topic.
Will merge to 'next'.
 
 --------------------------------------------------
 [Stalled]
@@ -407,23 +242,101 @@ of the repositories listed at
 --------------------------------------------------
 [Cooking]
 
-* bp/mediawiki-preview (2013-06-26) 5 commits
- - git-remote-mediawiki: Add preview subcommand into git mw.
+* pb/stash-refuse-to-kill (2013-07-01) 2 commits
+  (merged to 'next' on 2013-07-05 at 78ecc59)
+ + git stash: avoid data loss when "git stash save" kills a directory
+ + treat_directory(): do not declare submodules to be untracked
+
+ "git stash save" is not just about "saving" the local changes, but
+ also is to restore the working tree state to that of HEAD. If you
+ changed a non-directory into a directory in the local change, you
+ may have untracked files in that directory, which have to be killed
+ while doing so, unless you run it with --include-untracked.  Teach
+ the command to detect and error out before spreading the damage.
+
+ This needed a small fix to "ls-files --killed".
+
+ Will merge to 'next'.
+
+
+* es/contacts (2013-07-03) 3 commits
+ - contrib: contacts: interpret committish akin to format-patch
+ - contrib: contacts: add ability to parse from committish
+ - contrib: add git-contacts helper
+
+ A helper to read from a set of format-patch output files or a range
+ of commits and find those who may have insights to the code that
+ the changes touch by running a series of "git blame" commands.
+
+ Still needs to add mailmap support and other niceties but the
+ basics already look sound, and the enhancements can be done
+ in-tree. Assuming that "git contact" is something we may want to
+ have as a member of the official set of commands someday, that is.
+
+ Will merge to 'next'.
+
+
+* jk/bash-completion (2013-06-30) 2 commits
+  (merged to 'next' on 2013-07-01 at 6daca44)
+ + completion: learn about --man-path
+ + completion: handle unstuck form of base git options
+
+ Will merge to 'master'.
+
+
+* cp/submodule-custom-update (2013-07-03) 1 commit
+ - submodule update: allow custom command to update submodule working tree
+
+ In addition to the choice from "rebase, merge, or checkout-detach",
+ allow a custom command to be used in "submodule update" to update
+ the working tree of submodules.
+
+ Will merge to 'next'.
+
+
+* mv/merge-ff-tristate (2013-07-02) 1 commit
+ - merge: handle --ff/--no-ff/--ff-only as a tri-state option
+
+ The configuration variable "merge.ff" was cleary a tri-state to
+ choose one from "favor fast-forward when possible", "always create
+ a merge even when the history could fast-forward" and "do not
+ create any merge, only update when the history fast-forwards", but
+ the command line parser did not implement the usual convention of
+ "last one wins, and command line overrides the configuration"
+ correctly.
+
+ Will merge to 'next'.
+
+
+* rr/rebase-reflog-message-reword (2013-06-23) 2 commits
+ - rebase -i: use a better reflog message
+ - rebase: use a better reflog message
+ (this branch uses rr/rebase-checkout-reflog.)
+
+ "git rebase [-i]" used to leave just "rebase" as its reflog message
+ for some operations. This rewords them to be more informative.
+
+ Will merge to 'next'.
+
+
+* bp/mediawiki-preview (2013-07-04) 7 commits
+ - git-remote-mediawiki: Add preview subcommand into git mw
  - git-remote-mediawiki: Adding git-mw command
- - git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
- - git-remote-mediawiki: new git bin-wrapper for developement
+ - git-remote-mediawiki: Factoring code between git-remote-mediawiki and Git::Mediawiki
+ - git-remote-mediawiki: Update tests to run with the new bin-wrapper
+ - git-remote-mediawiki: New git bin-wrapper for developement
+ - wrap-for-bin: Make bin-wrappers chainable
  - git-remote-mediawiki: Introduction of Git::Mediawiki.pm
 
Still under discussion?
Looks like this is in a fairly good shape?
 
 
-* fg/submodule-clone-depth (2013-06-28) 1 commit
+* fg/submodule-clone-depth (2013-07-03) 1 commit
  - Add --depth to submodule update/add
 
  Allow shallow-cloning of submodules with "git submodule update".
 
- Waiting for a reroll.
- $gmane/229248
+ Will merge to 'next'.
 
 
 * jc/pull-training-wheel (2013-06-27) 1 commit
@@ -438,7 +351,9 @@ of the repositories listed at
  logic with other people's support.  Hint, hint...
 
 
-* as/log-output-encoding-in-user-format (2013-07-01) 6 commits
+* as/log-output-encoding-in-user-format (2013-07-05) 7 commits
+  (merged to 'next' on 2013-07-05 at d2c99e5)
+ + t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1
   (merged to 'next' on 2013-07-01 at 3318aa8)
  + t4205: replace .\+ with ..* in sed commands
   (merged to 'next' on 2013-06-28 at 4063330)
@@ -455,13 +370,14 @@ of the repositories listed at
 
 
 * jc/maint-diff-core-safecrlf (2013-06-25) 1 commit
- - diff: demote core.safecrlf=true to core.safecrlf=warn
+  (merged to 'next' on 2013-07-03 at db8a2a6)
+ + diff: demote core.safecrlf=true to core.safecrlf=warn
 
  "git diff" refused to even show difference when core.safecrlf is
  set to true (i.e. error out) and there are offending lines in the
  working tree files.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jk/fast-import-empty-ls (2013-06-23) 4 commits
@@ -474,14 +390,12 @@ of the repositories listed at
  $gmane/228741
 
 
-* af/rebase-i-merge-options (2013-06-25) 2 commits
- - SQUASH???
+* af/rebase-i-merge-options (2013-07-02) 1 commit
  - Do not ignore merge options in interactive rebase
 
  "git rebase -i" now honors --strategy and -X options.
 
- Waiting for response to review comments.
- $gmane/228988
+ Will merge to 'master'.
 
 
 * rj/cygwin-remove-cheating-lstat (2013-06-25) 1 commit
@@ -529,12 +443,15 @@ of the repositories listed at
  tentatively defines it as the same as 'current', but we may have
  to tighten it to avoid surprises in some way.
 
+ Will merge to 'master'.
+
 
 * jg/status-config (2013-06-24) 4 commits
- - status/commit: make sure --porcelain is not affected by user-facing config
- - commit: make it work with status.short
- - status: introduce status.branch to enable --branch by default
- - status: introduce status.short to enable --short by default
+  (merged to 'next' on 2013-07-03 at 6ac1ada)
+ + status/commit: make sure --porcelain is not affected by user-facing config
+ + commit: make it work with status.short
+ + status: introduce status.branch to enable --branch by default
+ + status: introduce status.short to enable --short by default
 
  "git status" learned status.branch and status.short configuration
  variables to use --branch and --short options by default (override
@@ -546,7 +463,7 @@ of the repositories listed at
  is unfortunately overly complex in order not to introduce an
  unnecessary regression.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
 * jc/reflog-doc (2013-06-19) 1 commit
@@ -613,25 +530,6 @@ of the repositories listed at
  merged to 'next'.
 
 
-* tr/test-v-and-v-subtest-only (2013-06-29) 9 commits
-  (merged to 'next' on 2013-06-30 at 1c5fac1)
- + perf-lib: fix start/stop of perf tests
-  (merged to 'next' on 2013-06-26 at 8ff4d84)
- + test-lib: support running tests under valgrind in parallel
- + test-lib: allow prefixing a custom string before "ok N" etc.
- + test-lib: valgrind for only tests matching a pattern
- + test-lib: verbose mode for only tests matching a pattern
- + test-lib: self-test that --verbose works
- + test-lib: rearrange start/end of test_expect_* and test_skip
- + test-lib: refactor $GIT_SKIP_TESTS matching
- + test-lib: enable MALLOC_* for the actual tests
-
- Allows N instances of tests run in parallel, each running 1/N parts
- of the test suite under Valgrind, to speed things up.
-
- Will merge to 'master'.
-
-
 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
  - git add: -u/-A now affects the entire working tree
 
@@ -657,53 +555,3 @@ of the repositories listed at
  aka "--no-ignore-removal".
 
  Will cook in 'next' until Git 2.0.
-
---------------------------------------------------
-[Discarded]
-
-* rr/complete-difftool (2013-06-09) 3 commits
-  (merged to 'next' on 2013-06-09 at 2ee40cb)
- + Revert 77c1305 and 3c3b46b
-  (merged to 'next' on 2013-06-07 at 90e5f58)
- + completion: add deprecated __git_complete_file ()
-  (merged to 'next' on 2013-06-04 at 01c7611)
- + completion: clarify ls-tree, archive, show completion
-
- Update command line completion (in contrib/) to use a better named
- completion helper function for commands that take revisions and
- paths.
-
- Reverted, to be replaced with rr/complete-difftool-fixup.
-
-
-* fc/remote-helpers-use-specified-python (2013-05-28) 4 commits
- - remote-helpers: add exec-path links
- - remote-helpers: allow direct test execution
- - remote-helpers: rename tests
- - remote-helpers: generate scripts
-
- Retracted.
-
-
-* jk/packed-refs-race (2013-05-06) 4 commits
- . for_each_ref: load all loose refs before packed refs
- . get_packed_refs: reload packed-refs file when it changes
- . add a stat_validity struct
- . resolve_ref: close race condition for packed refs
-
- Superseded by mh/ref-races topic, I think.
-
-
-* rr/triangle-push-fix (2013-06-20) 9 commits
- . push: honor branch.*.push
- . SQUASH??? fix git-config push.default description
- . SQUASH??? minimum "simple" safety fix-up
- . t/t5528-push-default: test pushdefault workflows
- . t/t5528-push-default: generalize test_push_*
- . push: remove dead code in setup_push_upstream()
- . push: change `simple` to accommodate triangular workflows
- . config doc: rewrite push.default section
- + t/t5528-push-default: remove redundant test_config lines
- (this branch is tangled with jc/triangle-push-fixup.)
-
- Superseded by jc/triangle-push-fixup.