Open
Description
It would be cool if this outputs to YAML. Do you accept pull requests?
Here's a fast proof of concept I use with awk
.
Example output
The following example assumes I have ~/usr/bin
in my $PATH
.
$ curl -sSfL https://github.com/hmarr/codeowners/releases/download/v1.2.1/codeowners_1.2.1_darwin_arm64.tar.gz | tar -xz -C ~/usr/bin/ codeowners
$ cat > ~/usr/bin/codeowners-to-yaml.awk <<'EOF'
#!/usr/bin/awk -f
BEGIN {
print "codeowners:";
};
{
print " - file: \""$1"\"\n reviewers:";
for(i=2; i<=NF; i++) {
print " - \""$i"\"";
}
}
EOF
$ chmod 755 ~/usr/bin/codeowners-to-yaml.awk
$ git diff --diff-filter=AM --name-only "$(git merge-base origin/main HEAD)" HEAD | xargs codeowners | codeowners-to-yaml.awk
codeowners:
- file: "some-file"
reviewers:
- "@org/team1"
- "@org/team2"
- file: "another-file"
reviewers:
- "@org/team3"
The YAML produced by the above PoC from codeowners
output.
codeowners:
- file: "some-file"
reviewers:
- "@org/team1"
- "@org/team2"
- file: "another-file"
reviewers:
- "@org/team3"
Metadata
Metadata
Assignees
Labels
No labels