X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=Debian%2FDgit.pm;h=1bac97bde55d02a5cc00e0ba388348f7f8537012;hb=f93eae496d1ab8aebe85d9080c4e372ebe9b3715;hp=57ae99418a1fc79bc4e734d15b18a36f09b5f529;hpb=dc204aadf2b4afa84fd002597041fc9e5b981d83;p=dgit.git diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 57ae9941..1bac97bd 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -36,6 +36,7 @@ BEGIN { $VERSION = 1.00; @ISA = qw(Exporter); @EXPORT = qw(setup_sigwarn + dep14_version_mangle debiantags debiantag_old debiantag_new server_branch server_ref stat_exists link_ltarget @@ -144,16 +145,22 @@ sub debugcmd { printcmd(\*DEBUG,$debugprefix.$extraprefix,@_) if $debuglevel>0; } +sub dep14_version_mangle ($) { + my ($v) = @_; + # DEP-14 patch proposed 2016-11-09 "Version Mangling" + $v =~ y/~:/_%/; + $v =~ s/\.(?=\.|$|lock$)/.#/g; + return $v; +} + sub debiantag_old ($$) { my ($v,$distro) = @_; - $v =~ y/~:/_%/; - return "$distro/$v"; + return "$distro/". dep14_version_mangle $v; } sub debiantag_new ($$) { my ($v,$distro) = @_; - $v =~ y/~:/_%/; - return "archive/$distro/$v"; + return "archive/$distro/".dep14_version_mangle $v; } sub debiantags ($$) {