<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git, branch v2.33.0-rc2</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=v2.33.0-rc2</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=v2.33.0-rc2'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2021-08-11T19:36:18Z</updated>
<entry>
<title>Git 2.33-rc2</title>
<updated>2021-08-11T19:36:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-08-11T18:54:03Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=5d213e46bb7b880238ff5ea3914e940a50ae9369'/>
<id>urn:sha1:5d213e46bb7b880238ff5ea3914e940a50ae9369</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jn/log-m-does-not-imply-p'</title>
<updated>2021-08-11T19:36:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-08-11T19:36:18Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=4c90d8908ac0c7ec9cd8d2caee7a1a0394636612'/>
<id>urn:sha1:4c90d8908ac0c7ec9cd8d2caee7a1a0394636612</id>
<content type='text'>
Earlier "git log -m" was changed to always produce patch output,
which would break existing scripts, which has been reverted.

* jn/log-m-does-not-imply-p:
  Revert 'diff-merges: let "-m" imply "-p"'
</content>
</entry>
<entry>
<title>Merge branch 'cb/many-alternate-optim-fixup'</title>
<updated>2021-08-11T19:36:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-08-11T19:36:17Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=7cfaa86fe6f61698752d13c59ac97a102d1fbaae'/>
<id>urn:sha1:7cfaa86fe6f61698752d13c59ac97a102d1fbaae</id>
<content type='text'>
Build fix.

* cb/many-alternate-optim-fixup:
  object-file: use unsigned arithmetic with bit mask
  object-store: avoid extra ';' from KHASH_INIT
  oidtree: avoid nested struct oidtree_node
</content>
</entry>
<entry>
<title>object-file: use unsigned arithmetic with bit mask</title>
<updated>2021-08-11T17:19:56Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-08-06T17:53:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=581a3bb155c157094ca486e3a10c4a9b70c8f650'/>
<id>urn:sha1:581a3bb155c157094ca486e3a10c4a9b70c8f650</id>
<content type='text'>
33f379eee6 (make object_directory.loose_objects_subdir_seen a bitmap,
2021-07-07) replaced a wasteful 256-byte array with a 32-byte array
and bit operations.  The mask calculation shifts a literal 1 of type
int left by anything between 0 and 31.  UndefinedBehaviorSanitizer
doesn't like that and reports:

object-file.c:2477:18: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

Make sure to use an unsigned 1 instead to avoid the issue.

Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Revert 'diff-merges: let "-m" imply "-p"'</title>
<updated>2021-08-09T20:52:01Z</updated>
<author>
<name>Jonathan Nieder</name>
<email>jrnieder@gmail.com</email>
</author>
<published>2021-08-06T01:45:23Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=6a38e33331560c3e84123c567f95de72d1cfa506'/>
<id>urn:sha1:6a38e33331560c3e84123c567f95de72d1cfa506</id>
<content type='text'>
This reverts commit f5bfcc823ba242a46e20fb6f71c9fbf7ebb222fe, which
made "git log -m" imply "--patch" by default.  The logic was that
"-m", which makes diff generation for merges perform a diff against
each parent, has no use unless I am viewing the diff, so we could save
the user some typing by turning on display of the resulting diff
automatically.  That wasn't expected to adversely affect scripts
because scripts would either be using a command like "git diff-tree"
that already emits diffs by default or would be combining -m with a
diff generation option such as --name-status.  By saving typing for
interactive use without adversely affecting scripts in the wild, it
would be a pure improvement.

The problem is that although diff generation options are only relevant
for the displayed diff, a script author can imagine them affecting
path limiting.  For example, I might run

	git log -w --format=%H -- README

hoping to list commits that edited README, excluding whitespace-only
changes.  In fact, a whitespace-only change is not TREESAME so the use
of -w here has no effect (since we don't apply these diff generation
flags to the diff_options struct rev_info::pruning used for this
purpose), but the documentation suggests that it should work

	Suppose you specified foo as the &lt;paths&gt;. We shall call
	commits that modify foo !TREESAME, and the rest TREESAME. (In
	a diff filtered for foo, they look different and equal,
	respectively.)

