From: Christian Walde Date: Sun, 29 May 2011 21:32:49 +0000 (+0200) Subject: I18N::Langinfo is not available on Win32 X-Git-Tag: 0.003005~8 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FGitalist.git;a=commitdiff_plain;h=8221d7e12a866ef9c26b6259900a0fcf32a4b528 I18N::Langinfo is not available on Win32 --- diff --git a/lib/Gitalist/Git/Repository.pm b/lib/Gitalist/Git/Repository.pm index 602126b..fca63dc 100644 --- a/lib/Gitalist/Git/Repository.pm +++ b/lib/Gitalist/Git/Repository.pm @@ -11,7 +11,8 @@ class Gitalist::Git::Repository with (Gitalist::Git::HasUtils, Gitalist::Git::Se use aliased 'DateTime' => 'DT'; use List::MoreUtils qw/any zip/; use Encode qw/decode/; - use I18N::Langinfo qw/langinfo CODESET/; + + use if $^O ne 'MSWin32' => 'I18N::Langinfo', qw/langinfo CODESET/; use Gitalist::Git::Object::Blob; use Gitalist::Git::Object::Tree; @@ -224,7 +225,9 @@ class Gitalist::Git::Repository with (Gitalist::Git::HasUtils, Gitalist::Git::Se } method _build_owner { - my ($gecos, $name) = map { decode(langinfo(CODESET), $_) } (getpwuid $self->path->stat->uid)[6,0]; + return 'system' if $^O =~ 'MSWin32'; + + my ($gecos, $name) = map { decode(langinfo(CODESET()), $_) } (getpwuid $self->path->stat->uid)[6,0]; $gecos =~ s/,+$//; return length($gecos) ? $gecos : $name; } diff --git a/t/02git_Repository.t b/t/02git_Repository.t index 885a490..d77dd23 100644 --- a/t/02git_Repository.t +++ b/t/02git_Repository.t @@ -16,7 +16,7 @@ use Data::Dumper; BEGIN { # Mocking to allow testing regardless of the user's locale - require I18N::Langinfo; + require I18N::Langinfo if $^O ne 'MSWin32'; no warnings 'redefine'; *I18N::Langinfo::langinfo = sub($) { return "UTF-8" if $_[0] == I18N::Langinfo::CODESET();