<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-cvsserver.perl, branch jch</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=jch</id>
<link rel='self' href='https://git.shady.money/git/atom?h=jch'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2025-05-27T15:25:08Z</updated>
<entry>
<title>cvsserver: remove unused escapeRefName function</title>
<updated>2025-05-27T15:25:08Z</updated>
<author>
<name>Ondřej Pohořelský</name>
<email>opohorel@redhat.com</email>
</author>
<published>2025-05-26T13:48:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=67cae845d21d3ca0dbdb51ecebb695b175fd1c8e'/>
<id>urn:sha1:67cae845d21d3ca0dbdb51ecebb695b175fd1c8e</id>
<content type='text'>
Function 'escapeRefName' introduced in 51a7e6dbc9 has never been used.

Despite being dead code, changes in Perl 5.41.4 exposed precedence
warning within its logic, which then caused test failures in t9402 by
logging the warnings to stderr while parsing the code. The affected
tests are t9402.30, t9402.31, t9402.32 and t9402.34.

Remove this unused function to simplify the codebase and stop the
warnings and test failures. Its corresponding unescapeRefName function,
which remains in use, has had its comments updated.

Reported-by: Jitka Plesnikova &lt;jplesnik@redhat.com&gt;
Signed-off-by: Ondřej Pohořelský &lt;opohorel@redhat.com&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='https://git.shady.money/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>Require Perl 5.26.0</title>
<updated>2024-10-23T20:16:36Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2024-10-23T00:45:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=702d8c1f3b5377a64670b0f22add157b0bfc33dd'/>
<id>urn:sha1:702d8c1f3b5377a64670b0f22add157b0bfc33dd</id>
<content type='text'>
Our platform support policy states that we require "versions of
dependencies which are generally accepted as stable and supportable,
e.g., in line with the version used by other long-term-support
distributions".  Of Debian, Ubuntu, RHEL, and SLES, the four most common
distributions that provide LTS versions, the version with mainstream
long-term security support with the oldest Perl is 5.26.0 in SLES 15.6.

This is a major upgrade, since Perl 5.8.1, according to the Perl
documentation, was released in September of 2003.  It brings a lot of
new features that we can choose to use, such as s///r to return the
modified string, the postderef functionality, and subroutine signatures,
although the latter was still considered experimental until 5.36.

This change was made with the following one-liner, which intentionally
excludes modifying the vendored modules we include to avoid conflicts:

    git grep -l 'use 5.008001' | grep -v 'LoadCPAN/' | xargs perl -pi -e 's/use 5.008001/require v5.26/'

Use require instead of use to avoid changing the behavior as the latter
enables features and the former does not.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Taylor Blau &lt;me@ttaylorr.com&gt;
</content>
</entry>
<entry>
<title>perl: bump the required Perl version to 5.8.1 from 5.8.0</title>
<updated>2023-11-16T22:26:32Z</updated>
<author>
<name>Todd Zullinger</name>
<email>tmz@pobox.com</email>
</author>
<published>2023-11-16T19:30:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d13a73e383076636534e10ba799af0c9a2b85357'/>
<id>urn:sha1:d13a73e383076636534e10ba799af0c9a2b85357</id>
<content type='text'>
The following commit will make use of a Getopt::Long feature which is
only present in Perl &gt;= 5.8.1.  Document that as the minimum version we
support.

Many of our Perl scripts will continue to run with 5.8.0 but this change
allows us to adjust them as needed without breaking any promises to our
users.

The Perl requirement was last changed in d48b284183 (perl: bump the
required Perl version to 5.8 from 5.6.[21], 2010-09-24).  At that time,
5.8.0 was 8 years old.  It is now over 21 years old.

Signed-off-by: Todd Zullinger &lt;tmz@pobox.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-cvsserver: clarify directory list</title>
<updated>2022-07-19T19:45:31Z</updated>
<author>
<name>Derrick Stolee</name>
<email>derrickstolee@github.com</email>
</author>
<published>2022-07-19T18:32:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=acc5e287f2cce46402abd614b53de5f096ee349f'/>
<id>urn:sha1:acc5e287f2cce46402abd614b53de5f096ee349f</id>
<content type='text'>
The documentation and error messages for git-cvsserver include some
references to a "whitelist" that is not otherwise included in the
documentation. When different parts of the documentation do not use
common language, this can lead to confusion as to how things are meant
to operate.

Further, the word "whitelist" has cultural implications that make its
use non-inclusive. Thankfully, we can remove it while increasing
clarity.

Update Documentation/git-cvsserver.txt in a similar way to the previous
change to Documentation/git-daemon.txt. The optional '&lt;directory&gt;...'
list can specify a list of allowed directories. We refer to that list
directly inside of the documentation for the GIT_CVSSERVER_ROOT
environment variable.

