From 8d22b26f24c55545709023bc6df9a7136713f9d4 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 28 Nov 2022 05:31:52 +0000 Subject: lei_mirror: make basename more descriptive This makes it easier for humans to distinguish between "Alice/project.git" and "Bob/project.git" --- lib/PublicInbox/LeiMirror.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/PublicInbox') diff --git a/lib/PublicInbox/LeiMirror.pm b/lib/PublicInbox/LeiMirror.pm index 28fef6f9..3220f48d 100644 --- a/lib/PublicInbox/LeiMirror.pm +++ b/lib/PublicInbox/LeiMirror.pm @@ -386,8 +386,11 @@ sub forkgroup_prep { } } my $key = $self->{-key} // die 'BUG: no -key'; - my ($bn) = ($key =~ m{/([a-z0-9_,;=!\+\{\}\|][^/]*)(?:\.git)?\z}i); - my $rn = "$bn-".substr(sha256_hex($key), 0, 16); + my $rn = $key; + $rn =~ s!\A[\./]+!!s; + $rn =~ s/\.*?(?:\.git)?\.*?\z//s; + $rn =~ s![\@\{\}/:\?\[\]\^~\s\f[:cntrl:]\*]!_!isg; + $rn .= '-'.substr(sha256_hex($key), 0, 16); # --no-tags is required to avoid conflicts for ("url=$uri", "fetch=+refs/*:refs/remotes/$rn/*", 'tagopt=--no-tags') { -- cgit v1.2.3-24-ge0c7