X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=lib%2FApp%2FCodeowners.pm;h=ac88f6184c91440656f7f9f83f4662953b01372b;hb=1c893b7e095fdaffdf47ffee426407a1f7e305fb;hp=1dc97cc49dba3ead168ab5e4bd23e2865c0d0424;hpb=3c7ed3d762399efb2d01121392f7115104095788;p=chaz%2Fgit-codeowners diff --git a/lib/App/Codeowners.pm b/lib/App/Codeowners.pm index 1dc97cc..ac88f61 100644 --- a/lib/App/Codeowners.pm +++ b/lib/App/Codeowners.pm @@ -10,7 +10,6 @@ use App::Codeowners::Formatter; use App::Codeowners::Options; use App::Codeowners::Util qw(find_codeowners_in_directory run_git git_ls_files git_toplevel); use Color::ANSI::Util 0.03 qw(ansifg); -use Encode qw(encode); use File::Codeowners; use Path::Tiny; @@ -36,6 +35,8 @@ sub main { my $command = $opts->command; my $handler = $self->can("_command_$command") or die "Unknown command: $command\n"; + + binmode(STDOUT, ':encoding(UTF-8)'); $self->$handler($opts); exit 0; @@ -184,7 +185,7 @@ sub _command_update { my $template = <<'END'; This file shows mappings between subdirs/files and the individuals and teams who own them. You can read this file yourself or use tools to query it, - so you can quickly determine who to speak with or send pull requests to. ❤️ + so you can quickly determine who to speak with or send pull requests to. Simply write a gitignore pattern followed by one or more names/emails/groups. Examples: @@ -201,11 +202,10 @@ END if ($repopath) { # if there is a repo we can try to update the list of unowned files - my $git_files = git_ls_files($repopath); - if (@$git_files) { - $codeowners->clear_unowned; - $codeowners->add_unowned(grep { !$codeowners->match($_) } @$git_files); - } + my ($proc, @filepaths) = git_ls_files($repopath); + $proc->wait and exit 1; + $codeowners->clear_unowned; + $codeowners->add_unowned(grep { !$codeowners->match($_) } @filepaths); } $codeowners->write_to_filepath($path); @@ -213,3 +213,12 @@ END } 1; +__END__ + +=head1 DESCRIPTION + +This is the implementation of the F command. + +See L for documentation. + +=cut