<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-request-pull.sh, branch main</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2025-04-16T14:30:29Z</updated>
<entry>
<title>request-pull: stop depending on Perl</title>
<updated>2025-04-16T14:30:29Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2025-04-16T12:16:08Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=76042228f20bd9b97a7454b62c70b28117c351c0'/>
<id>urn:sha1:76042228f20bd9b97a7454b62c70b28117c351c0</id>
<content type='text'>
While git-request-pull(1) is written as a shell script, for it to
function we depend on Perl being available. The script gets installed
unconditionally though, regardless of whether or not Perl is even
available on the system. When it's not available, the `@PERL_PATH@`
variable may be substituted with a nonexistent executable path and thus
cause the script to fail.

Refactor the script so that it does not depend on Perl at all anymore.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Makefile: consistently use PERL_PATH</title>
<updated>2024-12-06T22:52:09Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-12-06T13:24:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c2a3b847eda3b51973998c1fa0a8749eb7e686b9'/>
<id>urn:sha1:c2a3b847eda3b51973998c1fa0a8749eb7e686b9</id>
<content type='text'>
When injecting the Perl path into our scripts we sometimes use '@PERL@'
while we othertimes use '@PERL_PATH@'. Refactor the code use the latter
consistently, which makes it easier to reuse the same logic for multiple
scripts.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Makefile: consistently use @PLACEHOLDER@ to substitute</title>
<updated>2024-12-06T22:52:08Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2024-12-06T13:24:37Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=dbe46c0feb25417d01267bb97edb861694ed023d'/>
<id>urn:sha1:dbe46c0feb25417d01267bb97edb861694ed023d</id>
<content type='text'>
We have a bunch of placeholders in our scripts that we replace at build
time, for example by using sed(1). These placeholders come in three
different formats: @PLACEHOLDER@, @@PLACEHOLDER@@ and ++PLACEHOLDER++.

Next to being inconsistent it also creates a bit of a problem with
CMake, which only supports the first syntax in its `configure_file()`
function. To work around that we instead manually replace placeholders
via string operations, which is a hassle and removes safeguards that
CMake has to verify that we didn't forget to replace any placeholders.
Besides that, other build systems like Meson also support the CMake
syntax.

Unify our codebase to consistently use the syntax supported by such
build systems.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>request-pull: filter out SSH/X.509 tag signatures</title>
<updated>2023-01-25T23:54:41Z</updated>
<author>
<name>Gwyneth Morgan</name>
<email>gwymor@tilde.club</email>
</author>
<published>2023-01-25T23:47:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=a9cad02538a8e0518f000ad99099193d764fe795'/>
<id>urn:sha1:a9cad02538a8e0518f000ad99099193d764fe795</id>
<content type='text'>
git request-pull filters PGP signatures out of the tag message, but not
SSH or X.509 signatures.

Signed-off-by: Gwyneth Morgan &lt;gwymor@tilde.club&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>request-pull: warn if the remote object is not the same as the local one</title>
<updated>2019-05-28T20:06:25Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2019-05-28T10:15:43Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=0454220d66581f28b9688bc1b687f52cb9561798'/>
<id>urn:sha1:0454220d66581f28b9688bc1b687f52cb9561798</id>
<content type='text'>
In some cases, git request-pull might be invoked with remote and
local objects that differ even though they point to the same commit.
For example, the remote object might be a lightweight tag
vs. an annotated tag on the local side; or the user might have
reworded the tag locally and forgotten to push it.

When this happens git-request-pull will not warn, because it only
checks that "git ls-remote" returns an SHA1 that matches the local
commit (known as $headrev in the script).  This patch makes
git-request-pull retrieve the tag object SHA1 while processing
the "git ls-remote" output, so that it can be matched against the
local object.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>request-pull: quote regex metacharacters in local ref</title>
<updated>2019-05-28T20:06:21Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2019-05-28T10:15:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=5731dfce06a19f59aa1be2bd2120584864d8983b'/>
<id>urn:sha1:5731dfce06a19f59aa1be2bd2120584864d8983b</id>
<content type='text'>
The local part of the third argument of git-request-pull is used in
a regular expression without quoting it.  Use qr{} and \Q\E to ensure
that e.g. a period in a tag name does not match any character on the
remote side.

Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>request-pull: capitalise "Git" to make it a proper noun</title>
<updated>2017-10-03T04:11:57Z</updated>
<author>
<name>Ann T Ropea</name>
<email>bedhanger@gmx.de</email>
</author>
<published>2017-10-03T00:08:38Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=e66d7c37a5f123f1dcede06ac0e11f9254c3ef46'/>
<id>urn:sha1:e66d7c37a5f123f1dcede06ac0e11f9254c3ef46</id>
<content type='text'>
Of the many ways to spell the three-letter word, the variant "Git"
should be used when referring to a repository in a description; or, in
general, when it is used as a proper noun.

We thus change the pull-request template message so that it reads

   "...in the Git repository at:"

Besides, this brings us in line with the documentation, see
Documentation/howto/using-signed-tag-in-pull-request.txt

Signed-off-by: Ann T Ropea &lt;bedhanger@gmx.de&gt;
Acked-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Reviewed-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>request-pull: drop old USAGE stuff</title>
<updated>2017-01-16T00:23:23Z</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa@the-dreams.de</email>
</author>
<published>2017-01-15T17:46:35Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=c68d2d7c2b9e68a469780f5556719ec1f1d95cf3'/>
<id>urn:sha1:c68d2d7c2b9e68a469780f5556719ec1f1d95cf3</id>
<content type='text'>
request-pull uses OPTIONS_SPEC, so no need for (meanwhile incomplete)
USAGE and LONG_USAGE anymore.

Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'lt/request-pull'</title>
<updated>2014-05-19T17:35:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-05-19T17:35:36Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=7dde48ea7aa18de1174628e21510967b0ad71d7c'/>
<id>urn:sha1:7dde48ea7aa18de1174628e21510967b0ad71d7c</id>
<content type='text'>
* lt/request-pull:
  request-pull: resurrect for-linus -&gt; tags/for-linus DWIM
</content>
</entry>
<entry>
<title>request-pull: resurrect for-linus -&gt; tags/for-linus DWIM</title>
<updated>2014-05-16T17:18:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-05-16T17:18:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=d952cbb1908b54c6a04f37c8b0924a49cdb5997d'/>
<id>urn:sha1:d952cbb1908b54c6a04f37c8b0924a49cdb5997d</id>
<content type='text'>
Older versions of Git before v1.7.10 did not DWIM

    $ git pull $URL for-linus

to the tag "tags/for-linus" and the users were required to say

    $ git pull $URL tags/for-linus

instead.  Because newer versions of Git works either way,
request-pull used to show tags/for-linus when asked

    $ git request-pull origin/master $URL for-linus

The recent updates broke this and in the output we see "for-linus"
without the "tags/" prefix.

As v1.7.10 is more than 2 years old, this should matter very little
in practice, but resurrecting it is very simple.

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