and a script author who has not tested whitespace-only changes
wouldn't notice.

Similarly, a script author could include

	git log -m --first-parent --format=%H -- README

to filter the first-parent history for commits that modified README.
The -m is a no-op but it reflects the script author's intent.  For
example, until 1e20a407fe2 (stash list: stop passing "-m" to "git
log", 2021-05-21), "git stash list" did this.

As a result, we can't safely change "-m" to imply "-p" without fear of
breaking such scripts.  Restore the previous behavior.

Noticed because Rust's src/bootstrap/bootstrap.py made use of this
same construct: https://github.com/rust-lang/rust/pull/87513.  That
script has been updated to omit the unnecessary "-m" option, but we
can expect other scripts in the wild to have similar expectations.

Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>object-store: avoid extra ';' from KHASH_INIT</title>
<updated>2021-08-09T16:01:30Z</updated>
<author>
<name>Carlo Marcelo Arenas Belón</name>
<email>carenas@gmail.com</email>
</author>
<published>2021-08-09T01:38:32Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=dd3c8a72a2eaecf0c752a37e1f4ba4de59818e93'/>
<id>urn:sha1:dd3c8a72a2eaecf0c752a37e1f4ba4de59818e93</id>
<content type='text'>
cf2dc1c238 (speed up alt_odb_usable() with many alternates, 2021-07-07)
introduces a KHASH_INIT invocation with a trailing ';', which while
commonly expected will trigger warnings with pedantic on both
clang[-Wextra-semi] and gcc[-Wpedantic], because that macro has already
a semicolon and is meant to be invoked without one.

while fixing the macro would be a worthy solution (specially considering
this is a common recurring problem), remove the extra ';' for now to
minimize churn.

Signed-off-by: Carlo Marcelo Arenas Belón &lt;carenas@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>oidtree: avoid nested struct oidtree_node</title>
<updated>2021-08-09T16:01:30Z</updated>
<author>
<name>Carlo Marcelo Arenas Belón</name>
<email>carenas@gmail.com</email>
</author>
<published>2021-08-09T01:38:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=14825944d7c57b6acd7e1a05a4c6046965efc6a5'/>
<id>urn:sha1:14825944d7c57b6acd7e1a05a4c6046965efc6a5</id>
<content type='text'>
92d8ed8ac1 (oidtree: a crit-bit tree for odb_loose_cache, 2021-07-07)
adds a struct oidtree_node that contains only an n field with a
struct cb_node.

unfortunately, while building in pedantic mode witch clang 12 (as well
as a similar error from gcc 11) it will show:

  oidtree.c:11:17: error: 'n' may not be nested in a struct due to flexible array member [-Werror,-Wflexible-array-extensions]
          struct cb_node n;
                         ^

because of a constrain coded in ISO C 11 6.7.2.1¶3 that forbids using
structs that contain a flexible array as part of another struct.

use a strict cb_node directly instead.

Signed-off-by: Carlo Marcelo Arenas Belón &lt;carenas@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Git 2.33-rc1</title>
<updated>2021-08-06T19:53:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-08-06T19:53:06Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=2d755dfac9aadab25c3e025b849252b8c0a61465'/>
<id>urn:sha1:2d755dfac9aadab25c3e025b849252b8c0a61465</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'cb/t7508-regexp-fix'</title>
<updated>2021-08-06T19:52:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-08-06T19:52:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=aa7d2fe3550762b8405734894faad4a5d1ab482c'/>
<id>urn:sha1:aa7d2fe3550762b8405734894faad4a5d1ab482c</id>
<content type='text'>
* cb/t7508-regexp-fix:
  t7508: avoid non POSIX BRE
</content>
</entry>
<entry>
<title>Merge branch 'ab/pickaxe-pcre2'</title>
<updated>2021-08-06T19:52:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-08-06T19:52:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=55194925e62b34a3f62b31034f73a6bcfb063bc5'/>
<id>urn:sha1:55194925e62b34a3f62b31034f73a6bcfb063bc5</id>
<content type='text'>
* ab/pickaxe-pcre2:
  diff: --pickaxe-all typofix
</content>
</entry>
</feed>
