<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/contrib, branch v2.35.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.35.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.35.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2022-01-10T19:52:54Z</updated>
<entry>
<title>Merge branch 'jl/subtree-check-parents-argument-passing-fix'</title>
<updated>2022-01-10T19:52:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-01-10T19:52:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9b6eda0785e9e6422e0a975901514043a05a9e47'/>
<id>urn:sha1:9b6eda0785e9e6422e0a975901514043a05a9e47</id>
<content type='text'>
Fix performance-releated bug in "git subtree" (in contrib/).

* jl/subtree-check-parents-argument-passing-fix:
  subtree: fix argument handling in check_parents
</content>
</entry>
<entry>
<title>subtree: fix argument handling in check_parents</title>
<updated>2022-01-04T19:38:19Z</updated>
<author>
<name>James Limbouris</name>
<email>james@digitalmatter.com</email>
</author>
<published>2021-12-08T02:11:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3ce8888fb499f9646b770306be6e2c7674a75199'/>
<id>urn:sha1:3ce8888fb499f9646b770306be6e2c7674a75199</id>
<content type='text'>
315a84f9aa0 (subtree: use commits before rejoins for splits, 2018-09-28)
changed the signature of check_parents from 'check_parents [REV...]'
to 'check_parents PARENTS_EXPR INDENT'. In other words the variable list
of parent revisions became a list embedded in a string. However it
neglected to unpack the list again before sending it to cache_miss,
leading to incorrect calls whenever more than one parent was present.
This is the case whenever a merge commit is processed, with the end
result being a loss of performance from unecessary rechecks.

The indent parameter was subsequently removed in e9525a8a029 (subtree:
have $indent actually affect indentation, 2021-04-27), but the argument
handling bug remained.

For consistency, take multiple arguments in check_parents,
and pass all of them to cache_miss separately.

Signed-off-by: James Limbouris &lt;james@digitalmatter.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'es/test-chain-lint'</title>
<updated>2022-01-04T00:24:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-01-04T00:24:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4f4b18497aea75425506097de7225df8c7cf5c66'/>
<id>urn:sha1:4f4b18497aea75425506097de7225df8c7cf5c66</id>
<content type='text'>
Broken &amp;&amp;-chains in the test scripts have been corrected.

* es/test-chain-lint:
  t6000-t9999: detect and signal failure within loop
  t5000-t5999: detect and signal failure within loop
  t4000-t4999: detect and signal failure within loop
  t0000-t3999: detect and signal failure within loop
  tests: simplify by dropping unnecessary `for` loops
  tests: apply modern idiom for exiting loop upon failure
  tests: apply modern idiom for signaling test failure
  tests: fix broken &amp;&amp;-chains in `{...}` groups
  tests: fix broken &amp;&amp;-chains in `$(...)` command substitutions
  tests: fix broken &amp;&amp;-chains in compound statements
  tests: use test_write_lines() to generate line-oriented output
  tests: simplify construction of large blocks of text
  t9107: use shell parameter expansion to avoid breaking &amp;&amp;-chain
  t6300: make `%(raw:size) --shell` test more robust
  t5516: drop unnecessary subshell and command invocation
  t4202: clarify intent by creating expected content less cleverly
  t1020: avoid aborting entire test script when one test fails
  t1010: fix unnoticed failure on Windows
  t/lib-pager: use sane_unset() to avoid breaking &amp;&amp;-chain
</content>
</entry>
<entry>
<title>Merge branch 'js/scalar'</title>
<updated>2021-12-21T23:03:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-21T23:03:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=62e83d4f6954e5c5d3093fd6cd3c5b2ab7de19e0'/>
<id>urn:sha1:62e83d4f6954e5c5d3093fd6cd3c5b2ab7de19e0</id>
<content type='text'>
Add pieces from "scalar" to contrib/.

* js/scalar:
  scalar: implement the `version` command
  scalar: implement the `delete` command
  scalar: teach 'reconfigure' to optionally handle all registered enlistments
  scalar: allow reconfiguring an existing enlistment
  scalar: implement the `run` command
  scalar: teach 'clone' to support the --single-branch option
  scalar: implement the `clone` subcommand
  scalar: implement 'scalar list'
  scalar: let 'unregister' handle a deleted enlistment directory gracefully
  scalar: 'unregister' stops background maintenance
  scalar: 'register' sets recommended config and starts maintenance
  scalar: create test infrastructure
  scalar: start documenting the command
  scalar: create a rudimentary executable
  scalar: add a README with a roadmap
