<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/send-pack.c, branch v2.37.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.37.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.37.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-10-25T23:06:58Z</updated>
<entry>
<title>Merge branch 'fs/ssh-signing'</title>
<updated>2021-10-25T23:06:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-25T23:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=18c6653da0be924f83415f987d76f6813b81f086'/>
<id>urn:sha1:18c6653da0be924f83415f987d76f6813b81f086</id>
<content type='text'>
Use ssh public crypto for object and push-cert signing.

* fs/ssh-signing:
  ssh signing: test that gpg fails for unknown keys
  ssh signing: tests for logs, tags &amp; push certs
  ssh signing: duplicate t7510 tests for commits
  ssh signing: verify signatures using ssh-keygen
  ssh signing: provide a textual signing_key_id
  ssh signing: retrieve a default key from ssh-agent
  ssh signing: add ssh key format and signing code
  ssh signing: add test prereqs
  ssh signing: preliminary refactoring and clean-up
</content>
</entry>
<entry>
<title>ssh signing: provide a textual signing_key_id</title>
<updated>2021-09-10T21:15:52Z</updated>
<author>
<name>Fabian Stelzer</name>
<email>fs@gigacodes.de</email>
</author>
<published>2021-09-10T20:07:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4838f62c8caffbfe5d7d39cad4e8aeb2a2d57da8'/>
<id>urn:sha1:4838f62c8caffbfe5d7d39cad4e8aeb2a2d57da8</id>
<content type='text'>
For ssh the user.signingkey can be a filename/path or even a literal ssh pubkey.
In push certs and textual output we prefer the ssh fingerprint instead.

Signed-off-by: Fabian Stelzer &lt;fs@gigacodes.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jt/push-negotiation-fixes'</title>
<updated>2021-08-24T22:32:40Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-08-24T22:32:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=066f6cd44707ca2f8c3dc2a2ae02c2c9784903bf'/>
<id>urn:sha1:066f6cd44707ca2f8c3dc2a2ae02c2c9784903bf</id>
<content type='text'>
Bugfix for common ancestor negotiation recently introduced in "git
push" code path.

* jt/push-negotiation-fixes:
  fetch: die on invalid --negotiation-tip hash
  send-pack: fix push nego. when remote has refs
  send-pack: fix push.negotiate with remote helper
</content>
</entry>
<entry>
<title>send-pack: fix push nego. when remote has refs</title>
<updated>2021-07-15T18:58:52Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2021-07-15T17:44:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=54a03bc7d9a7f264d511d88166afe8da7f75e90a'/>
<id>urn:sha1:54a03bc7d9a7f264d511d88166afe8da7f75e90a</id>
<content type='text'>
Commit 477673d6f3 ("send-pack: support push negotiation", 2021-05-05)
did not test the case in which a remote advertises at least one ref. In
such a case, "remote_refs" in get_commons_through_negotiation() in
send-pack.c would also contain those refs with a zero ref-&gt;new_oid (in
addition to the refs being pushed with a nonzero ref-&gt;new_oid). Passing
them as negotiation tips to "git fetch" causes an error, so filter them
out.

(The exact error that would happen in "git fetch" in this case is a
segmentation fault, which is unwanted. This will be fixed in the
subsequent commit.)

Signed-off-by: Jonathan Tan &lt;jonathantanmy@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>send-pack.c: move "no refs in common" abort earlier</title>
<updated>2021-06-30T21:57:22Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2021-06-30T16:38:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1e5b5ea5386121fd80c7fe1a05c4e3419584f3c2'/>
<id>urn:sha1:1e5b5ea5386121fd80c7fe1a05c4e3419584f3c2</id>
<content type='text'>
Move the early return if we have no remote refs in send_pack()
earlier.

When this was added in 4c353e890c0 (Warn when send-pack does nothing,
2005-12-04) one of the first things we'd do was to abort, but as of
cfee10a773b (send-pack/receive-pack: allow errors to be reported back
to pusher., 2005-12-25) we've added numerous server_supports()
conditions that are acted on later in the function, that won't be used
if we don't have remote refs.

Then as of 477673d6f39 (send-pack: support push negotiation,
2021-05-04) we started doing even more work on the assumption that we
had some remote refs to feed to --negotiation-tip=* options.

We only hit this condition if we have nothing to push, so we don't
need to consider "push.negotiate" etc. only to do nothing with that
information.

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>send-pack: support push negotiation</title>
<updated>2021-05-05T01:41:29Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2021-05-04T21:16:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=477673d6f39b4829baa98ad88d6b65b35b79fd0f'/>
<id>urn:sha1:477673d6f39b4829baa98ad88d6b65b35b79fd0f</id>
<content type='text'>
Teach Git the push.negotiate config variable.

Signed-off-by: Jonathan Tan &lt;jonathantanmy@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>use CALLOC_ARRAY</title>
<updated>2021-03-14T00:00:09Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-03-13T16:17:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ca56dadb4b65ccaeab809d80db80a312dc00941a'/>
<id>urn:sha1:ca56dadb4b65ccaeab809d80db80a312dc00941a</id>
<content type='text'>
Add and apply a semantic patch for converting code that open-codes
CALLOC_ARRAY to use it instead.  It shortens the code and infers the
element size automatically.

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>Merge branch 'js/trace2-session-id'</title>
<updated>2020-12-08T23:11:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-12-08T23:11:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=01b8886a62243c93cc57758bbaae08e11b09b9e1'/>
<id>urn:sha1:01b8886a62243c93cc57758bbaae08e11b09b9e1</id>
<content type='text'>
The transport layer was taught to optionally exchange the session
ID assigned by the trace2 subsystem during fetch/push transactions.

* js/trace2-session-id:
  receive-pack: log received client session ID
  send-pack: advertise session ID in capabilities
  upload-pack, serve: log received client session ID
  fetch-pack: advertise session ID in capabilities
  transport: log received server session ID
  serve: advertise session ID in v2 capabilities
  receive-pack: advertise session ID in v0 capabilities
  upload-pack: advertise session ID in v0 capabilities
  trace2: add a public function for getting the SID
  docs: new transfer.advertiseSID option
  docs: new capability to advertise session IDs
</content>
</entry>
<entry>
<title>Merge branch 'jk/stop-pack-objects-when-push-is-killed'</title>
<updated>2020-12-03T08:18:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-12-03T08:18:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=adae5df5d22d97888987d6e070a91a7b04289c6f'/>
<id>urn:sha1:adae5df5d22d97888987d6e070a91a7b04289c6f</id>
<content type='text'>
"git push" that is killed may leave a pack-objects process behind,
still computing to find a good compression, wasting cycles.  This
has been corrected.

* jk/stop-pack-objects-when-push-is-killed:
  send-pack: kill pack-objects helper on signal or exit
</content>
</entry>
<entry>
<title>send-pack: kill pack-objects helper on signal or exit</title>
<updated>2020-11-21T21:55:17Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2020-11-21T00:29:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8b59935114d9dafd737a7674ccf3787e7ffc61c9'/>
<id>urn:sha1:8b59935114d9dafd737a7674ccf3787e7ffc61c9</id>
<content type='text'>
We spawn an external pack-objects process to actually send
objects to the remote side. If we are killed by a signal
during this process, the pack-objects will keep running and
complete the push, which may surprise the user. We should
take it down when we go down.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
