From: "Ondřej Pohořelský via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Ondřej Pohořelský" <opohorel@redhat.com>,
"Ondřej Pohořelský" <opohorel@redhat.com>
Subject: [PATCH v4] cvsserver: remove unused escapeRefName function
Date: Mon, 26 May 2025 13:48:25 +0000 [thread overview]
Message-ID: <pull.1925.v4.git.1748267305871.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1925.v3.git.1747913206622.gitgitgadget@gmail.com>
From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= <opohorel@redhat.com>
Function 'escapeRefName' introduced in 51a7e6dbc9 has never been used.
Despite being dead code, changes in Perl 5.41.4 exposed precedence
warning withing 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 <jplesnik@redhat.com>
Signed-off-by: Ondřej Pohořelský <opohorel@redhat.com>
---
cvsserver: avoid precedence problem between ! and %s
cc: "Kristoffer Haugsbakk" kristofferhaugsbakk@fastmail.com cc: "brian
m. carlson" sandals@crustytoothpaste.net cc: Jeff King peff@peff.net cc:
Todd Zullinger tmz@pobox.com cc: Matthew Ogilvie mmogilvi+git@zoho.com
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1925%2Fopohorel%2Fcvsserver_parentheses-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1925/opohorel/cvsserver_parentheses-v4
Pull-Request: https://github.com/gitgitgadget/git/pull/1925
Range-diff vs v3:
1: b7563182492 ! 1: ce853594ceb cvsserver: avoid precedence problem between ! and %s
@@ Metadata
Author: Ondřej Pohořelský <opohorel@redhat.com>
## Commit message ##
- cvsserver: avoid precedence problem between ! and %s
+ cvsserver: remove unused escapeRefName function
- With perl-5.41.4 and newer, test t9402-git-cvsserver-refs.sh
- (specifically t9402.30, t9402.31, t9402.32, t9402.34) fails, because
- of the new warnings[0] populating cvs.log.
+ Function 'escapeRefName' introduced in 51a7e6dbc9 has never been used.
- Use the 'does not match' operator '!~' directly to express the
- negated pattern match, resolving the precedence issue.
+ Despite being dead code, changes in Perl 5.41.4 exposed precedence
+ warning withing 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.
- [0] https://metacpan.org/release/ETHER/perl-5.41.12/view/pod/perl5414delta.pod#New-Warnings
+ 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 <jplesnik@redhat.com>
- Suggested-by: Jitka Plesnikova <jplesnik@redhat.com>
Signed-off-by: Ondřej Pohořelský <opohorel@redhat.com>
## git-cvsserver.perl ##
+@@ git-cvsserver.perl: sub gethistorydense
+ return $result;
+ }
+
+-=head2 escapeRefName
++=head2 unescapeRefName
+
+-Apply an escape mechanism to compensate for characters that
++Undo an escape mechanism to compensate for characters that
+ git ref names can have that CVS tags can not.
+
+ =cut
+-sub escapeRefName
++sub unescapeRefName
+ {
+ my($self,$refName)=@_;
+
@@ git-cvsserver.perl: sub escapeRefName
# = "_-xx-" Where "xx" is the hexadecimal representation of the
# desired ASCII character byte. (for anything else)
- if(! $refName=~/^[1-9][0-9]*(\.[1-9][0-9]*)*$/)
-+ if ($refName !~ /^[1-9][0-9]*(\.[1-9][0-9]*)*$/)
- {
- $refName=~s/_-/_-u--/g;
- $refName=~s/\./_-p-/g;
+- {
+- $refName=~s/_-/_-u--/g;
+- $refName=~s/\./_-p-/g;
+- $refName=~s%/%_-s-%g;
+- $refName=~s/[^-_a-zA-Z0-9]/sprintf("_-%02x-",$1)/eg;
+- }
+-}
+-
+-=head2 unescapeRefName
+-
+-Undo an escape mechanism to compensate for characters that
+-git ref names can have that CVS tags can not.
+-
+-=cut
+-sub unescapeRefName
+-{
+- my($self,$refName)=@_;
+-
+- # see escapeRefName() for description of escape mechanism.
+-
+ $refName=~s/_-([spu]|[0-9a-f][0-9a-f])-/unescapeRefNameChar($1)/eg;
+
+ # allowed tag names
git-cvsserver.perl | 27 +++------------------------
1 file changed, 3 insertions(+), 24 deletions(-)
diff --git a/git-cvsserver.perl b/git-cvsserver.perl
index a4e1bad33ca..d8d5422cbca 100755
--- a/git-cvsserver.perl
+++ b/git-cvsserver.perl
@@ -4986,13 +4986,13 @@ sub gethistorydense
return $result;
}
-=head2 escapeRefName
+=head2 unescapeRefName
-Apply an escape mechanism to compensate for characters that
+Undo an escape mechanism to compensate for characters that
git ref names can have that CVS tags can not.
=cut
-sub escapeRefName
+sub unescapeRefName
{
my($self,$refName)=@_;
@@ -5009,27 +5009,6 @@ sub escapeRefName
# = "_-xx-" Where "xx" is the hexadecimal representation of the
# desired ASCII character byte. (for anything else)
- if(! $refName=~/^[1-9][0-9]*(\.[1-9][0-9]*)*$/)
- {
- $refName=~s/_-/_-u--/g;
- $refName=~s/\./_-p-/g;
- $refName=~s%/%_-s-%g;
- $refName=~s/[^-_a-zA-Z0-9]/sprintf("_-%02x-",$1)/eg;
- }
-}
-
-=head2 unescapeRefName
-
-Undo an escape mechanism to compensate for characters that
-git ref names can have that CVS tags can not.
-
-=cut
-sub unescapeRefName
-{
- my($self,$refName)=@_;
-
- # see escapeRefName() for description of escape mechanism.
-
$refName=~s/_-([spu]|[0-9a-f][0-9a-f])-/unescapeRefNameChar($1)/eg;
# allowed tag names
base-commit: cb96e1697ad6e54d11fc920c95f82977f8e438f8
--
gitgitgadget
next prev parent reply other threads:[~2025-05-26 13:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-21 7:45 [PATCH] cvsserver: avoid precedence problem between ! and %s Ondřej Pohořelský via GitGitGadget
2025-05-21 7:53 ` Kristoffer Haugsbakk
2025-05-21 10:23 ` [PATCH v2] " Ondřej Pohořelský via GitGitGadget
2025-05-21 15:54 ` Junio C Hamano
2025-05-21 16:02 ` Junio C Hamano
2025-05-21 17:03 ` Junio C Hamano
2025-05-22 7:19 ` Ondrej Pohorelsky
2025-05-22 15:55 ` Junio C Hamano
2025-05-22 17:05 ` Jeff King
2025-05-22 17:56 ` Todd Zullinger
2025-05-22 18:51 ` Junio C Hamano
2025-05-23 4:47 ` Matthew Ogilvie
2025-05-23 15:48 ` Junio C Hamano
2025-05-26 13:56 ` Ondrej Pohorelsky
2025-05-27 15:52 ` Junio C Hamano
2025-05-22 11:26 ` [PATCH v3] " Ondřej Pohořelský via GitGitGadget
2025-05-26 13:48 ` Ondřej Pohořelský via GitGitGadget [this message]
2025-05-27 15:24 ` [PATCH v4] cvsserver: remove unused escapeRefName function Junio C Hamano
2025-05-21 14:58 ` [PATCH] cvsserver: avoid precedence problem between ! and %s Junio C Hamano
2025-05-21 21:48 ` brian m. carlson
2025-05-22 7:31 ` Ondrej Pohorelsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1925.v4.git.1748267305871.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=opohorel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).