<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin, branch v2.34.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.34.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.34.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-11-23T22:48:04Z</updated>
<entry>
<title>Merge branch 'ev/pull-already-up-to-date-is-noop' into maint</title>
<updated>2021-11-23T22:48:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-23T22:48:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ad03180c5cf233b2de6b7e3388d96d2126d7a5d9'/>
<id>urn:sha1:ad03180c5cf233b2de6b7e3388d96d2126d7a5d9</id>
<content type='text'>
"git pull" with any strategy when the other side is behind us
should succeed as it is a no-op, but doesn't.

* ev/pull-already-up-to-date-is-noop:
  pull: should be noop when already-up-to-date
</content>
</entry>
<entry>
<title>pull: should be noop when already-up-to-date</title>
<updated>2021-11-18T22:38:53Z</updated>
<author>
<name>Erwin Villejo</name>
<email>erwin.villejo@gmail.com</email>
</author>
<published>2021-11-17T07:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ea1954af771253660cd84dc73b8f2832327c9c02'/>
<id>urn:sha1:ea1954af771253660cd84dc73b8f2832327c9c02</id>
<content type='text'>
The already-up-to-date pull bug was fixed for --ff-only but it did not
include the case where --ff or --ff-only are not specified. This updates
the --ff-only fix to include the case where --ff or --ff-only are not
specified in command line flags or config.

Signed-off-by: Erwin Villejo &lt;erwin.villejo@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ab/fsck-unexpected-type'</title>
<updated>2021-11-12T23:29:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-12T23:29:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2c0fa66bc81a0725cd65fda69640552361536e50'/>
<id>urn:sha1:2c0fa66bc81a0725cd65fda69640552361536e50</id>
<content type='text'>
Regression fix.

* ab/fsck-unexpected-type:
  object-file: free(*contents) only in read_loose_object() caller
  object-file: fix SEGV on free() regression in v2.34.0-rc2
</content>
</entry>
<entry>
<title>object-file: free(*contents) only in read_loose_object() caller</title>
<updated>2021-11-11T21:40:43Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2021-11-11T05:18:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=16235e3b1460ddd708995b4cc5028e49d47e3761'/>
<id>urn:sha1:16235e3b1460ddd708995b4cc5028e49d47e3761</id>
<content type='text'>
In the preceding commit a free() of uninitialized memory regression in
96e41f58fe1 (fsck: report invalid object type-path combinations,
2021-10-01) was fixed, but we'd still have an issue with leaking
memory from fsck_loose(). Let's fix that issue too.

That issue was introduced in my 31deb28f5e0 (fsck: don't hard die on
invalid object types, 2021-10-01). It can be reproduced under
SANITIZE=leak with the test I added in 093fffdfbec (fsck tests: add
test for fsck-ing an unknown type, 2021-10-01):

    ./t1450-fsck.sh --run=84 -vixd

In some sense it's not a problem, we lost the same amount of memory in
terms of things malloc'd and not free'd. It just moved from the "still
reachable" to "definitely lost" column in valgrind(1) nomenclature[1],
since we'd have die()'d before.

But now that we don't hard die() anymore in the library let's properly
free() it. Doing so makes this code much easier to follow, since we'll
now have one function owning the freeing of the "contents" variable,
not two.

For context on that memory management pattern the read_loose_object()
function was added in f6371f92104 (sha1_file: add read_loose_object()
function, 2017-01-13) and subsequently used in c68b489e564 (fsck:
parse loose object paths directly, 2017-01-13). The pattern of it
being the task of both sides to free() the memory has been there in
this form since its inception.

1. https://valgrind.org/docs/manual/mc-manual.html#mc-manual.leaks

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ds/no-usable-cron-on-macos'</title>
<updated>2021-11-10T23:01:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-10T23:01:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c1d16cedd4024884064b9d0834cae4f5506d6221'/>
<id>urn:sha1:c1d16cedd4024884064b9d0834cae4f5506d6221</id>
<content type='text'>
"git maintenance run" learned to use system supplied scheduler
backend, but cron on macOS turns out to be unusable for this
purpose.