</content>
</entry>
<entry>
<title>Merge branch 'en/zdiff3'</title>
<updated>2021-12-15T17:39:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-15T17:39:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4ce498baa3976cf96d3feb4215a486dd47ec2e7b'/>
<id>urn:sha1:4ce498baa3976cf96d3feb4215a486dd47ec2e7b</id>
<content type='text'>
"Zealous diff3" style of merge conflict presentation has been added.

* en/zdiff3:
  update documentation for new zdiff3 conflictStyle
  xdiff: implement a zealous diff3, or "zdiff3"
</content>
</entry>
<entry>
<title>Merge branch 'hn/reftable'</title>
<updated>2021-12-15T17:39:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-15T17:39:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a4bbd13be360d93f51a0cea6eef436db8622b592'/>
<id>urn:sha1:a4bbd13be360d93f51a0cea6eef436db8622b592</id>
<content type='text'>
The "reftable" backend for the refs API, without integrating into
the refs subsystem, has been added.

* hn/reftable:
  Add "test-tool dump-reftable" command.
  reftable: add dump utility
  reftable: implement stack, a mutable database of reftable files.
  reftable: implement refname validation
  reftable: add merged table view
  reftable: add a heap-based priority queue for reftable records
  reftable: reftable file level tests
  reftable: read reftable files
  reftable: generic interface to tables
  reftable: write reftable files
  reftable: a generic binary tree implementation
  reftable: reading/writing blocks
  Provide zlib's uncompress2 from compat/zlib-compat.c
  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
  hash.h: provide constants for the hash IDs
</content>
</entry>
<entry>
<title>t6000-t9999: detect and signal failure within loop</title>
<updated>2021-12-13T18:29:48Z</updated>
<author>
<name>Eric Sunshine</name>
<email>sunshine@sunshineco.com</email>
</author>
<published>2021-12-09T05:11:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0c51d6b4aec9f1959d148960cb55155b676cec78'/>
<id>urn:sha1:0c51d6b4aec9f1959d148960cb55155b676cec78</id>
<content type='text'>
Failures within `for` and `while` loops can go unnoticed if not detected
and signaled manually since the loop itself does not abort when a
contained command fails, nor will a failure necessarily be detected when
the loop finishes since the loop returns the exit code of the last
command it ran on the final iteration, which may not be the command
which failed. Therefore, detect and signal failures manually within
loops using the idiom `|| return 1` (or `|| exit 1` within subshells).

Signed-off-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Reviewed-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>tests: fix broken &amp;&amp;-chains in `$(...)` command substitutions</title>
<updated>2021-12-13T18:29:48Z</updated>
<author>
<name>Eric Sunshine</name>
<email>sunshine@sunshineco.com</email>
</author>
<published>2021-12-09T05:11:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c576868eaff8cc4c7fb5cf8b787756b16fde268b'/>
<id>urn:sha1:c576868eaff8cc4c7fb5cf8b787756b16fde268b</id>
<content type='text'>
The top-level &amp;&amp;-chain checker built into t/test-lib.sh causes tests to
magically exit with code 117 if the &amp;&amp;-chain is broken. However, it has
the shortcoming that the magic does not work within `{...}` groups,
`(...)` subshells, `$(...)` substitutions, or within bodies of compound
statements, such as `if`, `for`, `while`, `case`, etc. `chainlint.sed`
partly fills in the gap by catching broken &amp;&amp;-chains in `(...)`
subshells, but bugs can still lurk behind broken &amp;&amp;-chains in the other
cases.

Fix broken &amp;&amp;-chains in `$(...)` command substitutions in order to
reduce the number of possible lurking bugs.

Signed-off-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Reviewed-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'yn/complete-date-format-options'</title>
<updated>2021-12-10T22:35:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-10T22:35:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4b1197ab5a74982fd09bda07d17325f1261975ee'/>
<id>urn:sha1:4b1197ab5a74982fd09bda07d17325f1261975ee</id>
<content type='text'>
The completion script (in contrib/) learns that the "--date"
option of commands from the "git log" family takes "human" and
"auto" as valid values.

* yn/complete-date-format-options:
  completion: add human and auto: date format
</content>
</entry>
<entry>
<title>Merge branch 'bc/require-c99'</title>
<updated>2021-12-10T22:35:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-12-10T22:35:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d67fc4bf0ba89835c61efd1279c732fc640b3b2d'/>
<id>urn:sha1:d67fc4bf0ba89835c61efd1279c732fc640b3b2d</id>
<content type='text'>
Weather balloon to break people with compilers that do not support
C99.

* bc/require-c99:
  git-compat-util: add a test balloon for C99 support
</content>
</entry>
</feed>
