]> Dogcows Code - chaz/git-codeowners/blob - bin/git-codeowners
initial commit
[chaz/git-codeowners] / bin / git-codeowners
1 #! perl
2 # ABSTRACT: A tool for managing CODEOWNERS files
3 # PODNAME: git-codeowners
4
5 =head1 SYNOPSIS
6
7 git-codeowners [--version|--help|--manual]
8
9 git-codeowners [show] [--format FORMAT] [--[no-]project] [PATH...]
10
11 git-codeowners owners [--format FORMAT] [--pattern PATTERN]
12
13 git-codeowners patterns [--format FORMAT] [--owner OWNER]
14
15 git-codeowners create|update [REPO_DIRPATH|CODEOWNERS_FILEPATH]
16
17 # enable bash shell completion
18 eval "$(git-codeowners --shell-completion)"
19
20 =head1 DESCRIPTION
21
22 F<git-codeowners> is yet another CLI tool for managing F<CODEOWNERS> files in
23 git repos. In particular, it can be used to quickly find out who owns
24 a particular file in a monorepo (or monolith).
25
26 B<THIS IS EXPERIMENTAL!> The interface of this tool and its modules will
27 probably change as I field test some things. Feedback welcome.
28
29 =head1 OPTIONS
30
31 =head2 --version
32
33 Print the program name and version to C<STDOUT>, and exit.
34
35 Alias: C<-v>
36
37 =head2 --help
38
39 Print the synopsis to C<STDOUT>, and exit.
40
41 Alias: C<-h>
42
43 You can also use C<--manual> to print the full documentation.
44
45 =head2 --format
46
47 Specify the output format to use. See L</FORMAT>.
48
49 Alias: C<-f>
50
51 =head2 --shell-completion
52
53 eval "$(lintany --shell-completion)"
54
55 Print shell code to enable completion to C<STDOUT>, and exit.
56
57 Does not yet support Zsh...
58
59 =head1 COMMANDS
60
61 =head2 show
62
63 git-codeowners [show] [--format FORMAT] [--[no-]project] [PATH...]
64
65 Show owners of one or more files in a repo.
66
67 =head2 owners
68
69 git-codeowners owners [--format FORMAT] [--pattern PATTERN]
70
71 =head2 patterns
72
73 git-codeowners patterns [--format FORMAT] [--owner OWNER]
74
75 =head2 create
76
77 git-codeowners create [REPO_DIRPATH|CODEOWNERS_FILEPATH]
78
79 Create a new F<CODEOWNERS> file for a specified repo (or current directory).
80
81 =head2 update
82
83 git-codeowners update [REPO_DIRPATH|CODEOWNERS_FILEPATH]
84
85 Update the "unowned" list of an existing F<CODEOWNERS> file for a specified
86 repo (or current directory).
87
88 =head1 FORMAT
89
90 The C<--format> argument can be one of:
91
92 =for :list
93 * C<csv> - Comma-separated values (requires L<Text::CSV>)
94 * C<json:pretty> - Pretty JSON (requires L<JSON::MaybeXS>)
95 * C<json> - JSON (requires L<JSON::MaybeXS>)
96 * C<table> - Table (requires L<Text::Table>)
97 * C<tsv> - Tab-separated values (requires L<Text::CSV>)
98 * C<yaml> - YAML (requires L<YAML>)
99 * C<FORMAT> - Custom format (see below)
100
101 You can specify a custom format using printf-like format sequences.
102
103 =cut
104
105 # FATPACK - Do not remove this line.
106
107 use warnings;
108 use strict;
109
110 use App::Codeowners;
111
112 our $VERSION = '9999.999'; # VERSION
113
114 App::Codeowners->main(@ARGV);
This page took 0.038793 seconds and 4 git commands to generate.