* ds/no-usable-cron-on-macos:
  maintenance: disable cron on macOS
</content>
</entry>
<entry>
<title>Merge branch 'jc/fix-pull-ff-only-when-already-up-to-date'</title>
<updated>2021-11-10T23:01:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-10T23:01:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7c7cf62c485f527bee6d3eb7e37dcfbf8064cab2'/>
<id>urn:sha1:7c7cf62c485f527bee6d3eb7e37dcfbf8064cab2</id>
<content type='text'>
"git pull --ff-only" and "git pull --rebase --ff-only" should make
it a no-op to attempt pulling from a remote that is behind us, but
instead the command errored out by saying it was impossible to
fast-forward, which may technically be true, but not a useful thing
to diagnose as an error.  This has been corrected.

* jc/fix-pull-ff-only-when-already-up-to-date:
  pull: --ff-only should make it a noop when already-up-to-date
</content>
</entry>
<entry>
<title>maintenance: disable cron on macOS</title>
<updated>2021-11-10T19:20:20Z</updated>
<author>
<name>Derrick Stolee</name>
<email>dstolee@microsoft.com</email>
</author>
<published>2021-11-10T18:35:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=689a2aa719c1e08e501a11c6c22b6697b30efdd9'/>
<id>urn:sha1:689a2aa719c1e08e501a11c6c22b6697b30efdd9</id>
<content type='text'>
In eba1ba9 (maintenance: `git maintenance run` learned
`--scheduler=&lt;scheduler&gt;`, 2021-09-04), we introduced the ability to
specify a scheduler explicitly. This led to some extra checks around
whether an alternative scheduler was available. This added the
functionality of removing background maintenance from schedulers other
than the one selected.

On macOS, cron is technically available, but running 'crontab' triggers
a UI prompt asking for special permissions. This is the major reason why
launchctl is used as the default scheduler. The is_crontab_available()
method triggers this UI prompt, causing user disruption.

Remove this disruption by using an #ifdef to prevent running crontab
this way on macOS. This has the unfortunate downside that if a user
manually selects cron via the '--scheduler' option, then adjusting the
scheduler later will not remove the schedule from cron. The
'--scheduler' option ignores the is_available checks, which is how we
can get into this situation.

Extract the new check_crontab_process() method to avoid making the
'child' variable unused on macOS. The method is marked MAYBE_UNUSED
because it has no callers on macOS.

Signed-off-by: Derrick Stolee &lt;dstolee@microsoft.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ar/fix-git-pull-no-verify'</title>
<updated>2021-11-04T19:07:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-04T19:07:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a876f0b95c95d58436045454ea7c8b51c5f96c2e'/>
<id>urn:sha1:a876f0b95c95d58436045454ea7c8b51c5f96c2e</id>
<content type='text'>
"git pull --no-verify" did not affect the underlying "git merge".

* ar/fix-git-pull-no-verify:
  pull: honor --no-verify and do not call the commit-msg hook
</content>
</entry>
<entry>
<title>Merge branch 'jx/message-fixes'</title>
<updated>2021-11-03T20:32:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-03T20:32:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e2a33ef9e280def6f593b6dc7b9d07421c35b3db'/>
<id>urn:sha1:e2a33ef9e280def6f593b6dc7b9d07421c35b3db</id>
<content type='text'>
Fixes to recently added messages.

* jx/message-fixes:
  i18n: fix typos found during l10n for git 2.34.0
</content>
</entry>
<entry>
<title>Merge branch 'gc/use-repo-settings'</title>
<updated>2021-11-01T20:48:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-11-01T20:48:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7afb458e9108632b7b9c32b08bfd7bca088e610c'/>
<id>urn:sha1:7afb458e9108632b7b9c32b08bfd7bca088e610c</id>
<content type='text'>
It is wrong to read some settings directly from the config
subsystem, as things like feature.experimental can affect their
default values.

* gc/use-repo-settings:
  gc: perform incremental repack when implictly enabled
  fsck: verify multi-pack-index when implictly enabled
  fsck: verify commit graph when implicitly enabled
</content>
</entry>
</feed>
