summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-10 02:03:52 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2016-10-11 00:51:52 +0100
commit66a602dbe193353842441bc9ef49be8f9f565620 (patch)
tree1babcfeb8e04e65727f87f1875312935e231937d /dgit
parenteb6ee3a3b44c0971ff09f656fe3c00066dda8910 (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-xdgit10
1 files changed, 10 insertions, 0 deletions
diff --git a/dgit b/dgit
index 469f6bf..7a4b391 100755
--- a/dgit
+++ b/dgit
@@ -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-$&/;