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;
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;
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:
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);
}
1;
+__END__
+
+=head1 DESCRIPTION
+
+This is the implementation of the F<git-codeowners> command.
+
+See L<git-codeowners> for documentation.
+
+=cut