]> Dogcows Code - chaz/git-codeowners/blobdiff - lib/App/Codeowners.pm
fix printing wide char with YAML formatter
[chaz/git-codeowners] / lib / App / Codeowners.pm
index 1dc97cc49dba3ead168ab5e4bd23e2865c0d0424..ac88f6184c91440656f7f9f83f4662953b01372b 100644 (file)
@@ -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<git-codeowners> command.
+
+See L<git-codeowners> for documentation.
+
+=cut
This page took 0.021786 seconds and 4 git commands to generate.