While modifying this documentation, update the environment variables to
use a list format. We use the modern way of tabbing the description of
each variable in this section. We do _not_ update the description of
'&lt;directory&gt;...' to use tabs this way since the rest of the items in the
OPTIONS list do not use this modern formatting.

A single error message in the actual git-cvsserver.perl code refers to
the whitelist during argument parsing. Instead, refer to the directory
list that has been clarified in the documentation.

Signed-off-by: Derrick Stolee &lt;derrickstolee@github.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>tests: disable fsync everywhere</title>
<updated>2021-10-29T17:22:40Z</updated>
<author>
<name>Eric Wong</name>
<email>e@80x24.org</email>
</author>
<published>2021-10-29T00:15:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=412e4caee387d825903bf1252aefbd5cf995a599'/>
<id>urn:sha1:412e4caee387d825903bf1252aefbd5cf995a599</id>
<content type='text'>
The "GIT_TEST_FSYNC" environment variable now exists for
disabling fsync() even on packfiles and other "critical" data.

Running "make test -j8 NO_SVN_TESTS=1" on a noisy 8-core system
on an HDD, test runtime drops from ~4 minutes down to ~3 minutes.
Using "GIT_TEST_FSYNC=1" re-enables fsync() for comparison
purposes.

SVN interopability tests are minimally affected since SVN will
still use fsync in various places.

This will also be useful for 3rd-party tools which create
throwaway git repositories of temporary data, but remains
undocumented for end users.

Signed-off-by: Eric Wong &lt;e@80x24.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-cvsserver: protect against NULL in crypt(3)</title>
<updated>2021-09-17T03:47:23Z</updated>
<author>
<name>Carlo Marcelo Arenas Belón</name>
<email>carenas@gmail.com</email>
</author>
<published>2021-09-15T08:09:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bffcb4d9d6394a68a7f6c03598087705c6d34510'/>
<id>urn:sha1:bffcb4d9d6394a68a7f6c03598087705c6d34510</id>
<content type='text'>
Some versions of crypt(3) will return NULL when passed an unsupported
hash type (ex: OpenBSD with DES), so check for undef instead of using
it directly.

Also use this to probe the system and select a better hash function in
the tests, so it can pass successfully.

Signed-off-by: Carlo Marcelo Arenas Belón &lt;carenas@gmail.com&gt;
[jc: &lt;CAPUEspjqD5zy8TLuFA96usU7FYi=0wF84y7NgOVFqegtxL9zbw@mail.gmail.com&gt;]
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-cvsserver: use crypt correctly to compare password hashes</title>
<updated>2021-09-16T22:06:24Z</updated>
<author>
<name>Carlo Marcelo Arenas Belón</name>
<email>carenas@gmail.com</email>
</author>
<published>2021-09-15T08:09:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a7775c7eb8074fcf37f22bdcdc0971448c1aa4d1'/>
<id>urn:sha1:a7775c7eb8074fcf37f22bdcdc0971448c1aa4d1</id>
<content type='text'>
c057bad370 (git-cvsserver: use a password file cvsserver pserver,
2010-05-15) adds a way for `git cvsserver` to provide authenticated
pserver accounts without having clear text passwords, but uses the
username instead of the password to the call for crypt(3).

Correct that, and make sure the documentation correctly indicates how
to obtain hashed passwords that could be used to populate this
configuration, as well as correcting the hash that was used for the
tests.

This change will require that any user of this feature updates the
hashes in their configuration, but has the advantage of using a more
similar format than cvs uses, probably also easying any migration.

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>*: fix typos which duplicate a word</title>
<updated>2021-06-14T01:16:06Z</updated>
<author>
<name>Andrei Rybak</name>
<email>rybak.a.v@gmail.com</email>
</author>
<published>2021-06-11T11:18:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=abcb66c614c574cfa1afccb230bf22cbde4d5557'/>
<id>urn:sha1:abcb66c614c574cfa1afccb230bf22cbde4d5557</id>
<content type='text'>
Fix typos in documentation, code comments, and RelNotes which repeat
various words.  In trivial cases, just delete the duplicated word and
rewrap text, if needed.  Reword the affected sentence in
Documentation/RelNotes/1.8.4.txt for it to make sense.

Signed-off-by: Andrei Rybak &lt;rybak.a.v@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-cvsserver: port to SHA-256</title>
<updated>2020-06-22T18:21:07Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2020-06-22T18:04:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=05ea93d6b2bfb9a45a9019a5cfaba82dc81dc2f3'/>
<id>urn:sha1:05ea93d6b2bfb9a45a9019a5cfaba82dc81dc2f3</id>
<content type='text'>
The code of git-cvsserver currently has several hard-coded 20 and 40
constants that are the length of SHA-1.  When parsing the configuration
file, read the extensions.objectformat configuration setting as well as
CVS-related ones and adjust the hash sizes accordingly.  Use these
computed values in all the places we match object IDs.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Acked-by: Eric Wong &lt;e@80x24.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
