diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2016-10-10 02:03:52 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2016-10-11 00:51:52 +0100 |
commit | 66a602dbe193353842441bc9ef49be8f9f565620 (patch) | |
tree | 1babcfeb8e04e65727f87f1875312935e231937d /dgit | |
parent | eb6ee3a3b44c0971ff09f656fe3c00066dda8910 (diff) |
dgit: When generating patch filenames from titles, first transliterate them (lossily) to ascii. Closes:#834807.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -4146,6 +4146,16 @@ sub quiltify ($$$$) { if (!defined $patchname) { $patchname = $title; $patchname =~ s/[.:]$//; + use Text::Iconv; + eval { + my $converter = new Text::Iconv qw(UTF-8 ASCII//TRANSLIT); + my $translitname = $converter->convert($patchname); + die unless defined $translitname; + $patchname = $translitname; + }; + print STDERR + "dgit: patch title transliteration error: $@" + if $@; $patchname =~ y/ A-Z/-a-z/; $patchname =~ y/-a-z0-9_.+=~//cd; $patchname =~ s/^\W/x-$&/; |